Skip to content

Commit 9de5594

Browse files
authored
Split configmaps for thanos operator (#773)
1 parent c438133 commit 9de5594

File tree

2 files changed

+71
-14
lines changed

2 files changed

+71
-14
lines changed

magefiles/operator.go

+49-13
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ func (l Local) Operator() {
151151
}
152152

153153
func operatorResources(namespace string, m TemplateMaps) []runtime.Object {
154-
return []runtime.Object{
154+
objs := []runtime.Object{
155155
&corev1.ServiceAccount{
156156
TypeMeta: metav1.TypeMeta{
157157
APIVersion: "v1",
@@ -797,31 +797,49 @@ func operatorResources(namespace string, m TemplateMaps) []runtime.Object {
797797
},
798798
},
799799
operatorDeployment(namespace, m),
800-
operatorServingCertConfigMap(namespace),
801800
}
801+
for _, cm := range operatorServingCertConfigMaps(namespace) {
802+
objs = append(objs, cm)
803+
}
804+
return objs
802805
}
803806

804-
func operatorServingCertConfigMap(namespace string) *corev1.ConfigMap {
805-
return &corev1.ConfigMap{
807+
func operatorServingCertConfigMaps(namespace string) []*corev1.ConfigMap {
808+
labels := map[string]string{
809+
"app.kubernetes.io/component": "manager",
810+
"app.kubernetes.io/created-by": "thanos-operator",
811+
"app.kubernetes.io/instance": "controller-manager",
812+
"app.kubernetes.io/managed-by": "rhobs",
813+
"app.kubernetes.io/name": "configmap",
814+
"app.kubernetes.io/part-of": "thanos-operator",
815+
}
816+
817+
serviceCert := &corev1.ConfigMap{
806818
TypeMeta: metav1.TypeMeta{
807819
APIVersion: "v1",
808820
Kind: "ConfigMap",
809821
},
810822
ObjectMeta: metav1.ObjectMeta{
811823
Name: "thanos-operator-serving-cert",
812824
Namespace: namespace,
813-
Labels: map[string]string{
814-
"app.kubernetes.io/component": "manager",
815-
"app.kubernetes.io/created-by": "thanos-operator",
816-
"app.kubernetes.io/instance": "controller-manager",
817-
"app.kubernetes.io/managed-by": "rhobs",
818-
"app.kubernetes.io/name": "configmap",
819-
"app.kubernetes.io/part-of": "thanos-operator",
820-
},
825+
Labels: labels,
821826
Annotations: map[string]string{
822827
"service.beta.openshift.io/inject-cabundle": "true",
823828
},
824829
},
830+
Data: map[string]string{},
831+
}
832+
833+
rbacConfig := &corev1.ConfigMap{
834+
TypeMeta: metav1.TypeMeta{
835+
APIVersion: "v1",
836+
Kind: "ConfigMap",
837+
},
838+
ObjectMeta: metav1.ObjectMeta{
839+
Name: "thanos-operator-rbac-config",
840+
Namespace: namespace,
841+
Labels: labels,
842+
},
825843
Data: map[string]string{
826844
"config.yaml": `"authorization":
827845
"static":
@@ -832,6 +850,7 @@ func operatorServingCertConfigMap(namespace string) *corev1.ConfigMap {
832850
"verb": "get"`,
833851
},
834852
}
853+
return []*corev1.ConfigMap{serviceCert, rbacConfig}
835854
}
836855

837856
func operatorDeployment(namespace string, m TemplateMaps) *appsv1.Deployment {
@@ -893,7 +912,7 @@ func operatorDeployment(namespace string, m TemplateMaps) *appsv1.Deployment {
893912
"--tls-cert-file=/etc/tls/private/tls.crt",
894913
"--tls-private-key-file=/etc/tls/private/tls.key",
895914
"--client-ca-file=/etc/service-ca/service-ca.crt",
896-
"--config-file=/etc/service-ca/config.yaml",
915+
"--config-file=/etc/config/config.yaml",
897916
},
898917
VolumeMounts: []corev1.VolumeMount{
899918
{
@@ -906,6 +925,11 @@ func operatorDeployment(namespace string, m TemplateMaps) *appsv1.Deployment {
906925
MountPath: "/etc/service-ca",
907926
ReadOnly: true,
908927
},
928+
{
929+
Name: "config",
930+
MountPath: "/etc/config",
931+
ReadOnly: true,
932+
},
909933
},
910934
Ports: []corev1.ContainerPort{
911935
{
@@ -994,6 +1018,18 @@ func operatorDeployment(namespace string, m TemplateMaps) *appsv1.Deployment {
9941018
},
9951019
},
9961020
},
1021+
{
1022+
Name: "config",
1023+
VolumeSource: corev1.VolumeSource{
1024+
ConfigMap: &corev1.ConfigMapVolumeSource{
1025+
LocalObjectReference: corev1.LocalObjectReference{
1026+
Name: "thanos-operator-rbac-config",
1027+
},
1028+
DefaultMode: ptr.To(int32(420)),
1029+
Optional: ptr.To(false),
1030+
},
1031+
},
1032+
},
9971033
},
9981034
ServiceAccountName: "thanos-operator-controller-manager",
9991035
TerminationGracePeriodSeconds: ptr.To(int64(10)),

resources/services/bundle/staging/operator.yaml

+22-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ objects:
7171
- --tls-cert-file=/etc/tls/private/tls.crt
7272
- --tls-private-key-file=/etc/tls/private/tls.key
7373
- --client-ca-file=/etc/service-ca/service-ca.crt
74-
- --config-file=/etc/service-ca/config.yaml
74+
- --config-file=/etc/config/config.yaml
7575
image: registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:98455d503b797b6b02edcfd37045c8fab0796b95ee5cf4cfe73b221a07e805f0
7676
imagePullPolicy: IfNotPresent
7777
name: kube-rbac-proxy
@@ -98,6 +98,9 @@ objects:
9898
- mountPath: /etc/service-ca
9999
name: service-ca
100100
readOnly: true
101+
- mountPath: /etc/config
102+
name: config
103+
readOnly: true
101104
- args:
102105
- --health-probe-bind-address=:8081
103106
- --metrics-bind-address=127.0.0.1:8080
@@ -156,6 +159,11 @@ objects:
156159
name: openshift-service-ca.crt
157160
optional: false
158161
name: service-ca
162+
- configMap:
163+
defaultMode: 420
164+
name: thanos-operator-rbac-config
165+
optional: false
166+
name: config
159167
status: {}
160168
- apiVersion: v1
161169
kind: ServiceAccount
@@ -450,6 +458,19 @@ objects:
450458
"name": "system:serviceaccount:openshift-customer-monitoring:prometheus-k8s"
451459
"verb": "get"
452460
kind: ConfigMap
461+
metadata:
462+
creationTimestamp: null
463+
labels:
464+
app.kubernetes.io/component: manager
465+
app.kubernetes.io/created-by: thanos-operator
466+
app.kubernetes.io/instance: controller-manager
467+
app.kubernetes.io/managed-by: rhobs
468+
app.kubernetes.io/name: configmap
469+
app.kubernetes.io/part-of: thanos-operator
470+
name: thanos-operator-rbac-config
471+
namespace: rhobs-stage
472+
- apiVersion: v1
473+
kind: ConfigMap
453474
metadata:
454475
annotations:
455476
service.beta.openshift.io/inject-cabundle: "true"

0 commit comments

Comments
 (0)