values.yaml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685
  1. global:
  2. nodeSelector: {}
  3. tolerations: []
  4. topologySpreadConstraints: []
  5. affinity: {}
  6. compatibility:
  7. openshift:
  8. # -- Manages the securityContext properties to make them compatible with OpenShift.
  9. # Possible values:
  10. # auto - Apply configurations if it is detected that OpenShift is the target platform.
  11. # force - Always apply configurations.
  12. # disabled - No modification applied.
  13. adaptSecurityContext: auto
  14. replicaCount: 1
  15. bitwarden-sdk-server:
  16. enabled: false
  17. namespaceOverride: ""
  18. # -- Specifies the amount of historic ReplicaSets k8s should keep (see https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
  19. revisionHistoryLimit: 10
  20. image:
  21. repository: oci.external-secrets.io/external-secrets/external-secrets
  22. pullPolicy: IfNotPresent
  23. # -- The image tag to use. The default is the chart appVersion.
  24. tag: ""
  25. # -- The flavour of tag you want to use
  26. # There are different image flavours available, like distroless and ubi.
  27. # Please see GitHub release notes for image tags for these flavors.
  28. # By default, the distroless image is used.
  29. flavour: ""
  30. # -- If set, install and upgrade CRDs through helm chart.
  31. installCRDs: true
  32. crds:
  33. # -- If true, create CRDs for Cluster External Secret.
  34. createClusterExternalSecret: true
  35. # -- If true, create CRDs for Cluster Secret Store.
  36. createClusterSecretStore: true
  37. # -- If true, create CRDs for Cluster Generator.
  38. createClusterGenerator: true
  39. # -- If true, create CRDs for Cluster Push Secret.
  40. createClusterPushSecret: true
  41. # -- If true, create CRDs for Push Secret.
  42. createPushSecret: true
  43. annotations: {}
  44. conversion:
  45. # -- Conversion is disabled by default as we stopped supporting v1alpha1.
  46. enabled: false
  47. imagePullSecrets: []
  48. nameOverride: ""
  49. fullnameOverride: ""
  50. namespaceOverride: ""
  51. # -- Additional labels added to all helm chart resources.
  52. commonLabels: {}
  53. # -- If true, external-secrets will perform leader election between instances to ensure no more
  54. # than one instance of external-secrets operates at a time.
  55. leaderElect: false
  56. # -- If set external secrets will filter matching
  57. # Secret Stores with the appropriate controller values.
  58. controllerClass: ""
  59. # -- If true external secrets will use recommended kubernetes
  60. # annotations as prometheus metric labels.
  61. extendedMetricLabels: false
  62. # -- If set external secrets are only reconciled in the
  63. # provided namespace
  64. scopedNamespace: ""
  65. # -- Must be used with scopedNamespace. If true, create scoped RBAC roles under the scoped namespace
  66. # and implicitly disable cluster stores and cluster external secrets
  67. scopedRBAC: false
  68. # -- If true the OpenShift finalizer permissions will be added to RBAC
  69. openshiftFinalizers: true
  70. # -- If true the system:auth-delegator ClusterRole will be added to RBAC
  71. systemAuthDelegator: false
  72. # -- if true, the operator will process cluster external secret. Else, it will ignore them.
  73. # When enabled, this adds update/patch permissions on namespaces to handle finalizers for proper
  74. # cleanup during namespace deletion, preventing race conditions with ExternalSecrets.
  75. processClusterExternalSecret: true
  76. # -- if true, the operator will process cluster push secret. Else, it will ignore them.
  77. processClusterPushSecret: true
  78. # -- if true, the operator will process cluster store. Else, it will ignore them.
  79. processClusterStore: true
  80. # -- if true, the operator will process cluster generator. Else, it will ignore them.
  81. processClusterGenerator: true
  82. # -- if true, the operator will process push secret. Else, it will ignore them.
  83. processPushSecret: true
  84. # -- Enable support for generic targets (ConfigMaps, Custom Resources).
  85. # Warning: Using generic target. Make sure access policies and encryption are properly configured.
  86. # When enabled, this grants the controller permissions to create/update/delete
  87. # ConfigMaps and optionally other resource types specified in generic.resources.
  88. genericTargets:
  89. # -- Enable generic target support
  90. enabled: false
  91. # -- List of additional resource types to grant permissions for.
  92. # Each entry should specify apiGroup, resources, and verbs.
  93. # Example:
  94. # resources:
  95. # - apiGroup: "argoproj.io"
  96. # resources: ["applications"]
  97. # verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
  98. resources: []
  99. # -- Specifies whether an external secret operator deployment be created.
  100. createOperator: true
  101. # -- if true, HTTP2 will be enabled for the services created by all controllers, curently metrics and webhook.
  102. enableHTTP2: false
  103. # -- Specifies the number of concurrent ExternalSecret Reconciles external-secret executes at
  104. # a time.
  105. concurrent: 1
  106. # -- Specifies Log Params to the External Secrets Operator
  107. log:
  108. level: info
  109. timeEncoding: epoch
  110. service:
  111. # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
  112. ipFamilyPolicy: ""
  113. # -- 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.
  114. ipFamilies: []
  115. serviceAccount:
  116. # -- Specifies whether a service account should be created.
  117. create: true
  118. # -- Automounts the service account token in all containers of the pod
  119. automount: true
  120. # -- Annotations to add to the service account.
  121. annotations: {}
  122. # -- Extra Labels to add to the service account.
  123. extraLabels: {}
  124. # -- The name of the service account to use.
  125. # If not set and create is true, a name is generated using the fullname template.
  126. name: ""
  127. rbac:
  128. # -- Specifies whether role and rolebinding resources should be created.
  129. create: true
  130. servicebindings:
  131. # -- Specifies whether a clusterrole to give servicebindings read access should be created.
  132. create: true
  133. # -- Specifies whether permissions are aggregated to the view ClusterRole
  134. aggregateToView: true
  135. # -- Specifies whether permissions are aggregated to the edit ClusterRole
  136. aggregateToEdit: true
  137. ## -- Extra environment variables to add to container.
  138. extraEnv: []
  139. ## -- Map of extra arguments to pass to container.
  140. extraArgs: {}
  141. ## -- Extra volumes to pass to pod.
  142. extraVolumes: []
  143. ## -- Extra Kubernetes objects to deploy with the helm chart
  144. extraObjects: []
  145. ## -- Extra volumes to mount to the container.
  146. extraVolumeMounts: []
  147. ## -- Extra init containers to add to the pod.
  148. extraInitContainers: []
  149. ## -- Extra containers to add to the pod.
  150. extraContainers: []
  151. # -- Annotations to add to Deployment
  152. deploymentAnnotations: {}
  153. # -- Set deployment strategy
  154. strategy: {}
  155. # -- Annotations to add to Pod
  156. podAnnotations: {}
  157. podLabels: {}
  158. podSecurityContext:
  159. enabled: true
  160. # fsGroup: 2000
  161. securityContext:
  162. allowPrivilegeEscalation: false
  163. capabilities:
  164. drop:
  165. - ALL
  166. enabled: true
  167. readOnlyRootFilesystem: true
  168. runAsNonRoot: true
  169. runAsUser: 1000
  170. seccompProfile:
  171. type: RuntimeDefault
  172. resources: {}
  173. # requests:
  174. # cpu: 10m
  175. # memory: 32Mi
  176. serviceMonitor:
  177. # -- Specifies whether to create a ServiceMonitor resource for collecting Prometheus metrics
  178. enabled: false
  179. # -- How should we react to missing CRD "`monitoring.coreos.com/v1/ServiceMonitor`"
  180. #
  181. # Possible values:
  182. # - `skipIfMissing`: Only render ServiceMonitor resources if CRD is present, skip if missing.
  183. # - `failIfMissing`: Fail Helm install if CRD is not present.
  184. # - `alwaysRender` : Always render ServiceMonitor resources, do not check for CRD.
  185. # @schema
  186. # enum:
  187. # - skipIfMissing
  188. # - failIfMissing
  189. # - alwaysRender
  190. # @schema
  191. renderMode: skipIfMissing # @schema enum: [skipIfMissing, failIfMissing, alwaysRender]
  192. # -- namespace where you want to install ServiceMonitors
  193. namespace: ""
  194. # -- Additional labels
  195. additionalLabels: {}
  196. # -- Interval to scrape metrics
  197. interval: 30s
  198. # -- Timeout if metrics can't be retrieved in given time interval
  199. scrapeTimeout: 25s
  200. # -- Let prometheus add an exported_ prefix to conflicting labels
  201. honorLabels: false
  202. # -- Metric relabel configs to apply to samples before ingestion. [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)
  203. metricRelabelings: []
  204. # - action: replace
  205. # regex: (.*)
  206. # replacement: $1
  207. # sourceLabels:
  208. # - exported_namespace
  209. # targetLabel: namespace
  210. # -- Relabel configs to apply to samples before ingestion. [Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)
  211. relabelings: []
  212. # - sourceLabels: [__meta_kubernetes_pod_node_name]
  213. # separator: ;
  214. # regex: ^(.*)$
  215. # targetLabel: nodename
  216. # replacement: $1
  217. # action: replace
  218. metrics:
  219. listen:
  220. port: 8080
  221. secure:
  222. enabled: false
  223. # -- if those are not set or invalid, self-signed certs will be generated
  224. # -- TLS cert directory path
  225. certDir: /etc/tls
  226. # -- TLS cert file path
  227. certFile: /etc/tls/tls.crt
  228. # -- TLS key file path
  229. keyFile: /etc/tls/tls.key
  230. service:
  231. # -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
  232. enabled: false
  233. # -- Metrics service port to scrape
  234. port: 8080
  235. # -- Additional service annotations
  236. annotations: {}
  237. grafanaDashboard:
  238. # -- If true creates a Grafana dashboard.
  239. enabled: false
  240. # -- Label that ConfigMaps should have to be loaded as dashboards.
  241. sidecarLabel: "grafana_dashboard"
  242. # -- Label value that ConfigMaps should have to be loaded as dashboards.
  243. sidecarLabelValue: "1"
  244. # -- Annotations that ConfigMaps can have to get configured in Grafana,
  245. # See: sidecar.dashboards.folderAnnotation for specifying the dashboard folder.
  246. # https://github.com/grafana/helm-charts/tree/main/charts/grafana
  247. annotations: {}
  248. # -- Extra labels to add to the Grafana dashboard ConfigMap.
  249. extraLabels: {}
  250. livenessProbe:
  251. # -- Enabled determines if the liveness probe should be used or not. By default it's disabled.
  252. enabled: false
  253. # -- The body of the liveness probe settings.
  254. spec:
  255. # -- Address for liveness probe.
  256. address: ""
  257. # -- Specify the maximum amount of time to wait for a probe to respond before considering it fails.
  258. timeoutSeconds: 5
  259. # -- Number of consecutive probe failures that should occur before considering the probe as failed.
  260. failureThreshold: 5
  261. # -- Period in seconds for K8s to start performing probes.
  262. periodSeconds: 10
  263. # -- Number of successful probes to mark probe successful.
  264. successThreshold: 1
  265. # -- Delay in seconds for the container to start before performing the initial probe.
  266. initialDelaySeconds: 10
  267. # -- Handler for liveness probe.
  268. httpGet:
  269. # -- Set this value to 8082 to active liveness probes.
  270. # @schema type: [string, integer]
  271. port: 8082
  272. # -- Path for liveness probe.
  273. path: /healthz
  274. nodeSelector: {}
  275. tolerations: []
  276. topologySpreadConstraints: []
  277. affinity: {}
  278. # -- Pod priority class name.
  279. priorityClassName: ""
  280. # -- Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  281. podDisruptionBudget:
  282. enabled: false
  283. minAvailable: 1 # @schema type:[integer, string]
  284. nameOverride: ""
  285. # maxUnavailable: "50%"
  286. # -- Run the controller on the host network
  287. hostNetwork: false
  288. webhook:
  289. # -- Annotations to place on validating webhook configuration.
  290. annotations: {}
  291. # -- 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.
  292. create: true
  293. # -- Specifies the time to check if the cert is valid
  294. certCheckInterval: "5m"
  295. # -- Specifies the lookaheadInterval for certificate validity
  296. lookaheadInterval: ""
  297. replicaCount: 1
  298. # -- Specifies Log Params to the Webhook
  299. log:
  300. level: info
  301. timeEncoding: epoch
  302. # -- Specifies the amount of historic ReplicaSets k8s should keep (see https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
  303. revisionHistoryLimit: 10
  304. certDir: /tmp/certs
  305. # -- Specifies whether validating webhooks should be created with failurePolicy: Fail or Ignore
  306. failurePolicy: Fail
  307. # -- Specifies if webhook pod should use hostNetwork or not.
  308. hostNetwork: false
  309. image:
  310. repository: oci.external-secrets.io/external-secrets/external-secrets
  311. pullPolicy: IfNotPresent
  312. # -- The image tag to use. The default is the chart appVersion.
  313. tag: ""
  314. # -- The flavour of tag you want to use
  315. flavour: ""
  316. imagePullSecrets: []
  317. # -- The port the webhook will listen to
  318. port: 10250
  319. serviceAccount:
  320. # -- Specifies whether a service account should be created.
  321. create: true
  322. # -- Automounts the service account token in all containers of the pod
  323. automount: true
  324. # -- Annotations to add to the service account.
  325. annotations: {}
  326. # -- Extra Labels to add to the service account.
  327. extraLabels: {}
  328. # -- The name of the service account to use.
  329. # If not set and create is true, a name is generated using the fullname template.
  330. name: ""
  331. nodeSelector: {}
  332. certManager:
  333. # -- Enabling cert-manager support will disable the built in secret and
  334. # switch to using cert-manager (installed separately) to automatically issue
  335. # and renew the webhook certificate. This chart does not install
  336. # cert-manager for you, See https://cert-manager.io/docs/
  337. enabled: false
  338. # -- Automatically add the cert-manager.io/inject-ca-from annotation to the
  339. # webhooks and CRDs. As long as you have the cert-manager CA Injector
  340. # enabled, this will automatically setup your webhook's CA to the one used
  341. # by cert-manager. See https://cert-manager.io/docs/concepts/ca-injector
  342. addInjectorAnnotations: true
  343. cert:
  344. # -- Create a certificate resource within this chart. See
  345. # https://cert-manager.io/docs/usage/certificate/
  346. create: true
  347. # -- For the Certificate created by this chart, setup the issuer. See
  348. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.IssuerSpec
  349. issuerRef:
  350. group: cert-manager.io
  351. kind: "Issuer"
  352. name: "my-issuer"
  353. # -- Set the requested duration (i.e. lifetime) of the Certificate. See
  354. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
  355. # One year by default.
  356. duration: "8760h0m0s"
  357. # -- Set the revisionHistoryLimit on the Certificate. See
  358. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
  359. # Defaults to 0 (ignored).
  360. revisionHistoryLimit: 0
  361. # -- How long before the currently issued certificate’s expiry
  362. # cert-manager should renew the certificate. See
  363. # https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
  364. # Note that renewBefore should be greater than .webhook.lookaheadInterval
  365. # since the webhook will check this far in advance that the certificate is
  366. # valid.
  367. renewBefore: ""
  368. # -- Add extra annotations to the Certificate resource.
  369. annotations: {}
  370. tolerations: []
  371. topologySpreadConstraints: []
  372. affinity: {}
  373. # -- Set deployment strategy
  374. strategy: {}
  375. # -- Pod priority class name.
  376. priorityClassName: ""
  377. # -- Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  378. podDisruptionBudget:
  379. enabled: false
  380. minAvailable: 1 # @schema type:[integer, string]
  381. nameOverride: ""
  382. # maxUnavailable: "50%"
  383. metrics:
  384. listen:
  385. port: 8080
  386. service:
  387. # -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
  388. enabled: false
  389. # -- Metrics service port to scrape
  390. port: 8080
  391. # -- Additional service annotations
  392. annotations: {}
  393. readinessProbe:
  394. # -- Address for readiness probe
  395. address: ""
  396. # -- ReadinessProbe port for kubelet
  397. port: 8081
  398. ## -- Extra environment variables to add to container.
  399. extraEnv: []
  400. ## -- Map of extra arguments to pass to container.
  401. extraArgs: {}
  402. ## -- Extra init containers to add to the pod.
  403. extraInitContainers: []
  404. ## -- Extra volumes to pass to pod.
  405. extraVolumes: []
  406. ## -- Extra volumes to mount to the container.
  407. extraVolumeMounts: []
  408. # -- Annotations to add to Secret
  409. secretAnnotations: {}
  410. # -- Annotations to add to Deployment
  411. deploymentAnnotations: {}
  412. # -- Annotations to add to Pod
  413. podAnnotations: {}
  414. podLabels: {}
  415. podSecurityContext:
  416. enabled: true
  417. # fsGroup: 2000
  418. securityContext:
  419. allowPrivilegeEscalation: false
  420. capabilities:
  421. drop:
  422. - ALL
  423. enabled: true
  424. readOnlyRootFilesystem: true
  425. runAsNonRoot: true
  426. runAsUser: 1000
  427. seccompProfile:
  428. type: RuntimeDefault
  429. resources: {}
  430. # requests:
  431. # cpu: 10m
  432. # memory: 32Mi
  433. # -- Manage the service through which the webhook is reached.
  434. service:
  435. # -- Whether the service object should be enabled or not (it is expected to exist).
  436. enabled: true
  437. # -- Custom annotations for the webhook service.
  438. annotations: {}
  439. # -- Custom labels for the webhook service.
  440. labels: {}
  441. # -- The service type of the webhook service.
  442. type: ClusterIP
  443. # -- If the webhook service type is LoadBalancer, you can assign a specific load balancer IP here.
  444. # Check the documentation of your load balancer provider to see if/how this should be used.
  445. loadBalancerIP: ""
  446. certController:
  447. # -- Specifies whether a certificate controller deployment be created.
  448. create: true
  449. requeueInterval: "5m"
  450. replicaCount: 1
  451. # -- Specifies Log Params to the Certificate Controller
  452. log:
  453. level: info
  454. timeEncoding: epoch
  455. # -- Specifies the amount of historic ReplicaSets k8s should keep (see https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy)
  456. revisionHistoryLimit: 10
  457. image:
  458. repository: oci.external-secrets.io/external-secrets/external-secrets
  459. pullPolicy: IfNotPresent
  460. tag: ""
  461. flavour: ""
  462. imagePullSecrets: []
  463. rbac:
  464. # -- Specifies whether role and rolebinding resources should be created.
  465. create: true
  466. serviceAccount:
  467. # -- Specifies whether a service account should be created.
  468. create: true
  469. # -- Automounts the service account token in all containers of the pod
  470. automount: true
  471. # -- Annotations to add to the service account.
  472. annotations: {}
  473. # -- Extra Labels to add to the service account.
  474. extraLabels: {}
  475. # -- The name of the service account to use.
  476. # If not set and create is true, a name is generated using the fullname template.
  477. name: ""
  478. nodeSelector: {}
  479. tolerations: []
  480. topologySpreadConstraints: []
  481. affinity: {}
  482. # -- Set deployment strategy
  483. strategy: {}
  484. # -- Run the certController on the host network
  485. hostNetwork: false
  486. # -- Pod priority class name.
  487. priorityClassName: ""
  488. # -- Pod disruption budget - for more details see https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  489. podDisruptionBudget:
  490. enabled: false
  491. minAvailable: 1 # @schema type:[integer, string]
  492. nameOverride: ""
  493. # maxUnavailable: "50%"
  494. metrics:
  495. listen:
  496. port: 8080
  497. service:
  498. # -- Enable if you use another monitoring tool than Prometheus to scrape the metrics
  499. enabled: false
  500. # -- Metrics service port to scrape
  501. port: 8080
  502. # -- Additional service annotations
  503. annotations: {}
  504. readinessProbe:
  505. # -- Address for readiness probe
  506. address: ""
  507. # -- ReadinessProbe port for kubelet
  508. port: 8081
  509. startupProbe:
  510. # -- Enabled determines if the startup probe should be used or not. By default it's enabled
  511. enabled: false
  512. # -- whether to use the readiness probe port for startup probe.
  513. useReadinessProbePort: true
  514. # -- Port for startup probe.
  515. port: ""
  516. ## -- Extra environment variables to add to container.
  517. extraEnv: []
  518. ## -- Map of extra arguments to pass to container.
  519. extraArgs: {}
  520. ## -- Extra init containers to add to the pod.
  521. extraInitContainers: []
  522. ## -- Extra volumes to pass to pod.
  523. extraVolumes: []
  524. ## -- Extra volumes to mount to the container.
  525. extraVolumeMounts: []
  526. # -- Annotations to add to Deployment
  527. deploymentAnnotations: {}
  528. # -- Annotations to add to Pod
  529. podAnnotations: {}
  530. podLabels: {}
  531. podSecurityContext:
  532. enabled: true
  533. # fsGroup: 2000
  534. securityContext:
  535. allowPrivilegeEscalation: false
  536. capabilities:
  537. drop:
  538. - ALL
  539. enabled: true
  540. readOnlyRootFilesystem: true
  541. runAsNonRoot: true
  542. runAsUser: 1000
  543. seccompProfile:
  544. type: RuntimeDefault
  545. resources: {}
  546. # requests:
  547. # cpu: 10m
  548. # memory: 32Mi
  549. # -- Specifies `dnsPolicy` to deployment
  550. dnsPolicy: ClusterFirst
  551. # -- Specifies `dnsOptions` to deployment
  552. dnsConfig: {}
  553. # -- Any extra pod spec on the deployment
  554. podSpecExtra: {}