From 8cc80b5b17217df9831c3a816ad9457a9cff0fc3 Mon Sep 17 00:00:00 2001 From: Shubham Bajpai Date: Tue, 11 May 2021 15:29:35 +0530 Subject: [PATCH] fix(operator): use configurable serviceAccount (#89) Signed-off-by: shubham --- deploy/operator.yaml | 4 ++++ pkg/controllers/jivavolume_controller.go | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/deploy/operator.yaml b/deploy/operator.yaml index 93381ee..4201086 100644 --- a/deploy/operator.yaml +++ b/deploy/operator.yaml @@ -3302,6 +3302,10 @@ spec: valueFrom: fieldRef: fieldPath: metadata.name + - name: OPENEBS_SERVICEACCOUNT_NAME + valueFrom: + fieldRef: + fieldPath: spec.serviceAccountName - name: OPERATOR_NAME value: "jiva-operator" - name: OPENEBS_IO_JIVA_CONTROLLER_IMAGE diff --git a/pkg/controllers/jivavolume_controller.go b/pkg/controllers/jivavolume_controller.go index 87ace41..32a0c76 100644 --- a/pkg/controllers/jivavolume_controller.go +++ b/pkg/controllers/jivavolume_controller.go @@ -80,7 +80,6 @@ const ( pdbAPIVersion = "policyv1beta1" defaultStorageClass = "openebs-hostpath" defaultReplicationFactor = 3 - jivaOperator = "jiva-operator" ) type policyOptFuncs func(*openebsiov1alpha1.JivaVolumePolicySpec, openebsiov1alpha1.JivaVolumePolicySpec) @@ -95,6 +94,8 @@ var ( } updateErrMsg = "Failed to update JivaVolume with service info" + + defaultServiceAccountName = os.Getenv("OPENEBS_SERVICEACCOUNT_NAME") ) // +kubebuilder:rbac:groups=openebs.io.openebs.io,resources=jivavolumes,verbs=get;list;watch;create;update;patch;delete @@ -353,7 +354,7 @@ func createControllerDeployment(r *JivaVolumeReconciler, cr *openebsiov1alpha1.J func() *pts.Builder { ptsBuilder := pts.NewBuilder(). WithLabels(defaultControllerLabels(cr.Spec.PV)). - WithServiceAccountName(jivaOperator). + WithServiceAccountName(defaultServiceAccountName). WithAnnotations(defaultAnnotations()). WithTolerations(cr.Spec.Policy.Target.Tolerations...). WithContainerBuilders( @@ -584,7 +585,7 @@ func createReplicaStatefulSet(r *JivaVolumeReconciler, cr *openebsiov1alpha1.Jiv func() *pts.Builder { ptsBuilder := pts.NewBuilder(). WithLabels(defaultReplicaLabels(cr.Spec.PV)). - WithServiceAccountName(jivaOperator). + WithServiceAccountName(defaultServiceAccountName). WithAffinity(&corev1.Affinity{ PodAntiAffinity: &corev1.PodAntiAffinity{ RequiredDuringSchedulingIgnoredDuringExecution: []corev1.PodAffinityTerm{