Skip to content
This repository has been archived by the owner on Jul 30, 2021. It is now read-only.

pkg/asset: Add flannel service account and RBAC #869

Merged
merged 1 commit into from
Feb 1, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions pkg/asset/asset.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ const (
AssetPathProxy = "manifests/kube-proxy.yaml"
AssetPathProxySA = "manifests/kube-proxy-sa.yaml"
AssetPathProxyRoleBinding = "manifests/kube-proxy-role-binding.yaml"
AssetPathKubeFlannel = "manifests/kube-flannel.yaml"
AssetPathKubeFlannelCfg = "manifests/kube-flannel-cfg.yaml"
AssetPathFlannel = "manifests/flannel.yaml"
AssetPathFlannelCfg = "manifests/flannel-cfg.yaml"
AssetPathFlannelClusterRole = "manifests/flannel-cluster-role.yaml"
AssetPathFlannelClusterRoleBinding = "manifests/flannel-cluster-role-binding.yaml"
AssetPathFlannelSA = "manifests/flannel-sa.yaml"
AssetPathCalico = "manifests/calico.yaml"
AssetPathCalicoPolicyOnly = "manifests/calico-policy-only.yaml"
AssetPathCalicoCfg = "manifests/calico-config.yaml"
Expand Down
52 changes: 50 additions & 2 deletions pkg/asset/internal/templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -1045,7 +1045,54 @@ spec:
dnsPolicy: ClusterFirstWithHostNet
`)

var KubeFlannelCfgTemplate = []byte(`apiVersion: v1
var FlannelClusterRole = []byte(`apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: flannel
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- ""
resources:
- nodes
verbs:
- list
- watch
- apiGroups:
- ""
resources:
- nodes/status
verbs:
- patch
`)

var FlannelClusterRoleBinding = []byte(`apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: flannel
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: flannel
subjects:
- kind: ServiceAccount
name: flannel
namespace: kube-system
`)

var FlannelServiceAccount = []byte(`apiVersion: v1
kind: ServiceAccount
metadata:
name: flannel
namespace: kube-system
`)

var FlannelCfgTemplate = []byte(`apiVersion: v1
kind: ConfigMap
metadata:
name: kube-flannel-cfg
Expand Down Expand Up @@ -1083,7 +1130,7 @@ data:
}
`)

var KubeFlannelTemplate = []byte(`apiVersion: apps/v1beta2
var FlannelTemplate = []byte(`apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
name: kube-flannel
Expand All @@ -1102,6 +1149,7 @@ spec:
tier: node
k8s-app: flannel
spec:
serviceAccountName: flannel
containers:
- name: kube-flannel
image: {{ .Images.Flannel }}
Expand Down
7 changes: 5 additions & 2 deletions pkg/asset/k8s.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,11 @@ func newDynamicAssets(conf Config) Assets {
switch conf.NetworkProvider {
case NetworkFlannel:
assets = append(assets,
MustCreateAssetFromTemplate(AssetPathKubeFlannelCfg, internal.KubeFlannelCfgTemplate, conf),
MustCreateAssetFromTemplate(AssetPathKubeFlannel, internal.KubeFlannelTemplate, conf),
MustCreateAssetFromTemplate(AssetPathFlannel, internal.FlannelTemplate, conf),
MustCreateAssetFromTemplate(AssetPathFlannelCfg, internal.FlannelCfgTemplate, conf),
MustCreateAssetFromTemplate(AssetPathFlannelClusterRole, internal.FlannelClusterRole, conf),
MustCreateAssetFromTemplate(AssetPathFlannelClusterRoleBinding, internal.FlannelClusterRoleBinding, conf),
MustCreateAssetFromTemplate(AssetPathFlannelSA, internal.FlannelServiceAccount, conf),
)
case NetworkCalico:
assets = append(assets,
Expand Down