Istio CSR Helm values¶
nameOverride¶
Property | nameOverride |
---|---|
Type | string |
Default |
nameOverride replaces the name of the chart in the Chart.yaml file, when this is used to construct Kubernetes object names.
replicaCount¶
Property | replicaCount |
---|---|
Type | number |
Default |
|
Number of replicas of Istio CSR to run.
image.registry¶
Property | image.registry |
---|---|
Type | string |
Default |
|
Target image registry. This value is prepended to the target image repository, if set.
For example:
registry: quay.io
repository: jetstack/cert-manager-istio-csr
image.repository¶
Property | image.repository |
---|---|
Type | string |
Default |
|
Target image repository.
image.tag¶
Property | image.tag |
---|---|
Type | string |
Default |
Override the image tag to deploy by setting this variable. If no value is set, the chart's appVersion is used.
image.digest¶
Property | image.digest |
---|---|
Type | string |
Default |
|
Target image digest. Override any tag, if set.
For example:
digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
image.pullPolicy¶
Property | image.pullPolicy |
---|---|
Type | string |
Default |
|
Kubernetes imagePullPolicy on Deployment.
imagePullSecrets¶
Property | imagePullSecrets |
---|---|
Type | array |
Default |
|
Optional secrets used for pulling the Istio CSR container image.
service.type¶
Property | service.type |
---|---|
Type | string |
Default |
|
Service type to expose Istio CSR gRPC service.
service.port¶
Property | service.port |
---|---|
Type | number |
Default |
|
Service port to expose Istio CSR gRPC service.
service.nodePort¶
Property | service.nodePort |
---|---|
Type | number |
Default |
Service nodePort to expose Istio CSR gRPC service.
app.logLevel¶
Property | app.logLevel |
---|---|
Type | number |
Default |
|
Verbosity of Istio CSR logging.
app.logFormat¶
Property | app.logFormat |
---|---|
Type | string |
Default |
|
Output format of Istio CSR logging.
app.metrics.port¶
Property | app.metrics.port |
---|---|
Type | number |
Default |
|
Port for exposing Prometheus metrics on 0.0.0.0 on path '/metrics'.
app.metrics.service.enabled¶
Property | app.metrics.service.enabled |
---|---|
Type | bool |
Default |
|
Create a Service resource to expose metrics endpoint.
app.metrics.service.type¶
Property | app.metrics.service.type |
---|---|
Type | string |
Default |
|
Service type to expose metrics.
app.metrics.service.servicemonitor.enabled¶
Property | app.metrics.service.servicemonitor.enabled |
---|---|
Type | bool |
Default |
|
Create Prometheus ServiceMonitor resource for approver-policy.
app.metrics.service.servicemonitor.prometheusInstance¶
Property | app.metrics.service.servicemonitor.prometheusInstance |
---|---|
Type | string |
Default |
|
The value for the "prometheus" label on the ServiceMonitor. This allows for multiple Prometheus instances selecting difference ServiceMonitors using label selectors.
app.metrics.service.servicemonitor.interval¶
Property | app.metrics.service.servicemonitor.interval |
---|---|
Type | string |
Default |
|
The interval that the Prometheus will scrape for metrics.
app.metrics.service.servicemonitor.scrapeTimeout¶
Property | app.metrics.service.servicemonitor.scrapeTimeout |
---|---|
Type | string |
Default |
|
The timeout on each metric probe request.
app.metrics.service.servicemonitor.labels¶
Property | app.metrics.service.servicemonitor.labels |
---|---|
Type | object |
Default |
|
Additional labels to give the ServiceMonitor resource.
app.runtimeConfiguration.create¶
Property | app.runtimeConfiguration.create |
---|---|
Type | bool |
Default |
|
Create the runtime-configuration ConfigMap.
app.runtimeConfiguration.name¶
Property | app.runtimeConfiguration.name |
---|---|
Type | string |
Default |
|
The name of a ConfigMap in the installation namespace to watch, providing runtime configuration of an issuer to use.
If create is set to true then this name is used to create the ConfigMap, otherwise the ConfigMap must exist and the "issuer-name", "issuer-kind" and "issuer-group" keys must be present in it.
app.runtimeConfiguration.issuer.name¶
Property | app.runtimeConfiguration.issuer.name |
---|---|
Type | string |
Default |
|
Issuer name set on created CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.runtimeConfiguration.issuer.kind¶
Property | app.runtimeConfiguration.issuer.kind |
---|---|
Type | string |
Default |
|
The issuer kind set on created CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.runtimeConfiguration.issuer.group¶
Property | app.runtimeConfiguration.issuer.group |
---|---|
Type | string |
Default |
|
The issuer group name set on created CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.readinessProbe.port¶
Property | app.readinessProbe.port |
---|---|
Type | number |
Default |
|
Container port to expose Istio CSR HTTP readiness probe on default network interface.
app.readinessProbe.path¶
Property | app.readinessProbe.path |
---|---|
Type | string |
Default |
|
The path to expose the Istio CSR HTTP readiness probe on the default network interface.
app.certmanager.namespace¶
Property | app.certmanager.namespace |
---|---|
Type | string |
Default |
|
The namespace to create CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.certmanager.preserveCertificateRequests¶
Property | app.certmanager.preserveCertificateRequests |
---|---|
Type | bool |
Default |
|
Don't delete created CertificateRequests once they have been signed.
Warning
Do not enable this option in production, or environments with any non-trivial number of workloads for an extended period. Doing so will balloon the resource consumption of both ETCD and the API server, leading to errors and slow down. This option is intended for debugging purposes only, for limited periods.
app.certmanager.additionalAnnotations¶
Property | app.certmanager.additionalAnnotations |
---|---|
Type | array |
Default |
|
Additional annotations to include on certificate requests.
Takes key/value pairs in the format:
additionalAnnotations:
- name: custom.cert-manager.io/policy-name
value: istio-csr
app.certmanager.issuer.enabled¶
Property | app.certmanager.issuer.enabled |
---|---|
Type | bool |
Default |
|
Enable the default issuer, this is the issuer used when no runtime configuration is provided.
When enabled, the Istio CSR Pod will not be "Ready" until the issuer has been used to issue the Istio CSR GRPC certificate.
For Istio CSR to function, either this or runtime configuration must be enabled.
app.certmanager.issuer.name¶
Property | app.certmanager.issuer.name |
---|---|
Type | string |
Default |
|
The issuer name set on created CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.certmanager.issuer.kind¶
Property | app.certmanager.issuer.kind |
---|---|
Type | string |
Default |
|
The issuer kind set on created CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.certmanager.issuer.group¶
Property | app.certmanager.issuer.group |
---|---|
Type | string |
Default |
|
The issuer group name set on created CertificateRequests for both Istio CSR's serving certificate and incoming gRPC CSRs.
app.tls.trustDomain¶
Property | app.tls.trustDomain |
---|---|
Type | string |
Default |
|
The Istio cluster's trust domain.
app.tls.rootCAFile¶
Property | app.tls.rootCAFile |
---|---|
Type | unknown |
Default |
|
An optional file location to a PEM encoded root CA that the root CA. ConfigMap in all namespaces will be populated with. If empty, the CA returned from cert-manager for the serving certificate will be used.
app.tls.certificateDNSNames[0]¶
Property | app.tls.certificateDNSNames[0] |
---|---|
Type | string |
Default |
|
app.tls.certificateDuration¶
Property | app.tls.certificateDuration |
---|---|
Type | string |
Default |
|
Requested duration of gRPC serving certificate. Will be automatically renewed.
Based on NIST 800-204A recommendations (SM-DR13). For more information, see here.
app.tls.istiodCertificateEnable¶
Property | app.tls.istiodCertificateEnable |
---|---|
Type | boolean,string,null |
Default |
|
If true, create the istiod certificate using a cert-manager certificate as part of the install. If set to "dynamic", will create the cert dynamically when Istio CSR pods start up. If false, no cert is created.
app.tls.istiodCertificateDuration¶
Property | app.tls.istiodCertificateDuration |
---|---|
Type | string |
Default |
|
Requested duration of istio's Certificate. It will be automatically renewed. The default is based on NIST 800-204A recommendations (SM-DR13). For more information, see here.
Warning
cert-manager does not allow a duration on Certificates less than 1 hour.
app.tls.istiodCertificateRenewBefore¶
Property | app.tls.istiodCertificateRenewBefore |
---|---|
Type | string |
Default |
|
Amount of time to wait before trying to renew the istiod certificate. This value must be smaller than the certificate's duration.
app.tls.istiodPrivateKeyAlgorithm¶
Property | app.tls.istiodPrivateKeyAlgorithm |
---|---|
Type | string |
Default |
|
Private key algorithm to use. For backwards compatibility, this defaults to the same value as app.server.serving.signatureAlgorithm
.
app.tls.istiodPrivateKeySize¶
Property | app.tls.istiodPrivateKeySize |
---|---|
Type | number |
Default |
|
The parameter for the istiod certificate key. For RSA, this must be a number of bits >= 2048. For ECDSA, it can only be 256 or 384, corresponding to P-256 and P-384 respectively.
app.tls.istiodAdditionalDNSNames¶
Property | app.tls.istiodAdditionalDNSNames |
---|---|
Type | array |
Default |
|
Provide additional DNS names to request on the istiod certificate. This is useful if istiod is accessible via multiple DNS names and/or outside of the cluster.
app.server.authenticators.enableClientCert¶
Property | app.server.authenticators.enableClientCert |
---|---|
Type | bool |
Default |
|
Enable the client certificate authenticator. This will allow workloads to use preexisting certificates to authenticate with Istio CSR when rotating their certificate.
app.server.clusterID¶
Property | app.server.clusterID |
---|---|
Type | string |
Default |
|
The istio cluster ID to verify incoming CSRs.
app.server.maxCertificateDuration¶
Property | app.server.maxCertificateDuration |
---|---|
Type | string |
Default |
|
Maximum validity duration that can be requested for a certificate. Istio CSR will request a duration of the smaller of this value, and that of the incoming gRPC CSR.
Based on NIST 800-204A recommendations (SM-DR13). For more information, see here.
app.server.serving.address¶
Property | app.server.serving.address |
---|---|
Type | string |
Default |
|
Container address to serve Istio CSR gRPC service.
app.server.serving.port¶
Property | app.server.serving.port |
---|---|
Type | number |
Default |
|
Container port to serve Istio CSR gRPC service.
app.server.serving.certificateKeySize¶
Property | app.server.serving.certificateKeySize |
---|---|
Type | number |
Default |
|
The parameter for serving certificate key. For RSA, this must be a number of bits >= 2048. For ECDSA, it can only be 256 or 384, corresponding to P-256 and P-384 respectively.
app.server.serving.signatureAlgorithm¶
Property | app.server.serving.signatureAlgorithm |
---|---|
Type | string |
Default |
|
The type of private key to generate for the serving certificate. Only RSA (default) and ECDSA are supported. NB: This variable is named incorrectly; it controls private key algorithm, not signature algorithm.
app.server.caTrustedNodeAccounts¶
Property | app.server.caTrustedNodeAccounts |
---|---|
Type | string |
Default |
|
A comma-separated list of service accounts that are allowed to use node authentication for CSRs, eg. "istio-system/ztunnel"
app.istio.revisions[0]¶
Property | app.istio.revisions[0] |
---|---|
Type | string |
Default |
|
app.istio.namespace¶
Property | app.istio.namespace |
---|---|
Type | string |
Default |
|
The namespace where the istio control-plane is running.
app.controller.leaderElectionNamespace¶
Property | app.controller.leaderElectionNamespace |
---|---|
Type | string |
Default |
|
app.controller.configmapNamespaceSelector¶
Property | app.controller.configmapNamespaceSelector |
---|---|
Type | string |
Default |
|
If set, limit where Istio CSR creates configmaps with root ca certificates. If unset, configmap created in ALL namespaces.
Example: maistra.io/member-of=istio-system
app.controller.disableKubernetesClientRateLimiter¶
Property | app.controller.disableKubernetesClientRateLimiter |
---|---|
Type | bool |
Default |
|
This parameter allows you to disable the default Kubernetes client rate limiter if Istio CSR exceeds the default QPS (5) and Burst (10) limits. For example, in large clusters with many Istio workloads, restarting the Pods may cause Istio CSR to send bursts Kubernetes API requests that exceed the limits of the default Kubernetes client rate limiter and Istio CSR will become slow to issue certificates for your workloads. Only disable client rate limiting if the Kubernetes API server supports API Priority and Fairness, to avoid overloading the server.
deploymentLabels¶
Property | deploymentLabels |
---|---|
Type | object |
Default |
|
Optional extra labels for deployment.
deploymentAnnotations¶
Property | deploymentAnnotations |
---|---|
Type | object |
Default |
|
Optional extra annotations for deployment.
podLabels¶
Property | podLabels |
---|---|
Type | object |
Default |
|
Optional extra labels for pod.
podAnnotations¶
Property | podAnnotations |
---|---|
Type | object |
Default |
|
Optional extra annotations for pod.
volumes¶
Property | volumes |
---|---|
Type | array |
Default |
|
Optional extra volumes. Useful for mounting custom root CAs.
For example:
volumes:
- name: root-ca
secret:
secretName: root-cert
volumeMounts¶
Property | volumeMounts |
---|---|
Type | array |
Default |
|
Optional extra volume mounts. Useful for mounting custom root CAs.
For example:
volumeMounts:
- name: root-ca
mountPath: /etc/tls
resources¶
Property | resources |
---|---|
Type | object |
Default |
|
Kubernetes pod resources. For more information, see Resource Management for Pods and Containers.
For example:
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
securityContext.allowPrivilegeEscalation¶
Property | securityContext.allowPrivilegeEscalation |
---|---|
Type | bool |
Default |
|
securityContext.readOnlyRootFilesystem¶
Property | securityContext.readOnlyRootFilesystem |
---|---|
Type | bool |
Default |
|
securityContext.runAsNonRoot¶
Property | securityContext.runAsNonRoot |
---|---|
Type | bool |
Default |
|
securityContext.capabilities.drop[0]¶
Property | securityContext.capabilities.drop[0] |
---|---|
Type | string |
Default |
|
affinity¶
Property | affinity |
---|---|
Type | object |
Default |
|
Expects input structure as per specification.
For example:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: foo.bar.com/role
operator: In
values:
- master
tolerations¶
Property | tolerations |
---|---|
Type | array |
Default |
|
Expects input structure as per specification.
For example:
tolerations:
- key: foo.bar.com/role
operator: Equal
value: master
effect: NoSchedule
topologySpreadConstraints¶
Property | topologySpreadConstraints |
---|---|
Type | array |
Default |
|
List of Kubernetes TopologySpreadConstraints. For more information, see TopologySpreadConstraint v1 core.
For example:
topologySpreadConstraints:
- maxSkew: 2
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app.kubernetes.io/name: cert-manager-istio-csr
app.kubernetes.io/instance: istio-csr
nodeSelector¶
Property | nodeSelector |
---|---|
Type | object |
Default |
|
Kubernetes node selector: node labels for pod assignment.
commonLabels¶
Property | commonLabels |
---|---|
Type | object |
Default |
|
Labels to apply to all resources
extraObjects¶
Property | extraObjects |
---|---|
Type | array |
Default |
|
Create resources alongside installing Istio CSR, via Helm values. Can accept an array of YAML-formatted resources. Each array entry can include multiple YAML documents, separated by '---'
For example:
extraObjects:
- |
apiVersion: v1
kind: ConfigMap
metadata:
name: '{{ template "cert-manager-istio-csr.fullname" . }}-extra-configmap'