values.yaml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967
  1. ---
  2. global:
  3. nodeSelector: {}
  4. tolerations: []
  5. topologySpreadConstraints: []
  6. # - maxSkew: 1
  7. # topologyKey: topology.kubernetes.io/zone
  8. # whenUnsatisfiable: ScheduleAnyway
  9. # matchLabelKeys:
  10. # - pod-template-hash
  11. # - maxSkew: 1
  12. # topologyKey: kubernetes.io/hostname
  13. # whenUnsatisfiable: DoNotSchedule
  14. # matchLabelKeys:
  15. # - pod-template-hash
  16. affinity: {}
  17. # -- Global hostAliases to be applied to all deployments
  18. hostAliases: []
  19. # -- Global pod labels to be applied to all deployments
  20. podLabels: {}
  21. # -- Global pod annotations to be applied to all deployments
  22. podAnnotations: {}
  23. # -- Global imagePullSecrets to be applied to all deployments
  24. imagePullSecrets: []
  25. # -- Global image repository to be applied to all deployments
  26. repository: ""
  27. compatibility:
  28. openshift:
  29. # -- Manages the securityContext properties to make them compatible with OpenShift.
  30. # Possible values:
  31. # auto - Apply configurations if it is detected that OpenShift is the target platform.
  32. # force - Always apply configurations.
  33. # disabled - No modification applied.
  34. adaptSecurityContext: auto
  35. replicaCount: 1
  36. bitwarden-sdk-server:
  37. enabled: false
  38. namespaceOverride: ""
  39. # -- Specifies the amount of historic ReplicaSets k8s should keep (see https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
  40. revisionHistoryLimit: 10
  41. image:
  42. repository: ghcr.io/external-secrets/external-secrets
  43. pullPolicy: IfNotPresent
  44. # -- The image tag to use. The default is the chart appVersion.
  45. tag: ""
  46. # -- The flavour of tag you want to use
  47. # There are different image flavours available, like distroless and ubi.
  48. # Please see GitHub release notes for image tags for these flavors.
  49. # By default, the distroless image is used.
  50. flavour: ""
  51. # -- If set, install and upgrade CRDs through helm chart.
  52. installCRDs: true
  53. crds:
  54. # -- If true, create CRDs for Cluster External Secret. If set to false you must also set processClusterExternalSecret: false.
  55. createClusterExternalSecret: true
  56. # -- If true, create CRDs for Cluster Secret Store. If set to false you must also set processClusterStore: false.
  57. createClusterSecretStore: true
  58. # -- If true, create CRDs for Secret Store. If set to false you must also set processSecretStore: false.
  59. createSecretStore: true
  60. # -- If true, create CRDs for Cluster Generator. If set to false you must also set processClusterGenerator: false.
  61. createClusterGenerator: true
  62. # -- If true, create CRDs for Cluster Push Secret. If set to false you must also set processClusterPushSecret: false.
  63. createClusterPushSecret: true
  64. # -- If true, create CRDs for Push Secret. If set to false you must also set processPushSecret: false.
  65. createPushSecret: true
  66. annotations: {}
  67. conversion:
  68. # -- Conversion is disabled by default as we stopped supporting v1alpha1.
  69. enabled: false
  70. # -- If true, enable v1beta1 API version serving for ExternalSecret, ClusterExternalSecret, SecretStore, and ClusterSecretStore CRDs.
  71. # v1beta1 is deprecated. Only enable this for backward compatibility if you have existing v1beta1 resources.
  72. # Warning: This flag will be removed on 2026.05.01.
  73. unsafeServeV1Beta1: false
  74. imagePullSecrets: []
  75. nameOverride: ""
  76. fullnameOverride: ""
  77. namespaceOverride: ""
  78. # -- Additional labels added to all helm chart resources.
  79. commonLabels: {}
  80. # -- If true, external-secrets will perform leader election between instances to ensure no more
  81. # than one instance of external-secrets operates at a time.
  82. leaderElect: false
  83. # -- ID of the lease object used for leader election.
  84. # Leave empty to use the default ('external-secrets-controller').
  85. # Set to a unique value when running multiple independent ESO deployments in the same namespace.
  86. # @default -- "external-secrets-controller"
  87. leaderElectionID: ""
  88. # -- Duration that non-leader candidates will wait to force acquire leadership.
  89. # Increase this along with renewDeadline to tolerate a busy or briefly unavailable API server
  90. # (for example during control plane maintenance) without churning leadership.
  91. # Leave empty to use the controller default ('15s').
  92. # @default -- "15s"
  93. leaderElectionLeaseDuration: ""
  94. # -- Duration that the acting leader will retry refreshing leadership before giving up.
  95. # Must be less than leaderElectionLeaseDuration.
  96. # Leave empty to use the controller default ('10s').
  97. # @default -- "10s"
  98. leaderElectionRenewDeadline: ""
  99. # -- Duration the leader election client waits between tries of actions.
  100. # Leave empty to use the controller default ('2s').
  101. # @default -- "2s"
  102. leaderElectionRetryPeriod: ""
  103. # -- If set external secrets will filter matching
  104. # Secret Stores with the appropriate controller values.
  105. controllerClass: ""
  106. # -- If true external secrets will use recommended kubernetes
  107. # annotations as prometheus metric labels.
  108. extendedMetricLabels: false
  109. # -- If set external secrets are only reconciled in the
  110. # provided namespace
  111. scopedNamespace: ""
  112. # -- If true, create scoped RBAC roles and implicitly disable cluster-scoped
  113. # controllers. Scoped to scopedNamespace if set, otherwise to .Release.Namespace.
  114. scopedRBAC: false
  115. # -- If true the OpenShift finalizer permissions will be added to RBAC
  116. openshiftFinalizers: true
  117. # -- If true the system:auth-delegator ClusterRole will be added to RBAC
  118. systemAuthDelegator: false
  119. # -- if true, the operator will process cluster external secret. Else, it will ignore them.
  120. # When enabled, this adds update/patch permissions on namespaces to handle finalizers for proper
  121. # cleanup during namespace deletion, preventing race conditions with ExternalSecrets.
  122. processClusterExternalSecret: true
  123. # -- if true, the operator will process cluster push secret. Else, it will ignore them.
  124. processClusterPushSecret: true
  125. # -- if true, the operator will process cluster store. Else, it will ignore them.
  126. processClusterStore: true
  127. # -- if true, the operator will process secret store. Else, it will ignore them.
  128. processSecretStore: true
  129. # -- Default time duration between reconciling (Cluster)SecretStores.
  130. storeRequeueInterval: ""
  131. # -- if true, the operator will process cluster generator. Else, it will ignore them.
  132. processClusterGenerator: true
  133. # -- if true, the operator will process push secret. Else, it will ignore them.
  134. processPushSecret: true
  135. # -- Enable support for generic targets (ConfigMaps, Custom Resources).
  136. # Warning: Using generic target. Make sure access policies and encryption are properly configured.
  137. # When enabled, this grants the controller permissions to create/update/delete
  138. # ConfigMaps and optionally other resource types specified in generic.resources.
  139. genericTargets:
  140. # -- Enable generic target support
  141. enabled: false
  142. # -- List of additional resource types to grant permissions for.
  143. # Each entry should specify apiGroup, resources, and verbs.
  144. # Example:
  145. # resources:
  146. # - apiGroup: "argoproj.io"
  147. # resources: ["applications"]
  148. # verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
  149. resources: []
  150. # -- Specifies whether an external secret operator deployment be created.
  151. createOperator: true
  152. # -- if true, HTTP2 will be enabled for the services created by all controllers, curently metrics and webhook.
  153. enableHTTP2: false
  154. # -- Vault token cache configuration
  155. vault:
  156. # -- Enable Vault token cache. External secrets will reuse the Vault token without creating a new one on each request.
  157. enableTokenCache: false
  158. # -- Maximum size of Vault token cache. Only used if enableTokenCache is true.
  159. tokenCacheSize: 262144
  160. # -- Specifies the number of concurrent ExternalSecret Reconciles external-secret executes at
  161. # a time.
  162. concurrent: 1
  163. # -- Specifies Log Params to the External Secrets Operator
  164. log:
  165. level: info
  166. timeEncoding: epoch
  167. service:
  168. # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
  169. ipFamilyPolicy: ""
  170. # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
  171. ipFamilies: []
  172. serviceAccount:
  173. # -- Specifies whether a service account should be created.
  174. create: true
  175. # -- Automounts the service account token in all containers of the pod
  176. automount: true
  177. # -- Annotations to add to the service account.
  178. annotations: {}
  179. # -- Extra Labels to add to the service account.
  180. extraLabels: {}
  181. # -- The name of the service account to use.
  182. # If not set and create is true, a name is generated using the fullname template.
  183. name: ""
  184. rbac:
  185. # -- Specifies whether role and rolebinding resources should be created.
  186. create: true
  187. # -- Specifies whether the serviceaccounts/token create permission is included in the controller RBAC.
  188. # When set to false, users must create per-ServiceAccount Role/RoleBinding with resourceNames constraint
  189. # to grant ESO token creation for specific ServiceAccounts referenced in SecretStore specs.
  190. serviceAccountTokenCreate: true
  191. servicebindings:
  192. # -- Specifies whether a clusterrole to give servicebindings read access should be created.
  193. create: true
  194. # -- Specifies whether permissions are aggregated to the view ClusterRole
  195. aggregateToView: true
  196. # -- Specifies whether permissions are aggregated to the edit ClusterRole
  197. aggregateToEdit: true
  198. # -- Specifies whether permissions are aggregated to the admin ClusterRole
  199. aggregateToAdmin: true
  200. ## -- Extra environment variables to add to container.
  201. extraEnv: []
  202. ## -- Map of extra arguments to pass to container.
  203. extraArgs: {}
  204. ## -- Extra volumes to pass to pod.
  205. extraVolumes: []
  206. ## -- Extra Kubernetes objects to deploy with the helm chart
  207. extraObjects: []
  208. ## -- Extra volumes to mount to the container.
  209. extraVolumeMounts: []
  210. ## -- Extra init containers to add to the pod.
  211. extraInitContainers: []
  212. ## -- Extra containers to add to the pod.
  213. extraContainers: []
  214. # -- Annotations to add to Deployment
  215. deploymentAnnotations: {}
  216. # -- Set deployment strategy
  217. strategy: {}
  218. # -- Annotations to add to Pod
  219. podAnnotations: {}
  220. podLabels: {}
  221. podSecurityContext:
  222. enabled: true
  223. # fsGroup: 2000
  224. securityContext:
  225. allowPrivilegeEscalation: false
  226. capabilities:
  227. drop:
  228. - ALL
  229. enabled: true
  230. readOnlyRootFilesystem: true
  231. runAsNonRoot: true
  232. runAsUser: 1000
  233. seccompProfile:
  234. type: RuntimeDefault
  235. resources: {}
  236. # requests:
  237. # cpu: 10m
  238. # memory: 32Mi
  239. serviceMonitor:
  240. # -- Specifies whether to create a ServiceMonitor resource for collecting Prometheus metrics
  241. enabled: false
  242. # -- How should we react to missing CRD "`monitoring.coreos.com/v1/ServiceMonitor`"
  243. #
  244. # Possible values:
  245. # - `skipIfMissing`: Only render ServiceMonitor resources if CRD is present, skip if missing.
  246. # - `failIfMissing`: Fail Helm install if CRD is not present.
  247. # - `alwaysRender` : Always render ServiceMonitor resources, do not check for CRD.
  248. # @schema
  249. # enum:
  250. # - skipIfMissing
  251. # - failIfMissing
  252. # - alwaysRender
  253. # @schema
  254. renderMode: skipIfMissing # @schema enum: [skipIfMissing, failIfMissing, alwaysRender]
  255. # -- namespace where you want to install ServiceMonitors
  256. namespace: ""
  257. # -- Additional labels
  258. additionalLabels: {}
  259. # -- Interval to scrape metrics
  260. interval: 30s
  261. # -- Timeout if metrics can't be retrieved in given time interval
  262. scrapeTimeout: 25s
  263. # -- Let prometheus add an exported_ prefix to conflicting labels
  264. honorLabels: false
  265. # -- Metric relabel configs to apply to samples before ingestion. [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)
  266. metricRelabelings: []
  267. # - action: replace
  268. # regex: (.*)
  269. # replacement: $1
  270. # sourceLabels:
  271. # - exported_namespace
  272. # targetLabel: namespace
  273. # -- Relabel configs to apply to samples before ingestion. [Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)
  274. relabelings: []
  275. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  276. # separator: ;
  277. # regex: ^(.*)$
  278. # targetLabel: nodename
  279. # replacement: $1
  280. # action: replace
  281. metrics:
  282. listen:
  283. port: 8080
  284. auth:
  285. # -- Enable Kubernetes RBAC-based authentication for metrics endpoint. Requires metrics.listen.secure to be true. Default value is false.
  286. enabled: false
  287. secure:
  288. enabled: false
  289. # -- if those are not set or invalid, self-signed certs will be generated
  290. # -- TLS cert directory path
  291. certDir: /etc/tls
  292. # -- TLS cert file path
  293. certFile: /etc/tls/tls.crt
  294. # -- TLS key file path
  295. keyFile: /etc/tls/tls.key
  296. service:
  297. # -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
  298. enabled: false
  299. # -- Metrics service port to scrape
  300. port: 8080
  301. # -- Additional service annotations
  302. annotations: {}
  303. grafanaDashboard:
  304. # -- If true creates a Grafana dashboard.
  305. enabled: false
  306. # -- Label that ConfigMaps should have to be loaded as dashboards.
  307. sidecarLabel: "grafana_dashboard"
  308. # -- Label value that ConfigMaps should have to be loaded as dashboards.
  309. sidecarLabelValue: "1"
  310. # -- Annotations that ConfigMaps can have to get configured in Grafana,
  311. # See: sidecar.dashboards.folderAnnotation for specifying the dashboard folder.
  312. # https://github.com/grafana/helm-charts/tree/main/charts/grafana
  313. annotations: {}
  314. # -- Extra labels to add to the Grafana dashboard ConfigMap.
  315. extraLabels: {}
  316. livenessProbe:
  317. # -- Enabled determines if the liveness probe should be used or not. By default it's disabled.
  318. enabled: false
  319. # -- The body of the liveness probe settings.
  320. spec:
  321. # -- Bind address for the health server used by both liveness and readiness probes (--live-addr flag).
  322. address: ""
  323. # -- Port for the health server used by both liveness and readiness probes (--live-addr flag).
  324. port: 8082
  325. # -- Specify the maximum amount of time to wait for a probe to respond before considering it fails.
  326. timeoutSeconds: 5
  327. # -- Number of consecutive probe failures that should occur before considering the probe as failed.
  328. failureThreshold: 5
  329. # -- Period in seconds for K8s to start performing probes.
  330. periodSeconds: 10
  331. # -- Number of successful probes to mark probe successful.
  332. successThreshold: 1
  333. # -- Delay in seconds for the container to start before performing the initial probe.
  334. initialDelaySeconds: 10
  335. # -- Handler for liveness probe.
  336. httpGet:
  337. # -- Set this value to 'live' (for named port) or an an integer for liveness probes.
  338. # @schema type: [string, integer]
  339. port: live
  340. # -- Path for liveness probe.
  341. path: /healthz
  342. readinessProbe:
  343. # -- Determines whether the readiness probe is enabled. Disabled by default. Enabling this will auto-start the health server (--live-addr) even if livenessProbe is disabled. Health server address/port are configured via livenessProbe.spec.address and livenessProbe.spec.port.
  344. enabled: false
  345. # -- The body of the readiness probe settings (standard Kubernetes probe spec).
  346. spec:
  347. # -- Specify the maximum amount of time to wait for a probe to respond before considering it fails.
  348. timeoutSeconds: 5
  349. # -- Number of consecutive probe failures that should occur before considering the probe as failed.
  350. failureThreshold: 3
  351. # -- Period in seconds for K8s to start performing probes.
  352. periodSeconds: 10
  353. # -- Number of successful probes to mark probe successful.
  354. successThreshold: 1
  355. # -- Delay in seconds for the container to start before performing the initial probe.
  356. initialDelaySeconds: 10
  357. # -- Handler for readiness probe.
  358. httpGet:
  359. # -- Set this value to 'live' (for named port) or an integer for readiness probes.
  360. # @schema type: [string, integer]
  361. port: live
  362. # -- Path for readiness probe.
  363. path: /readyz
  364. nodeSelector: {}
  365. tolerations: []
  366. topologySpreadConstraints: []
  367. affinity: {}
  368. # -- Pod priority class name.
  369. priorityClassName: ""
  370. # -- Pod scheduler name.
  371. schedulerName: ""
  372. # -- Pod runtime class name.
  373. runtimeClassName: ""
  374. # -- Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  375. podDisruptionBudget:
  376. enabled: false
  377. minAvailable: 1 # @schema type:[integer, string]
  378. nameOverride: ""
  379. # maxUnavailable: "50%"
  380. # -- Run the controller on the host network
  381. hostNetwork: false
  382. # -- (bool) Specifies if controller pod should use hostUsers or not. If hostNetwork is true, hostUsers should be too. Only available in Kubernetes ≥ 1.33.
  383. # @schema type: [boolean, null]
  384. hostUsers:
  385. # -- Setup a networkPolicy for external-secrets
  386. networkPolicy:
  387. # -- Specifies whether the networkPolicy should be created.
  388. enabled: false
  389. # -- The ingress traffic
  390. # Should match the health and (optionally) metrics port
  391. ingress:
  392. - ports:
  393. - protocol: TCP
  394. # @schema type: [string, integer]
  395. port: 8080 # metrics port
  396. - protocol: TCP
  397. # @schema type: [string, integer]
  398. port: 8082 # health port
  399. # -- The egress traffic
  400. # The minimum egress ports required to function are:
  401. # DNS (53/udp, 53/tcp)
  402. # API server (80/tcp, 443/tcp, or 6443/tcp)
  403. # You will need to customize this value to meet your needs
  404. egress: []
  405. webhook:
  406. # -- Annotations to place on validating webhook configuration.
  407. annotations: {}
  408. # -- Specifies whether a webhook deployment be created. If set to false, crds.conversion.enabled should also be set to false otherwise the kubeapi will be hammered because the conversion is looking for a webhook endpoint.
  409. create: true
  410. # -- Specifies the time to check if the cert is valid
  411. certCheckInterval: "5m"
  412. # -- Specifies the lookaheadInterval for certificate validity
  413. lookaheadInterval: ""
  414. replicaCount: 1
  415. # -- Specifies Log Params to the Webhook
  416. log:
  417. level: info
  418. timeEncoding: epoch
  419. # -- Specifies the amount of historic ReplicaSets k8s should keep (see https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
  420. revisionHistoryLimit: 10
  421. certDir: /tmp/certs
  422. # -- Specifies whether validating webhooks should be created with failurePolicy: Fail or Ignore
  423. failurePolicy: Fail
  424. # -- Specifies if webhook pod should use hostNetwork or not.
  425. hostNetwork: false
  426. # -- (bool) Specifies if webhook pod should use hostUsers or not. If hostNetwork is true, hostUsers should be too. Only available in Kubernetes ≥ 1.33.
  427. # @schema type: [boolean, null]
  428. hostUsers:
  429. # -- Setup a networkPolicy for external-secrets webhook
  430. networkPolicy:
  431. # -- Specifies whether the networkPolicy should be created.
  432. enabled: false
  433. # -- The ingress traffic
  434. # Should match the webhook, health, and (optionally) metrics port
  435. ingress:
  436. - ports:
  437. - protocol: TCP
  438. # @schema type: [string, integer]
  439. port: 8080 # metrics port
  440. - protocol: TCP
  441. # @schema type: [string, integer]
  442. port: 8081 # health port
  443. - protocol: TCP
  444. # @schema type: [string, integer]
  445. port: 10250 # webhook port
  446. # -- The egress traffic
  447. # The minimum egress ports required to function are:
  448. # DNS (53/udp, 53/tcp)
  449. # API server (80/tcp, 443/tcp, or 6443/tcp)
  450. # You will need to customize this value to meet your needs
  451. egress: []
  452. image:
  453. repository: ghcr.io/external-secrets/external-secrets
  454. pullPolicy: IfNotPresent
  455. # -- The image tag to use. The default is the chart appVersion.
  456. tag: ""
  457. # -- The flavour of tag you want to use
  458. flavour: ""
  459. imagePullSecrets: []
  460. # -- The port the webhook will listen to
  461. port: 10250
  462. serviceAccount:
  463. # -- Specifies whether a service account should be created.
  464. create: true
  465. # -- Automounts the service account token in all containers of the pod
  466. automount: true
  467. # -- Annotations to add to the service account.
  468. annotations: {}
  469. # -- Extra Labels to add to the service account.
  470. extraLabels: {}
  471. # -- The name of the service account to use.
  472. # If not set and create is true, a name is generated using the fullname template.
  473. name: ""
  474. nodeSelector: {}
  475. # -- Specifies `hostAliases` to webhook deployment
  476. hostAliases: []
  477. certManager:
  478. # -- Enabling cert-manager support will disable the built in secret and
  479. # switch to using cert-manager (installed separately) to automatically issue
  480. # and renew the webhook certificate. This chart does not install
  481. # cert-manager for you, See https://cert-manager.io/docs/
  482. enabled: false
  483. # -- Automatically add the cert-manager.io/inject-ca-from annotation to the
  484. # webhooks and CRDs. As long as you have the cert-manager CA Injector
  485. # enabled, this will automatically setup your webhook's CA to the one used
  486. # by cert-manager. See https://cert-manager.io/docs/concepts/ca-injector
  487. addInjectorAnnotations: true
  488. cert:
  489. # -- Create a certificate resource within this chart. See
  490. # https://cert-manager.io/docs/usage/certificate/
  491. create: true
  492. # -- For the Certificate created by this chart, setup the issuer. See
  493. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.IssuerSpec
  494. issuerRef:
  495. group: cert-manager.io
  496. kind: "Issuer"
  497. name: "my-issuer"
  498. # -- Set the requested duration (i.e. lifetime) of the Certificate. See
  499. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
  500. # One year by default.
  501. duration: "8760h0m0s"
  502. # -- Set the revisionHistoryLimit on the Certificate. See
  503. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
  504. # Defaults to 0 (ignored).
  505. revisionHistoryLimit: 0
  506. # -- How long before the currently issued certificate’s expiry
  507. # cert-manager should renew the certificate. See
  508. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
  509. # Note that renewBefore should be greater than .webhook.lookaheadInterval
  510. # since the webhook will check this far in advance that the certificate is
  511. # valid.
  512. renewBefore: ""
  513. # -- Specific settings on the privateKey and its generation
  514. privateKey: {}
  515. # rotationPolicy: Always
  516. # algorithm: RSA
  517. # size: 2048
  518. # -- Specific settings on the signatureAlgorithm used on the cert.
  519. # signatureAlgorithm is only valid for cert-manager v1.18.0+
  520. signatureAlgorithm: ""
  521. # -- Add extra annotations to the Certificate resource.
  522. annotations: {}
  523. tolerations: []
  524. topologySpreadConstraints: []
  525. affinity: {}
  526. # -- Set deployment strategy
  527. strategy: {}
  528. # -- Pod priority class name.
  529. priorityClassName: ""
  530. # -- Pod scheduler name.
  531. schedulerName: ""
  532. # -- Pod runtime class name.
  533. runtimeClassName: ""
  534. # -- Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  535. podDisruptionBudget:
  536. enabled: false
  537. minAvailable: 1 # @schema type:[integer, string]
  538. nameOverride: ""
  539. # maxUnavailable: "50%"
  540. metrics:
  541. listen:
  542. port: 8080
  543. auth:
  544. # -- Enable Kubernetes RBAC-based authentication for webhook's metrics endpoint. Requires webhook.metrics.listen.secure to be true. Default value is false.
  545. enabled: false
  546. secure:
  547. enabled: false
  548. # -- if those are not set or invalid, self-signed certs will be generated
  549. # -- TLS cert directory path
  550. certDir: /etc/tls
  551. # -- TLS cert file path
  552. certFile: /etc/tls/tls.crt
  553. # -- TLS key file path
  554. keyFile: /etc/tls/tls.key
  555. service:
  556. # -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
  557. enabled: false
  558. # -- Metrics service port to scrape
  559. port: 8080
  560. # -- Additional service annotations
  561. annotations: {}
  562. livenessProbe:
  563. enabled: false
  564. # -- Set this value to 'live' (for named port) or an integer for liveness probes.
  565. # @schema type: [string, integer]
  566. port: 8081
  567. timeoutSeconds: 5
  568. failureThreshold: 5
  569. periodSeconds: 10
  570. successThreshold: 1
  571. initialDelaySeconds: 10
  572. readinessProbe:
  573. enabled: true
  574. address: ""
  575. # -- Set this value to 'ready' (for named port) or an integer for readiness probes.
  576. # @schema type: [string, integer]
  577. port: 8081
  578. timeoutSeconds: 5
  579. failureThreshold: 3
  580. periodSeconds: 5
  581. successThreshold: 1
  582. initialDelaySeconds: 20
  583. startupProbe:
  584. # -- Enabled determines if the startup probe should be used or not. By default it's disabled.
  585. enabled: false
  586. # -- Number of seconds after the container has started before the startup probe is initiated.
  587. initialDelaySeconds: 10
  588. # -- How often (in seconds) to perform the startup probe.
  589. periodSeconds: 10
  590. # -- Number of consecutive failures before the container is restarted. The startup window is initialDelaySeconds + failureThreshold * periodSeconds.
  591. failureThreshold: 30
  592. ## -- Extra environment variables to add to container.
  593. extraEnv: []
  594. ## -- Map of extra arguments to pass to container.
  595. extraArgs: {}
  596. ## -- Extra init containers to add to the pod.
  597. extraInitContainers: []
  598. ## -- Extra volumes to pass to pod.
  599. extraVolumes: []
  600. ## -- Extra volumes to mount to the container.
  601. extraVolumeMounts: []
  602. # -- Annotations to add to Secret
  603. secretAnnotations: {}
  604. # -- Annotations to add to Deployment
  605. deploymentAnnotations: {}
  606. # -- Annotations to add to Pod
  607. podAnnotations: {}
  608. podLabels: {}
  609. podSecurityContext:
  610. enabled: true
  611. # fsGroup: 2000
  612. securityContext:
  613. allowPrivilegeEscalation: false
  614. capabilities:
  615. drop:
  616. - ALL
  617. enabled: true
  618. readOnlyRootFilesystem: true
  619. runAsNonRoot: true
  620. runAsUser: 1000
  621. seccompProfile:
  622. type: RuntimeDefault
  623. resources: {}
  624. # requests:
  625. # cpu: 10m
  626. # memory: 32Mi
  627. # -- Manage the service through which the webhook is reached.
  628. service:
  629. # -- Whether the service object should be enabled or not (it is expected to exist).
  630. enabled: true
  631. # -- Custom annotations for the webhook service.
  632. annotations: {}
  633. # -- Custom labels for the webhook service.
  634. labels: {}
  635. # -- The service type of the webhook service.
  636. type: ClusterIP
  637. # -- If the webhook service type is LoadBalancer, you can assign a specific load balancer IP here.
  638. # Check the documentation of your load balancer provider to see if/how this should be used.
  639. loadBalancerIP: ""
  640. certController:
  641. # -- Specifies whether a certificate controller deployment be created.
  642. create: true
  643. requeueInterval: "5m"
  644. replicaCount: 1
  645. # -- Specifies Log Params to the Certificate Controller
  646. log:
  647. level: info
  648. timeEncoding: epoch
  649. # -- Specifies the amount of historic ReplicaSets k8s should keep (see https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
  650. revisionHistoryLimit: 10
  651. image:
  652. repository: ghcr.io/external-secrets/external-secrets
  653. pullPolicy: IfNotPresent
  654. tag: ""
  655. flavour: ""
  656. imagePullSecrets: []
  657. rbac:
  658. # -- Specifies whether role and rolebinding resources should be created.
  659. create: true
  660. serviceAccount:
  661. # -- Specifies whether a service account should be created.
  662. create: true
  663. # -- Automounts the service account token in all containers of the pod
  664. automount: true
  665. # -- Annotations to add to the service account.
  666. annotations: {}
  667. # -- Extra Labels to add to the service account.
  668. extraLabels: {}
  669. # -- The name of the service account to use.
  670. # If not set and create is true, a name is generated using the fullname template.
  671. name: ""
  672. nodeSelector: {}
  673. # -- Specifies `hostAliases` to cert-controller deployment
  674. hostAliases: []
  675. tolerations: []
  676. topologySpreadConstraints: []
  677. affinity: {}
  678. # -- Set deployment strategy
  679. strategy: {}
  680. # -- Run the certController on the host network
  681. hostNetwork: false
  682. # -- (bool) Specifies if certController pod should use hostUsers or not. If hostNetwork is true, hostUsers should be too. Only available in Kubernetes ≥ 1.33.
  683. # @schema type: [boolean, null]
  684. hostUsers:
  685. # -- Setup a networkPolicy for external-secrets certController
  686. networkPolicy:
  687. # -- Specifies whether the networkPolicy should be created.
  688. enabled: false
  689. # -- The ingress traffic
  690. # Should match the health and (optionally) metrics port
  691. ingress:
  692. - ports:
  693. - protocol: TCP
  694. # @schema type: [string, integer]
  695. port: 8080 # metrics port
  696. - protocol: TCP
  697. # @schema type: [string, integer]
  698. port: 8081 # health port
  699. # -- The egress traffic
  700. # The minimum egress ports required to function are:
  701. # DNS (53/udp, 53/tcp)
  702. # API server (80/tcp, 443/tcp, or 6443/tcp)
  703. # You will need to customize this value to meet your needs
  704. egress: []
  705. # -- Pod priority class name.
  706. priorityClassName: ""
  707. # -- Pod scheduler name.
  708. schedulerName: ""
  709. # -- Pod runtime class name.
  710. runtimeClassName: ""
  711. # -- Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  712. podDisruptionBudget:
  713. enabled: false
  714. minAvailable: 1 # @schema type:[integer, string]
  715. nameOverride: ""
  716. # maxUnavailable: "50%"
  717. metrics:
  718. listen:
  719. port: 8080
  720. auth:
  721. # -- Enable Kubernetes RBAC-based authentication for certController's metrics endpoint. Requires certController.metrics.listen.secure to be true. Default value is false.
  722. enabled: false
  723. secure:
  724. enabled: false
  725. # -- if those are not set or invalid, self-signed certs will be generated
  726. # -- TLS cert directory path
  727. certDir: /etc/tls
  728. # -- TLS cert file path
  729. certFile: /etc/tls/tls.crt
  730. # -- TLS key file path
  731. keyFile: /etc/tls/tls.key
  732. service:
  733. # -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
  734. enabled: false
  735. # -- Metrics service port to scrape
  736. port: 8080
  737. # -- Additional service annotations
  738. annotations: {}
  739. livenessProbe:
  740. enabled: false
  741. # -- Set this value to 'live' (for named port) or an integer for liveness probes.
  742. # @schema type: [string, integer]
  743. port: 8081
  744. timeoutSeconds: 5
  745. failureThreshold: 5
  746. periodSeconds: 10
  747. successThreshold: 1
  748. initialDelaySeconds: 10
  749. readinessProbe:
  750. enabled: true
  751. address: ""
  752. # -- Set this value to 'ready' (for named port) or an integer for readiness probes.
  753. # @schema type: [string, integer]
  754. port: 8081
  755. timeoutSeconds: 5
  756. failureThreshold: 3
  757. periodSeconds: 5
  758. successThreshold: 1
  759. initialDelaySeconds: 20
  760. startupProbe:
  761. # -- Enabled determines if the startup probe should be used or not. By default it's disabled.
  762. enabled: false
  763. # -- Number of seconds after the container has started before the startup probe is initiated.
  764. initialDelaySeconds: 10
  765. # -- How often (in seconds) to perform the startup probe.
  766. periodSeconds: 10
  767. # -- Number of consecutive failures before the container is restarted. The startup window is initialDelaySeconds + failureThreshold * periodSeconds.
  768. failureThreshold: 30
  769. ## -- Extra environment variables to add to container.
  770. extraEnv: []
  771. ## -- Map of extra arguments to pass to container.
  772. extraArgs: {}
  773. ## -- Extra init containers to add to the pod.
  774. extraInitContainers: []
  775. ## -- Extra volumes to pass to pod.
  776. extraVolumes: []
  777. ## -- Extra volumes to mount to the container.
  778. extraVolumeMounts: []
  779. # -- Annotations to add to Deployment
  780. deploymentAnnotations: {}
  781. # -- Annotations to add to Pod
  782. podAnnotations: {}
  783. podLabels: {}
  784. podSecurityContext:
  785. enabled: true
  786. # fsGroup: 2000
  787. securityContext:
  788. allowPrivilegeEscalation: false
  789. capabilities:
  790. drop:
  791. - ALL
  792. enabled: true
  793. readOnlyRootFilesystem: true
  794. runAsNonRoot: true
  795. runAsUser: 1000
  796. seccompProfile:
  797. type: RuntimeDefault
  798. resources: {}
  799. # requests:
  800. # cpu: 10m
  801. # memory: 32Mi
  802. # -- Specifies `dnsPolicy` to deployment
  803. dnsPolicy: ClusterFirst
  804. # -- Specifies `dnsOptions` to deployment
  805. dnsConfig: {}
  806. # -- Specifies `hostAliases` to deployment
  807. hostAliases: []
  808. # -- Any extra pod spec on the deployment
  809. podSpecExtra: {}