cert-controller-deployment.yaml 5.2 KB

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