{{- if .Values.etcd.managed }} apiVersion: apps/v1 kind: Deployment metadata: labels: io.cilium/app: etcd-operator name: cilium-etcd-operator app.kubernetes.io/name: cilium-etcd-operator app.kubernetes.io/part-of: cilium name: cilium-etcd-operator namespace: {{ .Release.Namespace }} {{- with .Values.etcd.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: replicas: 1 selector: matchLabels: io.cilium/app: etcd-operator name: cilium-etcd-operator {{- with .Values.etcd.updateStrategy }} strategy: {{- toYaml . | trim | nindent 4 }} {{- end }} template: metadata: {{- with .Values.etcd.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: io.cilium/app: etcd-operator app.kubernetes.io/part-of: cilium app.kubernetes.io/name: cilium-etcd-operator name: cilium-etcd-operator {{- with .Values.etcd.podLabels }} {{- toYaml . | nindent 8 }} {{- end }} spec: {{- if .Values.etcd.affinity }} affinity: {{ toYaml .Values.etcd.affinity | indent 8 }} {{- end }} {{- with .Values.etcd.topologySpreadConstraints }} topologySpreadConstraints: {{- range $constraint := . }} - {{ toYaml $constraint | nindent 8 | trim }} {{- if not $constraint.labelSelector }} labelSelector: matchLabels: io.cilium/app: etcd-operator name: cilium-etcd-operator {{- end }} {{- end }} {{- end }} {{- if .Values.imagePullSecrets }} imagePullSecrets: {{ toYaml .Values.imagePullSecrets | indent 8 }} {{- end }} {{- with .Values.etcd.podSecurityContext }} securityContext: {{- toYaml . | nindent 8 }} {{- end }} containers: - args: {{- with .Values.etcd.extraArgs }} {{- toYaml . | trim | nindent 8 }} {{- end }} #- --etcd-node-selector=disktype=ssd,cputype=high command: - /usr/bin/cilium-etcd-operator env: - name: CILIUM_ETCD_OPERATOR_CLUSTER_DOMAIN value: "{{ .Values.etcd.clusterDomain }}" - name: CILIUM_ETCD_OPERATOR_ETCD_CLUSTER_SIZE value: "{{ .Values.etcd.clusterSize }}" - name: CILIUM_ETCD_OPERATOR_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: CILIUM_ETCD_OPERATOR_POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: CILIUM_ETCD_OPERATOR_POD_UID valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.uid - name: CILIUM_ETCD_META_ETCD_AUTO_COMPACTION_MODE value: "revision" - name: CILIUM_ETCD_META_ETCD_AUTO_COMPACTION_RETENTION value: "25000" image: {{ include "cilium.image" .Values.etcd.image | quote }} imagePullPolicy: {{ .Values.etcd.image.pullPolicy }} name: cilium-etcd-operator terminationMessagePolicy: FallbackToLogsOnError {{- with .Values.etcd.securityContext }} securityContext: {{- toYaml . | trim | nindent 8 }} {{- end }} {{- with .Values.etcd.extraVolumeMounts }} volumeMounts: {{- toYaml . | nindent 8 }} {{- end }} dnsPolicy: ClusterFirst hostNetwork: true priorityClassName: {{ include "cilium.priorityClass" (list $ .Values.clustermesh.apiserver.priorityClassName "system-cluster-critical") }} restartPolicy: Always serviceAccount: {{ .Values.serviceAccounts.etcd.name | quote }} serviceAccountName: {{ .Values.serviceAccounts.etcd.name | quote }} automountServiceAccountToken: {{ .Values.serviceAccounts.etcd.automount }} {{- with .Values.etcd.nodeSelector }} nodeSelector: {{- toYaml . | trim | nindent 8 }} {{- end }} {{- with .Values.etcd.tolerations }} tolerations: {{- toYaml . | trim | nindent 6 }} {{- end }} {{- with .Values.etcd.extraVolumes }} volumes: {{- toYaml . | nindent 6 }} {{- end }} {{- end }}