Skip to content

Commit 0a60eee

Browse files
Bits & bobs
WIP for adding labels and annotations to the injected sidecar pod.
1 parent 67cac6f commit 0a60eee

File tree

3 files changed

+40
-16
lines changed

3 files changed

+40
-16
lines changed

common/flagdproxy/flagdproxy.go

+13-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package flagdproxy
33
import (
44
"context"
55
"fmt"
6+
"maps"
67
"reflect"
78

89
"github.com/go-logr/logr"
@@ -39,6 +40,8 @@ type FlagdProxyConfiguration struct {
3940
Namespace string
4041
OperatorDeploymentName string
4142
ImagePullSecrets []string
43+
Labels map[string]string
44+
Annotations map[string]string
4245
}
4346

4447
func NewFlagdProxyConfiguration(env types.EnvConfig, imagePullSecrets []string) *FlagdProxyConfiguration {
@@ -151,6 +154,14 @@ func (f *FlagdProxyHandler) newFlagdProxyManifest(ownerReference *metav1.OwnerRe
151154
Name: secret,
152155
})
153156
}
157+
flagdLabels := map[string]string{
158+
"app": FlagdProxyDeploymentName,
159+
"app.kubernetes.io/name": FlagdProxyDeploymentName,
160+
"app.kubernetes.io/managed-by": common.ManagedByAnnotationValue,
161+
"app.kubernetes.io/version": f.config.Tag,
162+
}
163+
maps.Copy(flagdLabels, f.config.Labels)
164+
flagdAnnotations := map[string]string{}
154165

155166
return &appsV1.Deployment{
156167
ObjectMeta: metav1.ObjectMeta{
@@ -172,12 +183,8 @@ func (f *FlagdProxyHandler) newFlagdProxyManifest(ownerReference *metav1.OwnerRe
172183
},
173184
Template: corev1.PodTemplateSpec{
174185
ObjectMeta: metav1.ObjectMeta{
175-
Labels: map[string]string{
176-
"app": FlagdProxyDeploymentName,
177-
"app.kubernetes.io/name": FlagdProxyDeploymentName,
178-
"app.kubernetes.io/managed-by": common.ManagedByAnnotationValue,
179-
"app.kubernetes.io/version": f.config.Tag,
180-
},
186+
Labels: flagdLabels,
187+
Annotations: flagdAnnotations,
181188
},
182189
Spec: corev1.PodSpec{
183190
ServiceAccountName: FlagdProxyServiceAccountName,

config/overlays/helm/manager.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ spec:
112112
- --sidecar-ram-request={{ .Values.sidecarConfiguration.resources.requests.memory }}
113113
- --image-pull-secrets={{ range .Values.imagePullSecrets }}{{ .name }},{{- end }}
114114
- --metrics-bind-address=:{{ .Values.managerConfig.controllerManagerConfigYaml.metrics.bindPort }}
115+
- --labels={{- join "," (range $key, $value := .Values.labels -}}{{- printf "%s:%s" $key $value -}}{{- end) -}}
116+
- --annotations={{- join "," (range $key, $value := .Values.annotations -}}{{- printf "%s:%s" $key $value -}}{{- end) -}}
115117
- name: kube-rbac-proxy
116118
image: "{{ .Values.controllerManager.kubeRbacProxy.image.repository }}:{{ .Values.controllerManager.kubeRbacProxy.image.tag }}"
117119
resources:

main.go

+25-10
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,27 @@ const (
5858
metricsBindAddressFlagName = "metrics-bind-address"
5959
verboseFlagName = "verbose"
6060
leaderElectFlagName = "leader-elect"
61-
sidecarCpuLimitFlagName = "sidecar-cpu-limit"
62-
sidecarRamLimitFlagName = "sidecar-ram-limit"
63-
sidecarCpuRequestFlagName = "sidecar-cpu-request"
64-
sidecarRamRequestFlagName = "sidecar-ram-request"
65-
sidecarCpuLimitDefault = "0.5"
66-
sidecarRamLimitDefault = "64M"
67-
sidecarCpuRequestDefault = "0.2"
68-
sidecarRamRequestDefault = "32M"
69-
imagePullSecretFlagName = "image-pull-secrets"
70-
imagePullSecretFlagDefault = ""
61+
62+
sidecarCpuLimitFlagName = "sidecar-cpu-limit"
63+
sidecarCpuLimitDefault = "0.5"
64+
65+
sidecarRamLimitFlagName = "sidecar-ram-limit"
66+
sidecarRamLimitDefault = "64M"
67+
68+
sidecarCpuRequestFlagName = "sidecar-cpu-request"
69+
sidecarCpuRequestDefault = "0.2"
70+
71+
sidecarRamRequestFlagName = "sidecar-ram-request"
72+
sidecarRamRequestDefault = "32M"
73+
74+
imagePullSecretFlagName = "image-pull-secrets"
75+
imagePullSecretFlagDefault = ""
76+
77+
labelsFlagName = "labels"
78+
labelsFlagDefault = ""
79+
80+
annotationsFlagName = "annotations"
81+
annotationsFlagDefault = ""
7182
)
7283

7384
var (
@@ -79,6 +90,8 @@ var (
7990
verbose bool
8091
sidecarCpuLimit, sidecarRamLimit, sidecarCpuRequest, sidecarRamRequest string
8192
imagePullSecrets string
93+
labels string
94+
annotations string
8295
)
8396

8497
func init() {
@@ -107,6 +120,8 @@ func main() {
107120
flag.StringVar(&sidecarCpuRequest, sidecarCpuRequestFlagName, sidecarCpuRequestDefault, "sidecar CPU minimum, in cores. (500m = .5 cores)")
108121
flag.StringVar(&sidecarRamRequest, sidecarRamRequestFlagName, sidecarRamRequestDefault, "sidecar memory minimum, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024)")
109122
flag.StringVar(&imagePullSecrets, imagePullSecretFlagName, imagePullSecretFlagDefault, "Comma-delimited list of secrets containing credentials to pull images.")
123+
flag.StringVar(&labels, labelsFlagName, labelsFlagDefault, "Map of labels to add to the deployed pods. Formatted like key1:value1,key2:value2,key3:value3")
124+
flag.StringVar(&annotations, annotationsFlagName, annotationsFlagDefault, "Map of annotations to add to the deployed pods. Formatted like key1:value1,key2:value2,key3:value3")
110125

111126
flag.Parse()
112127

0 commit comments

Comments
 (0)