Skip to content

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