Distributed Issuer Helm values¶
fullnameOverride¶
| Property | fullnameOverride |
|---|---|
| Type | string |
| Default | "" |
Override the distributed-issuer.fullname value. This value is used as part of most of the names of the resources created by this Helm chart.
nameOverride¶
| Property | nameOverride |
|---|---|
| Type | string |
| Default | "" |
Override the distributed-issuer.name value, which is used to annotate some of the resources that are created by this Chart (using app.kubernetes.io/name).
CRDs¶
The CRDs installed by this chart are annotated with helm.sh/resource-policy: keep. This prevents them from being accidentally removed by Helm when this chart is deleted. After deleting the installed chart, the user still has to remove the remaining CRDs manually.
crds.forceRemoveValidationAnnotations¶
| Property | crds.forceRemoveValidationAnnotations |
|---|---|
| Type | bool |
| Default | false |
The x-kubernetes-validations annotation is not supported in Kubernetes 1.22 or earlier. This annotation is used by CEL, which is a feature introduced in Kubernetes 1.25 that improves how validation is performed. This option allows to force the 'x-kubernetes-validations' annotation to be excluded, even on Kubernetes 1.25+ clusters.
Venafi Connection¶
venafiConnection.include¶
| Property | venafiConnection.include |
|---|---|
| Type | bool |
| Default | false |
When set to false, the rendered output does not contain the VenafiConnection CRD and RBAC. This is useful for when the VenafiConnection CRD is already installed separately. When true, you must set both deployment.config.bootstrap.tpp.connection.create: false and deployment.config.bootstrap.ngts.connection.create: false, because you cannot install the VenafiConnection CRD and a VenafiConnection resource in the same chart.
venafiConnection.serviceAccountNamespace¶
| Property | venafiConnection.serviceAccountNamespace |
|---|---|
| Type | string |
| Default | "" |
The namespace in which the venafi-connection service account lives. This is the service account that is used to create JWT tokens for SAs or read credential secrets. (defaults to the namespace in which the controller is running)
imageRegistry¶
| Property | imageRegistry |
|---|---|
| Type | string |
| Default | registry.ngts.paloaltonetworks.com |
The container registry used for distributed-issuer images by default. This can include path prefixes (e.g. artifactory.example.com/docker).
imageNamespace¶
| Property | imageNamespace |
|---|---|
| Type | string |
| Default | distributed-issuer |
The repository namespace used for distributed-issuer images by default, for example venafi-images or custom-team.
image.repository¶
| Property | image.repository |
|---|---|
| Type | string |
| Default | "" |
Full repository override (takes precedence over imageRegistry, imageNamespace, and image.name). For example, registry.ngts.paloaltonetworks.com/distributed-issuer/distributed-issuer.
image.name¶
| Property | image.name |
|---|---|
| Type | string |
| Default | distributed-issuer |
The image name for distributed-issuer. This is used (together with imageRegistry and imageNamespace) to construct the full image reference.
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 | "" |
Setting a digest pins the image. If a tag is also set, the rendered reference will include both image:tag@digest, though only the digest will be used for pulling.
image.pullPolicy¶
| Property | image.pullPolicy |
|---|---|
| Type | string |
| Default | IfNotPresent |
Override the image pullPolicy.
deployment.enabled¶
| Property | deployment.enabled |
|---|---|
| Type | bool |
| Default | true |
Toggle for running the Distributed Issuer controller inside the kubernetes cluster as an in-cluster Certificate Authority (CA).
deployment.config.bootstrap.selfSigned.enabled¶
| Property | deployment.config.bootstrap.selfSigned.enabled |
|---|---|
| Type | bool |
| Default | false |
Set to true, to bootstrap using a self-signed certificate.
deployment.config.bootstrap.selfSigned.csr.commonName¶
| Property | deployment.config.bootstrap.selfSigned.csr.commonName |
|---|---|
| Type | string |
| Default | "" |
Set the common name of the self-signed certificate
deployment.config.bootstrap.tpp.enabled¶
| Property | deployment.config.bootstrap.tpp.enabled |
|---|---|
| Type | bool |
| Default | false |
Set to true, to bootstrap from TPP server.
deployment.config.bootstrap.tpp.configurationDN¶
| Property | deployment.config.bootstrap.tpp.configurationDN |
|---|---|
| Type | string |
| Default | "" |
The DN of the Distributed Issuer configuration in TPP server.
For example:
\VED\Policy\us-west-1\service-mesh\distributed-issuer
deployment.config.bootstrap.tpp.connection.create¶
| Property | deployment.config.bootstrap.tpp.connection.create |
|---|---|
| Type | bool |
| Default | false |
When set to true, the rendered output will include a VenafiConnection resource and some associated RBAC. These will be installed in the same namespace as Distributed Issuer. This is useful for when the VenafiConnection CRDs have already been installed by another Venafi component. When true, you must set venafiConnection.include: false because the VenafiConnection CRD can not be installed in the same Helm chart as a VenafiConnection resource. When true, you must also supply url, and one of: usernamePassword.enabled: true or serviceAccountToken.enabled: true. When false, you only need fill in the name field. In this case you must manually create the VenafiConnection with the given name and associated RBAC.
deployment.config.bootstrap.tpp.connection.name¶
| Property | deployment.config.bootstrap.tpp.connection.name |
|---|---|
| Type | string |
| Default | "" |
The name of a VenafiConnection resource in the same namespace as Distributed Issuer. If create: true this name can be omitted and by default the chart name will be used. If create: false this name is a required field and you are responsible for creating the VenafiConnection resource and the associated RBAC.
deployment.config.bootstrap.tpp.connection.url¶
| Property | deployment.config.bootstrap.tpp.connection.url |
|---|---|
| Type | string |
| Default | "" |
The base URL of your TPP server server, for example https://tpp.example.internal.
deployment.config.bootstrap.tpp.connection.clientID¶
| Property | deployment.config.bootstrap.tpp.connection.clientID |
|---|---|
| Type | string |
| Default | firefly |
The OAuth clientID (TPP Application Integration ID) to authenticate with.
deployment.config.bootstrap.tpp.connection.usernamePassword.enabled¶
| Property | deployment.config.bootstrap.tpp.connection.usernamePassword.enabled |
|---|---|
| Type | bool |
| Default | false |
Enable username-password authentication. You must put the credentials in a Secret called name, in the same namespace as Distributed Issuer, with the following keys: username, password.
deployment.config.bootstrap.tpp.connection.usernamePassword.name¶
| Property | deployment.config.bootstrap.tpp.connection.usernamePassword.name |
|---|---|
| Type | string |
| Default | "" |
Override the name of the username-password Secret. By default a Secret with the full chart name is assumed. For example: distributed-issuer-credentials.
deployment.config.bootstrap.tpp.connection.serviceAccountToken.enabled¶
| Property | deployment.config.bootstrap.tpp.connection.serviceAccountToken.enabled |
|---|---|
| Type | bool |
| Default | false |
Enable JWT authentication using a Kubernetes ServiceAcccount token.
deployment.config.bootstrap.tpp.connection.serviceAccountToken.audiences¶
| Property | deployment.config.bootstrap.tpp.connection.serviceAccountToken.audiences |
|---|---|
| Type | array |
| Default | - tpp |
Audiences are the intendend audiences of the token. A recipient of a token must identify themself with an identifier in the list of audiences of the token, and otherwise should reject the token. A token issued for multiple audiences may be used to authenticate against any of the audiences listed but implies a high degree of trust between the target audiences.
deployment.config.bootstrap.tpp.csr.instanceNaming¶
| Property | deployment.config.bootstrap.tpp.csr.instanceNaming |
|---|---|
| Type | string |
| Default | "" |
A name for the Distributed Issuer instance (should be unique). This, plus a suffix defined by the Issuer Sub CA provider, will be the common name of the Distributed Issuer CA certificate. Supports environment variable substitution using {ENV_VAR_NAME} syntax. If the specified environment variable is set (has a value), that value will be substituted. If not specified, defaults to the Helm release name.
deployment.config.bootstrap.ngts.enabled¶
| Property | deployment.config.bootstrap.ngts.enabled |
|---|---|
| Type | bool |
| Default | true |
Set to true, to bootstrap from NGTS.
deployment.config.bootstrap.ngts.connection.create¶
| Property | deployment.config.bootstrap.ngts.connection.create |
|---|---|
| Type | bool |
| Default | false |
When set to true, the rendered output will include a VenafiConnection resource and some associated RBAC. These will be installed in the same namespace as Distributed Issuer. This is useful for when the VenafiConnection CRDs have already been installed by another Venafi component. When true, you must set venafiConnection.include: false because the VenafiConnection CRD can not be installed in the same Helm chart as a VenafiConnection resource. When true, you must also supply tsgID or url, and privateKeySecret.enabled: true. When false, you only need fill in the name field. In this case you must manually create the VenafiConnection with the given name and associated RBAC.
deployment.config.bootstrap.ngts.connection.name¶
| Property | deployment.config.bootstrap.ngts.connection.name |
|---|---|
| Type | string |
| Default | "" |
The name of a VenafiConnection resource in the same namespace as Distributed Issuer. If create: true this name can be omitted and by default the chart name will be used. If create: false this name is a required field and you are responsible for creating the VenafiConnection resource and the associated RBAC.
deployment.config.bootstrap.ngts.connection.tsgID¶
| Property | deployment.config.bootstrap.ngts.connection.tsgID |
|---|---|
| Type | number |
| Default | "" |
The NGTS TSGID, used to construct the data plane API URL.
https://<tsgID>.ngts.paloaltonetworks.com will be used as the API URL if url is not set.
deployment.config.bootstrap.ngts.connection.url¶
| Property | deployment.config.bootstrap.ngts.connection.url |
|---|---|
| Type | string |
| Default | "" |
The NGTS data plane API endpoint.
deployment.config.bootstrap.ngts.connection.privateKeySecret.enabled¶
| Property | deployment.config.bootstrap.ngts.connection.privateKeySecret.enabled |
|---|---|
| Type | bool |
| Default | false |
Enable private key authentication.
You must put the credentials in a Secret called secretName, in the same namespace as Distributed Issuer, with the secretKey key containing the private key.
deployment.config.bootstrap.ngts.connection.privateKeySecret.secretName¶
| Property | deployment.config.bootstrap.ngts.connection.privateKeySecret.secretName |
|---|---|
| Type | string |
| Default | ngts-credentials |
Provide the name of the Secret containing the private key linked to your NGTS service account. The svc-acct.key key in this Secret should contain the PEM encoded private key.
deployment.config.bootstrap.ngts.connection.privateKeySecret.clientID¶
| Property | deployment.config.bootstrap.ngts.connection.privateKeySecret.clientID |
|---|---|
| Type | string |
| Default | "" |
The ClientID of your NGTS service account associated with the desired configuration.
deployment.config.bootstrap.ngts.csr.instanceNaming¶
| Property | deployment.config.bootstrap.ngts.csr.instanceNaming |
|---|---|
| Type | string |
| Default | "" |
A name for the Distributed Issuer instance (should be unique). This, plus a suffix defined by the Issuer Sub CA provider, will be the common name of the Distributed Issuer CA certificate. Supports environment variable substitution using {ENV_VAR_NAME} syntax. If the specified environment variable is set (has a value), that value will be substituted. If not specified, defaults to the Helm release name.
deployment.config.policies¶
| Property | deployment.config.policies |
|---|---|
| Type | array |
| Default | "" |
DevMode: Policies to be included in the config.
Only allowed when using a DevMode bootstrap method.
For example:
policies:
- name: Sample Policy
validityPeriod: P7D
keyAlgorithm:
defaultValue: EC_P256
allowedValues:
- EC_P256
keyUsages:
- digitalSignature
extendedKeyUsages:
- ANY
deployment.config.controller.enabled¶
| Property | deployment.config.controller.enabled |
|---|---|
| Type | bool |
| Default | true |
Enable the Kubernetes Controller of Distributed Issuer to listen for cert-manager Certificates
deployment.config.controller.certManager.caRootChainPopulation¶
| Property | deployment.config.controller.certManager.caRootChainPopulation |
|---|---|
| Type | bool |
| Default | false |
Automatically populate the status.ca field with the CA information when set to true
deployment.config.controller.certManager.checkApproval¶
| Property | deployment.config.controller.certManager.checkApproval |
|---|---|
| Type | bool |
| Default | true |
Set to False if you want Distributed Issuer to issue CertificateRequest resources without waiting for them to be approved.
deployment.config.server.grpc.enabled¶
| Property | deployment.config.server.grpc.enabled |
|---|---|
| Type | bool |
| Default | false |
Enable the GRPC server of Distributed Issuer
deployment.config.server.grpc.port¶
| Property | deployment.config.server.grpc.port |
|---|---|
| Type | number |
| Default | 8081 |
Port of the GRPC server
deployment.config.server.grpc.ipAddress¶
| Property | deployment.config.server.grpc.ipAddress |
|---|---|
| Type | string |
| Default | 0.0.0.0 |
Interface that the GRPC Server will listen on
deployment.config.server.grpc.dnsNames¶
| Property | deployment.config.server.grpc.dnsNames |
|---|---|
| Type | array |
| Default | [] |
DNS Names that the GRPC Server will listen on
deployment.config.server.rest.enabled¶
| Property | deployment.config.server.rest.enabled |
|---|---|
| Type | bool |
| Default | false |
Enable the Rest server of Distributed Issuer
deployment.config.server.rest.port¶
| Property | deployment.config.server.rest.port |
|---|---|
| Type | number |
| Default | 8281 |
Port of the Rest server
deployment.config.server.rest.ipAddress¶
| Property | deployment.config.server.rest.ipAddress |
|---|---|
| Type | string |
| Default | 0.0.0.0 |
Interface that the Rest Server will listen on
deployment.config.server.rest.dnsNames¶
| Property | deployment.config.server.rest.dnsNames |
|---|---|
| Type | array |
| Default | [] |
DNS Names that the Rest Server will listen on
deployment.replicaCount¶
| Property | deployment.replicaCount |
|---|---|
| Type | number |
| Default | 2 |
A Minimum of 2 is needed to achieve active-passive standby HA.
deployment.mlock¶
| Property | deployment.mlock |
|---|---|
| Type | bool |
| Default | true |
It is not recommended to disable mlock except for development or testing!
deployment.logLevel¶
| Property | deployment.logLevel |
|---|---|
| Type | number |
| Default | 0 |
Log level. 0=Info, 1=Debug, 2=Trace. Use 6-9 for increasingly verbose HTTP request logging.
deployment.logFormat¶
| Property | deployment.logFormat |
|---|---|
| Type | string |
| Default | text |
Log format, either 'text' or 'json'.
deployment.imagePullSecrets¶
| Property | deployment.imagePullSecrets |
|---|---|
| Type | array |
| Default | [] |
Set a list of image pull secrets
For example:
- name: jss-pull-secret
deployment.nodeSelector¶
| Property | deployment.nodeSelector |
|---|---|
| Type | object |
| Default | {} |
It is recommended to set a nodeSelector for resource isolation.
For example:
distributed-issuer-runner: "true"
deployment.resources¶
| Property | deployment.resources |
|---|---|
| Type | object |
| Default | {} |
We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'.
For example:
limits:
cpu: 100m
memory: 512Mi
requests:
cpu: 100m
memory: 512Mi
deployment.tolerations¶
| Property | deployment.tolerations |
|---|---|
| Type | array |
| Default | [] |
deployment.affinity¶
| Property | deployment.affinity |
|---|---|
| Type | object |
| Default | {} |
deployment.extraVolumes¶
| Property | deployment.extraVolumes |
|---|---|
| Type | array |
| Default | [] |
For example:
- name: ca-bundle-cert
secret:
secretName: <secret-name>
deployment.extraVolumeMounts¶
| Property | deployment.extraVolumeMounts |
|---|---|
| Type | array |
| Default | [] |
For example:
- mountPath: /etc/ssl/certs/
name: ca-bundle-cert
deployment.extraEnv¶
| Property | deployment.extraEnv |
|---|---|
| Type | array |
| Default | [] |
Additional environment variables to add to the Pod.
For example:
extraEnv:
- name: SOME_VAR
value: 'some value'
deployment.metrics.enabled¶
| Property | deployment.metrics.enabled |
|---|---|
| Type | bool |
| Default | true |
Enable the metrics server.
If false, the metrics server will be disabled and the other metrics fields below will be ignored.
deployment.metrics.port¶
| Property | deployment.metrics.port |
|---|---|
| Type | number |
| Default | 9402 |
The TCP port for exposing Prometheus metrics on 0.0.0.0 on the HTTP path '/metrics'.
deployment.metrics.podmonitor.enabled¶
| Property | deployment.metrics.podmonitor.enabled |
|---|---|
| Type | bool |
| Default | false |
Create a PodMonitor to add the metrics to Prometheus, if you are using Prometheus Operator. See https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.PodMonitor
deployment.metrics.podmonitor.namespace¶
| Property | deployment.metrics.podmonitor.namespace |
|---|---|
| Type | string |
| Default | "" |
The namespace that the pod monitor should live in.
Defaults to the paloalto namespace.
deployment.metrics.podmonitor.prometheusInstance¶
| Property | deployment.metrics.podmonitor.prometheusInstance |
|---|---|
| Type | string |
| Default | default |
Specifies the prometheus label on the created PodMonitor. This is used when different Prometheus instances have label selectors matching different PodMonitors.
deployment.metrics.podmonitor.interval¶
| Property | deployment.metrics.podmonitor.interval |
|---|---|
| Type | string |
| Default | 60s |
The interval to scrape metrics.
deployment.metrics.podmonitor.scrapeTimeout¶
| Property | deployment.metrics.podmonitor.scrapeTimeout |
|---|---|
| Type | string |
| Default | 30s |
The timeout before a metrics scrape fails.
deployment.metrics.podmonitor.labels¶
| Property | deployment.metrics.podmonitor.labels |
|---|---|
| Type | object |
| Default | {} |
Additional labels to add to the PodMonitor.
deployment.metrics.podmonitor.annotations¶
| Property | deployment.metrics.podmonitor.annotations |
|---|---|
| Type | object |
| Default | {} |
Additional annotations to add to the PodMonitor.
deployment.metrics.podmonitor.honorLabels¶
| Property | deployment.metrics.podmonitor.honorLabels |
|---|---|
| Type | bool |
| Default | false |
Keep labels from scraped data, overriding server-side labels.
deployment.metrics.podmonitor.endpointAdditionalProperties¶
| Property | deployment.metrics.podmonitor.endpointAdditionalProperties |
|---|---|
| Type | object |
| Default | {} |
EndpointAdditionalProperties allows setting additional properties on the endpoint such as relabelings, metricRelabelings etc.
For example:
endpointAdditionalProperties:
relabelings:
- action: replace
sourceLabels:
- __meta_kubernetes_pod_node_name
targetLabel: instance
serviceAccount.annotations¶
| Property | serviceAccount.annotations |
|---|---|
| Type | object |
| Default | {} |
Set annotations on the Distributed Issuer Service Account.
service.type¶
| Property | service.type |
|---|---|
| Type | string |
| Default | ClusterIP |
Type of the Service
service.annotations¶
| Property | service.annotations |
|---|---|
| Type | object |
| Default | "" |
Optional additional annotations to add to the service.
crd.enabled¶
| Property | crd.enabled |
|---|---|
| Type | bool |
| Default | true |
Installs the CRD in the cluster. Required to enable Distributed Issuer with the given group.
crd.groupName¶
| Property | crd.groupName |
|---|---|
| Type | string |
| Default | firefly.venafi.com |
Group name of the issuer.
crd.approver.enabled¶
| Property | crd.approver.enabled |
|---|---|
| Type | bool |
| Default | true |
Enable or disable the creation of a ClusterRole and ClusterRoleBinding to allow an approver to approve CertificateRequest resources which use the Distributed Issuer issuer group name.
crd.approver.subject.kind¶
| Property | crd.approver.subject.kind |
|---|---|
| Type | string |
| Default | ServiceAccount |
crd.approver.subject.namespace¶
| Property | crd.approver.subject.namespace |
|---|---|
| Type | string |
| Default | cert-manager |
crd.approver.subject.name¶
| Property | crd.approver.subject.name |
|---|---|
| Type | string |
| Default | cert-manager-approver-policy |
overrideSignerSubject¶
| Property | overrideSignerSubject |
|---|---|
| Type | object |
| Default | {} |
Optional subject to assign permissions to sign Distributed Issuer. CertificateRequests. This should be used when Distributed Issuer is running outside the cluster, and likely takes the identity of a Kubernetes User.
For example:
apiGroup: rbac.authorization.k8s.io
kind: User
name: distributed-issuer
openshift.securityContextConstraint.enabled¶
| Property | openshift.securityContextConstraint.enabled |
|---|---|
| Type | string |
| Default | detect |
Include RBAC to allow the DaemonSet to "use" the specified
SecurityContextConstraints.
This value can either be a boolean true or false, or the string detect. If set to detect then the securityContextConstraint is automatically enabled for openshift installs.
openshift.securityContextConstraint.name¶
| Property | openshift.securityContextConstraint.name |
|---|---|
| Type | string |
| Default | privileged |
Name of the SecurityContextConstraints to create RBAC for.
acceptTerms¶
| Property | acceptTerms |
|---|---|
| Type | bool |
| Default | true |