decouple clusterrole name and serviceaccount name (#581)
Decouple clusterrole name and service account name.
This commit is contained in:
parent
bbf28c4df7
commit
6fbfee3903
|
|
@ -197,25 +197,25 @@ func (c *Controller) initRoleBinding() {
|
||||||
// operator binds it to the cluster role with sufficient privileges
|
// operator binds it to the cluster role with sufficient privileges
|
||||||
// we assume the role is created by the k8s administrator
|
// we assume the role is created by the k8s administrator
|
||||||
if c.opConfig.PodServiceAccountRoleBindingDefinition == "" {
|
if c.opConfig.PodServiceAccountRoleBindingDefinition == "" {
|
||||||
c.opConfig.PodServiceAccountRoleBindingDefinition = `
|
c.opConfig.PodServiceAccountRoleBindingDefinition = fmt.Sprintf(`
|
||||||
{
|
{
|
||||||
"apiVersion": "rbac.authorization.k8s.io/v1beta1",
|
"apiVersion": "rbac.authorization.k8s.io/v1beta1",
|
||||||
"kind": "RoleBinding",
|
"kind": "RoleBinding",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "zalando-postgres-operator"
|
"name": "%s"
|
||||||
},
|
},
|
||||||
"roleRef": {
|
"roleRef": {
|
||||||
"apiGroup": "rbac.authorization.k8s.io",
|
"apiGroup": "rbac.authorization.k8s.io",
|
||||||
"kind": "ClusterRole",
|
"kind": "ClusterRole",
|
||||||
"name": "zalando-postgres-operator"
|
"name": "%s"
|
||||||
},
|
},
|
||||||
"subjects": [
|
"subjects": [
|
||||||
{
|
{
|
||||||
"kind": "ServiceAccount",
|
"kind": "ServiceAccount",
|
||||||
"name": "operator"
|
"name": "%s"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}`
|
}`, c.PodServiceAccount.Name, c.PodServiceAccount.Name, c.PodServiceAccount.Name)
|
||||||
}
|
}
|
||||||
c.logger.Info("Parse role bindings")
|
c.logger.Info("Parse role bindings")
|
||||||
// re-uses k8s internal parsing. See k8s client-go issue #193 for explanation
|
// re-uses k8s internal parsing. See k8s client-go issue #193 for explanation
|
||||||
|
|
@ -230,9 +230,6 @@ func (c *Controller) initRoleBinding() {
|
||||||
default:
|
default:
|
||||||
c.PodServiceAccountRoleBinding = obj.(*rbacv1beta1.RoleBinding)
|
c.PodServiceAccountRoleBinding = obj.(*rbacv1beta1.RoleBinding)
|
||||||
c.PodServiceAccountRoleBinding.Namespace = ""
|
c.PodServiceAccountRoleBinding.Namespace = ""
|
||||||
c.PodServiceAccountRoleBinding.ObjectMeta.Name = c.PodServiceAccount.Name
|
|
||||||
c.PodServiceAccountRoleBinding.RoleRef.Name = c.PodServiceAccount.Name
|
|
||||||
c.PodServiceAccountRoleBinding.Subjects[0].Name = c.PodServiceAccount.Name
|
|
||||||
c.logger.Info("successfully parsed")
|
c.logger.Info("successfully parsed")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue