cert-controller-deployment.yaml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. {{- if and .Values.certController.create (not .Values.webhook.certManager.enabled) }}
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. name: {{ include "external-secrets.fullname" . }}-cert-controller
  6. namespace: {{ template "external-secrets.namespace" . }}
  7. labels:
  8. {{- include "external-secrets-cert-controller.labels" . | nindent 4 }}
  9. {{- with .Values.certController.deploymentAnnotations }}
  10. annotations:
  11. {{- toYaml . | nindent 4 }}
  12. {{- end }}
  13. spec:
  14. replicas: {{ .Values.certController.replicaCount }}
  15. revisionHistoryLimit: {{ .Values.certController.revisionHistoryLimit }}
  16. selector:
  17. matchLabels:
  18. {{- include "external-secrets-cert-controller.selectorLabels" . | nindent 6 }}
  19. {{- with .Values.certController.strategy }}
  20. strategy:
  21. {{- toYaml . | nindent 4 }}
  22. {{- end }}
  23. template:
  24. metadata:
  25. {{- with .Values.certController.podAnnotations }}
  26. annotations:
  27. {{- toYaml . | nindent 8 }}
  28. {{- end }}
  29. labels:
  30. {{- include "external-secrets-cert-controller.labels" . | nindent 8 }}
  31. {{- with .Values.certController.podLabels }}
  32. {{- toYaml . | nindent 8 }}
  33. {{- end }}
  34. spec:
  35. {{- with .Values.certController.imagePullSecrets }}
  36. imagePullSecrets:
  37. {{- toYaml . | nindent 8 }}
  38. {{- end }}
  39. serviceAccountName: {{ include "external-secrets-cert-controller.serviceAccountName" . }}
  40. automountServiceAccountToken: {{ .Values.certController.serviceAccount.automount }}
  41. {{- with .Values.certController.podSecurityContext }}
  42. {{- if and (.enabled) (gt (keys . | len) 1) }}
  43. securityContext:
  44. {{- include "external-secrets.renderSecurityContext" (dict "securityContext" . "context" $) | nindent 8 }}
  45. {{- end }}
  46. {{- end }}
  47. hostNetwork: {{ .Values.certController.hostNetwork }}
  48. containers:
  49. - name: cert-controller
  50. {{- with .Values.certController.securityContext }}
  51. {{- if and (.enabled) (gt (keys . | len) 1) }}
  52. securityContext:
  53. {{- include "external-secrets.renderSecurityContext" (dict "securityContext" . "context" $) | nindent 12 }}
  54. {{- end }}
  55. {{- end }}
  56. image: {{ include "external-secrets.image" (dict "chartAppVersion" .Chart.AppVersion "image" .Values.certController.image) | trim }}
  57. imagePullPolicy: {{ .Values.certController.image.pullPolicy }}
  58. args:
  59. - certcontroller
  60. - --crd-requeue-interval={{ .Values.certController.requeueInterval }}
  61. - --service-name={{ include "external-secrets.fullname" . }}-webhook
  62. - --service-namespace={{ template "external-secrets.namespace" . }}
  63. - --secret-name={{ include "external-secrets.fullname" . }}-webhook
  64. - --secret-namespace={{ template "external-secrets.namespace" . }}
  65. - --metrics-addr=:{{ .Values.certController.metrics.listen.port }}
  66. - --healthz-addr={{ .Values.certController.readinessProbe.address }}:{{ .Values.certController.readinessProbe.port }}
  67. - --loglevel={{ .Values.certController.log.level }}
  68. - --zap-time-encoding={{ .Values.certController.log.timeEncoding }}
  69. {{- if not .Values.crds.createClusterSecretStore }}
  70. - --crd-names=externalsecrets.external-secrets.io
  71. - --crd-names=secretstores.external-secrets.io
  72. {{- end }}
  73. {{- if .Values.installCRDs }}
  74. - --enable-partial-cache=true
  75. {{- end }}
  76. {{- range $key, $value := .Values.certController.extraArgs }}
  77. {{- if $value }}
  78. - --{{ $key }}={{ $value }}
  79. {{- else }}
  80. - --{{ $key }}
  81. {{- end }}
  82. {{- end }}
  83. ports:
  84. - containerPort: {{ .Values.certController.metrics.listen.port }}
  85. protocol: TCP
  86. name: metrics
  87. readinessProbe:
  88. httpGet:
  89. port: {{ .Values.certController.readinessProbe.port }}
  90. path: /readyz
  91. initialDelaySeconds: 20
  92. periodSeconds: 5
  93. {{- with .Values.certController.extraEnv }}
  94. env:
  95. {{- toYaml . | nindent 12 }}
  96. {{- end }}
  97. {{- with .Values.certController.resources }}
  98. resources:
  99. {{- toYaml . | nindent 12 }}
  100. {{- end }}
  101. {{- if .Values.certController.extraVolumeMounts }}
  102. volumeMounts:
  103. {{- toYaml .Values.certController.extraVolumeMounts | nindent 12 }}
  104. {{- end }}
  105. {{- with .Values.certController.extraInitContainers }}
  106. initContainers:
  107. {{- tpl (toYaml . | nindent 8) $ }}
  108. {{- end }}
  109. {{- if .Values.certController.extraVolumes }}
  110. volumes:
  111. {{- toYaml .Values.certController.extraVolumes | nindent 8 }}
  112. {{- end }}
  113. {{- with .Values.certController.nodeSelector | default .Values.global.nodeSelector }}
  114. nodeSelector:
  115. {{- toYaml . | nindent 8 }}
  116. {{- end }}
  117. {{- with .Values.certController.affinity | default .Values.global.affinity }}
  118. affinity:
  119. {{- toYaml . | nindent 8 }}
  120. {{- end }}
  121. {{- with .Values.certController.tolerations | default .Values.global.tolerations }}
  122. tolerations:
  123. {{- toYaml . | nindent 8 }}
  124. {{- end }}
  125. {{- with .Values.certController.topologySpreadConstraints | default .Values.global.topologySpreadConstraints }}
  126. topologySpreadConstraints:
  127. {{- toYaml . | nindent 8 }}
  128. {{- end }}
  129. {{- if .Values.certController.priorityClassName }}
  130. priorityClassName: {{ .Values.certController.priorityClassName }}
  131. {{- end }}
  132. {{- end }}