1# nameOverride replaces the name of the chart in the Chart.yaml file when this
2# is used to construct Kubernetes object names.
4# nameOverride: istio-csr
6# The number of replicas of istio-csr to run.
9 # Target image registry. This value is prepended to the target image repository, if set.
12 # repository: jetstack/cert-manager-istio-csr
16 # Target image repository.
17 repository: chainreg.biz/chainguard-private/cert-manager-istio-csr
18 # Override the image tag to deploy by setting this variable.
19 # If no value is set, the chart's appVersion is used.
23 # Target image digest. Override any tag, if set.
25 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
29 # Kubernetes imagePullPolicy on Deployment.
30 pullPolicy: IfNotPresent
32 digest: sha256:85c84bde51371aa17bcb0744af3aacf9aa0d362d5c009e80333e33c30418dd70
33# Optional secrets used for pulling the istio-csr container image.
36 # Service type to expose the istio-csr gRPC service.
38 # Service port to expose the istio-csr gRPC service.
40 # Service nodePort to expose the istio-csr gRPC service.
45 # Verbosity of istio-csr logging.
47 # Output format of istio-csr logging.
48 logFormat: text # text or json
50 # Port for exposing Prometheus metrics on 0.0.0.0 on path '/metrics'.
52 # Service to expose metrics endpoint.
54 # Create a Service resource to expose the metrics endpoint.
56 # Service type to expose metrics.
58 # The ServiceMonitor resource for this Service.
60 # Create a Prometheus ServiceMonitor resource.
62 # The value for the "prometheus" label on the ServiceMonitor. This allows
63 # for multiple Prometheus instances selecting different ServiceMonitors
64 # using label selectors.
65 prometheusInstance: default
66 # The interval at which Prometheus will scrape for metrics.
68 # The timeout on each metric probe request.
70 # Additional labels to give the ServiceMonitor resource.
72 # DEPRECATED: moved to app.runtimeConfiguration.name
74 # Name of a ConfigMap in the installation namespace to watch, providing
75 # runtime configuration of an issuer to use.
77 # The "issuer-name", "issuer-kind" and "issuer-group" keys must be present in
78 # the ConfigMap for it to be used.
81 runtimeIssuanceConfigMap: ""
83 # Create the runtime-configuration ConfigMap.
85 # Name of a ConfigMap in the installation namespace to watch, providing
86 # runtime configuration of an issuer to use.
88 # If create is set to true, then this name is used to create the ConfigMap,
89 # otherwise the ConfigMap must exist, and the "issuer-name", "issuer-kind"
90 # and "issuer-group" keys must be present in it.
93 # Issuer name set on created CertificateRequests for both istio-csr's
94 # serving certificate and incoming gRPC CSRs.
96 # Issuer kind set on created CertificateRequests for both istio-csr's
97 # serving certificate and incoming gRPC CSRs.
99 # Issuer group name set on created CertificateRequests for both
100 # istio-csr's serving certificate and incoming gRPC CSRs.
101 group: cert-manager.io
103 # Container port to expose the istio-csr HTTP readiness probe on the default network interface.
105 # Path to expose the istio-csr HTTP readiness probe on the default network interface.
108 # Namespace to create CertificateRequests for both istio-csr's serving
109 # certificate and incoming gRPC CSRs.
110 namespace: istio-system
111 # Don't delete created CertificateRequests once they have been signed.
112 # WARNING: Do not enable this option in production, or environments with
113 # any non-trivial number of workloads for an extended period of time. Doing
114 # so will balloon the resource consumption of both ETCD and the API server,
115 # leading to errors and slow down. This option is intended for debugging
116 # purposes only, for limited periods of time.
117 preserveCertificateRequests: false
118 # Additional annotations to include on certificate requests.
119 # Takes key/value pairs in the format:
120 # additionalAnnotations:
121 # - name: custom.cert-manager.io/policy-name
123 additionalAnnotations: []
125 # Enable the default issuer, this is the issuer used when no runtime
126 # configuration is provided.
128 # When enabled, the istio-csr Pod will not be "Ready" until the issuer
129 # has been used to issue the istio-csr GRPC certificate.
131 # For istio-csr to function, either this or runtime configuration must be
134 # Issuer name set on created CertificateRequests for both istio-csr's
135 # serving certificate and incoming gRPC CSRs.
137 # Issuer kind set on created CertificateRequests for both istio-csr's
138 # serving certificate and incoming gRPC CSRs.
140 # Issuer group name set on created CertificateRequests for both
141 # istio-csr's serving certificate and incoming gRPC CSRs.
142 group: cert-manager.io
144 # The Istio cluster's trust domain.
145 trustDomain: "cluster.local"
146 # An optional file location to a PEM encoded root CA that the root CA
147 # ConfigMap in all namespaces will be populated with. If empty, the CA
148 # returned from cert-manager for the serving certificate will be used.
149 rootCAFile: # /var/certs/ca.pem
150 # The DNS names to request for the server's serving certificate which is
151 # presented to istio-agents. istio-agents must route to istio-csr using one
152 # of these DNS names.
154 - cert-manager-istio-csr.cert-manager.svc
155 # Requested duration of the gRPC serving certificate. Will be automatically
157 # Based on [NIST 800-204A recommendations (SM-DR13)](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-204A.pdf).
158 certificateDuration: 1h
159 # If true, create the istiod certificate using a cert-manager certificate as part
160 # of the install. If set to "dynamic", will create the cert dynamically when
161 # istio-csr pods start up. If false, no cert is created.
162 # +docs:type=boolean,string,null
163 istiodCertificateEnable: true
164 # Requested duration of istio's Certificate. Will be automatically renewed.
165 # Default is based on [NIST 800-204A recommendations (SM-DR13)](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-204A.pdf).
166 # Warning: cert-manager does not allow a duration on Certificates less than 1 hour.
167 istiodCertificateDuration: 1h
168 # Amount of time to wait before trying to renew the istiod certificate.
169 # Must be smaller than the certificate's duration.
170 istiodCertificateRenewBefore: 30m
171 # Private key algorithm to use. For backwards compatibility, defaults to the same value as app.server.serving.signatureAlgorithm
172 istiodPrivateKeyAlgorithm: ""
173 # Parameter for the istiod certificate key. For RSA, must be a number of bits >= 2048. For ECDSA, can only be 256 or 384, corresponding to P-256 and P-384 respectively.
174 istiodPrivateKeySize: 2048
175 # Provide additional DNS names to request on the istiod certificate. Useful if istiod
176 # should be accessible via multiple DNS names and/or outside of the cluster.
177 istiodAdditionalDNSNames: []
180 # Enable the client certificate authenticator. This will allow workloads to use preexisting certificates to
181 # authenticate with istio-csr when rotating their certificate.
182 enableClientCert: false
183 # The istio cluster ID to verify incoming CSRs.
184 clusterID: "Kubernetes"
185 # Maximum validity duration that can be requested for a certificate.
186 # istio-csr will request a duration of the smaller of this value, and that of
187 # the incoming gRPC CSR.
188 # Based on [NIST 800-204A recommendations (SM-DR13)](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-204A.pdf).
189 maxCertificateDuration: 1h
191 # Container address to serve the istio-csr gRPC service.
193 # Container port to serve the istio-csr gRPC service.
195 # Parameter for the serving certificate key. For RSA, must be a number of bits >= 2048. For ECDSA, can only be 256 or 384, corresponding to P-256 and P-384 respectively.
196 certificateKeySize: 2048
197 # The type of private key to generate for the serving certificate. Only RSA (default) and ECDSA are supported.
198 # NB: This variable is named incorrectly; it controls private key algorithm, not signature algorithm.
199 signatureAlgorithm: "RSA"
200 # A comma-separated list of service accounts that are allowed to use node authentication for CSRs, e.g. "istio-system/ztunnel".
201 caTrustedNodeAccounts: ""
203 # The istio revisions that are currently installed in the cluster.
204 # Changing this field will modify the DNS names that will be requested for
205 # the istiod certificate (if enabled).
206 # The common name for the istiod certificate is hard coded to the `default` revision
208 # Some issuers may require that the common name on certificates match one
209 # of the DNS names. If 1. Your issuer has this constraint, and 2. You are
210 # not using `default` as a revision, add the `default` revision here
211 # anyway. The resulting certificate will include a DNS name that won't be
212 # used, but will pass this constraint.
213 revisions: ["default"]
214 # The namespace where the istio control-plane is running.
215 namespace: istio-system
217 leaderElectionNamespace: istio-system
218 # If set, limit where istio-csr creates configmaps with root CA certificates. If unset, configmap created in ALL namespaces.
219 # Example: maistra.io/member-of=istio-system
222 # configmapNamespaceSelector:
224 # Allows you to disable the default Kubernetes client rate limiter if
225 # istio-csr is exceeding the default QPS (5) and Burst (10) limits.
226 # For example, in large clusters with many Istio workloads, restarting the Pods may cause
227 # istio-csr to send bursts of Kubernetes API requests that exceed the limits of
228 # the default Kubernetes client rate limiter, and istio-csr will become slow to issue
229 # certificates for your workloads.
230 # Only disable client rate limiting if the Kubernetes API server supports
231 # [API Priority and Fairness](https://kubernetes.io/docs/concepts/cluster-administration/flow-control/),
232 # to avoid overloading the server.
233 disableKubernetesClientRateLimiter: false
234# Optional extra labels for deployment.
236# Optional extra annotations for deployment.
237deploymentAnnotations: {}
238# Optional extra labels for pod.
240# Optional extra annotations for pod.
242# Optional extra volumes. Useful for mounting custom root CAs.
248# secretName: root-cert
250# Optional extra volume mounts. Useful for mounting custom root CAs.
257# Kubernetes [pod resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
268# Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
270# See the default values for an example.
273 allowPrivilegeEscalation: false
274 readOnlyRootFilesystem: true
281# Expects input structure as per [specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#affinity-v1-core).
286# requiredDuringSchedulingIgnoredDuringExecution:
289# - key: foo.bar.com/role
294# Expects input structure as per [specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#toleration-v1-core).
298# - key: foo.bar.com/role
303# List of Kubernetes TopologySpreadConstraints. For more information, see [TopologySpreadConstraint v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#topologyspreadconstraint-v1-core).
305# topologySpreadConstraints:
307# topologyKey: topology.kubernetes.io/zone
308# whenUnsatisfiable: ScheduleAnyway
311# app.kubernetes.io/name: cert-manager-istio-csr
312# app.kubernetes.io/instance: istio-csr
313topologySpreadConstraints: []
314# Kubernetes node selector: node labels for pod assignment.
315# +docs:property=nodeSelector
317 kubernetes.io/os: linux
318# Labels to apply to all resources.
320# Create resources alongside installing istio-csr, via Helm values. Can accept an array of YAML-formatted
321# resources. Each array entry can include multiple YAML documents, separated by '---'.
329# name: '{{ template "cert-manager-istio-csr.fullname" . }}-extra-configmap'
331# Configures a disruption budget for istio-csr.
333 # Enable or disable the PodDisruptionBudget resource for istio-csr.
335 # This configures the minimum available pods for disruptions. It can either be set to
336 # an integer (e.g., 1) or a percentage value (e.g., 25%).
337 # It cannot be used if `maxUnavailable` is set.
339 # +docs:type=string,integer
342 # This configures the maximum unavailable pods for disruptions. It can either be set to
343 # an integer (e.g., 1) or a percentage value (e.g., 25%).
344 # it cannot be used if `minAvailable` is set.
346 # +docs:type=string,integer