feat(core): Support ServiceAccountName for broker/nameserver/console
Add setting of ServiceAccountName to support installment on OpenShift, because in OpenShift, it will set ServiceAccountName explicitly.
diff --git a/deploy/crds/rocketmq.apache.org_brokers.yaml b/deploy/crds/rocketmq.apache.org_brokers.yaml
index 0913285..783ed48 100644
--- a/deploy/crds/rocketmq.apache.org_brokers.yaml
+++ b/deploy/crds/rocketmq.apache.org_brokers.yaml
@@ -36,6 +36,9 @@
spec:
description: BrokerSpec defines the desired state of Broker
properties:
+ ServiceAccountName:
+ description: ServiceAccountName
+ type: string
affinity:
description: Affinity the pod's scheduling constraints
properties:
diff --git a/deploy/crds/rocketmq.apache.org_nameservices.yaml b/deploy/crds/rocketmq.apache.org_nameservices.yaml
index 3f9af7c..0877659 100644
--- a/deploy/crds/rocketmq.apache.org_nameservices.yaml
+++ b/deploy/crds/rocketmq.apache.org_nameservices.yaml
@@ -36,6 +36,9 @@
spec:
description: NameServiceSpec defines the desired state of NameService
properties:
+ ServiceAccountName:
+ description: ServiceAccountName
+ type: string
affinity:
description: Affinity the pod's scheduling constraints
properties:
diff --git a/pkg/apis/rocketmq/v1alpha1/broker_types.go b/pkg/apis/rocketmq/v1alpha1/broker_types.go
index 3a7332b..34876ba 100644
--- a/pkg/apis/rocketmq/v1alpha1/broker_types.go
+++ b/pkg/apis/rocketmq/v1alpha1/broker_types.go
@@ -70,6 +70,8 @@
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// PriorityClassName indicates the pod's priority
PriorityClassName string `json:"priorityClassName,omitempty"`
+ // ServiceAccountName
+ ServiceAccountName string `json:"ServiceAccountName,omitempty"`
}
// BrokerStatus defines the observed state of Broker
diff --git a/pkg/apis/rocketmq/v1alpha1/nameservice_types.go b/pkg/apis/rocketmq/v1alpha1/nameservice_types.go
index d6ac017..41fd980 100644
--- a/pkg/apis/rocketmq/v1alpha1/nameservice_types.go
+++ b/pkg/apis/rocketmq/v1alpha1/nameservice_types.go
@@ -63,6 +63,8 @@
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// PriorityClassName indicates the pod's priority
PriorityClassName string `json:"priorityClassName,omitempty"`
+ // ServiceAccountName
+ ServiceAccountName string `json:"ServiceAccountName,omitempty"`
}
// NameServiceStatus defines the observed state of NameService
diff --git a/pkg/controller/broker/broker_controller.go b/pkg/controller/broker/broker_controller.go
index ab0870d..8145263 100644
--- a/pkg/controller/broker/broker_controller.go
+++ b/pkg/controller/broker/broker_controller.go
@@ -426,11 +426,12 @@
Labels: ls,
},
Spec: corev1.PodSpec{
- Affinity: broker.Spec.Affinity,
- Tolerations: broker.Spec.Tolerations,
- NodeSelector: broker.Spec.NodeSelector,
- PriorityClassName: broker.Spec.PriorityClassName,
- ImagePullSecrets: broker.Spec.ImagePullSecrets,
+ ServiceAccountName: broker.Spec.ServiceAccountName,
+ Affinity: broker.Spec.Affinity,
+ Tolerations: broker.Spec.Tolerations,
+ NodeSelector: broker.Spec.NodeSelector,
+ PriorityClassName: broker.Spec.PriorityClassName,
+ ImagePullSecrets: broker.Spec.ImagePullSecrets,
Containers: []corev1.Container{{
Resources: broker.Spec.Resources,
Image: broker.Spec.BrokerImage,
diff --git a/pkg/controller/console/console_controller.go b/pkg/controller/console/console_controller.go
index f97814e..2fa1313 100644
--- a/pkg/controller/console/console_controller.go
+++ b/pkg/controller/console/console_controller.go
@@ -201,7 +201,9 @@
Labels: cr.Spec.ConsoleDeployment.Spec.Template.ObjectMeta.Labels,
},
Spec: corev1.PodSpec{
- ImagePullSecrets: cr.Spec.ConsoleDeployment.Spec.Template.Spec.ImagePullSecrets,
+ ServiceAccountName: cr.Spec.ConsoleDeployment.Spec.Template.Spec.ServiceAccountName,
+ Affinity: cr.Spec.ConsoleDeployment.Spec.Template.Spec.Affinity,
+ ImagePullSecrets: cr.Spec.ConsoleDeployment.Spec.Template.Spec.ImagePullSecrets,
Containers: []corev1.Container{{
Resources: cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Resources,
Image: cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Image,
diff --git a/pkg/controller/nameservice/nameservice_controller.go b/pkg/controller/nameservice/nameservice_controller.go
index 080a125..cb488bc 100644
--- a/pkg/controller/nameservice/nameservice_controller.go
+++ b/pkg/controller/nameservice/nameservice_controller.go
@@ -350,13 +350,14 @@
Labels: ls,
},
Spec: corev1.PodSpec{
- Affinity: nameService.Spec.Affinity,
- Tolerations: nameService.Spec.Tolerations,
- NodeSelector: nameService.Spec.NodeSelector,
- PriorityClassName: nameService.Spec.PriorityClassName,
- HostNetwork: nameService.Spec.HostNetwork,
- DNSPolicy: nameService.Spec.DNSPolicy,
- ImagePullSecrets: nameService.Spec.ImagePullSecrets,
+ ServiceAccountName: nameService.Spec.ServiceAccountName,
+ Affinity: nameService.Spec.Affinity,
+ Tolerations: nameService.Spec.Tolerations,
+ NodeSelector: nameService.Spec.NodeSelector,
+ PriorityClassName: nameService.Spec.PriorityClassName,
+ HostNetwork: nameService.Spec.HostNetwork,
+ DNSPolicy: nameService.Spec.DNSPolicy,
+ ImagePullSecrets: nameService.Spec.ImagePullSecrets,
Containers: []corev1.Container{{
Resources: nameService.Spec.Resources,
Image: nameService.Spec.NameServiceImage,