Workload Identity Manager Helm values¶
acceptTerms¶
| Property | acceptTerms |
|---|---|
| Type | unknown |
| Default | |
REQUIRED: Set to true to indicate acceptance of CyberArk's
End User License Agreement.
fullnameOverride¶
| Property | fullnameOverride |
|---|---|
| Type | string |
| Default |
Override the "firefly.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 "firefly.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 | |
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.
venafiConnection¶
venafiConnection.include¶
| Property | venafiConnection.include |
|---|---|
| Type | bool |
| Default | |
When set to false, the rendered output does not contain the VenafiConnection CRDs and RBAC. This is useful for when the VenafiConnection CRDs are already installed separately. When true, you must set deployment.config.bootstrap.tpp.connection.create: false, because you can not 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)
deployment.enabled¶
| Property | deployment.enabled |
|---|---|
| Type | bool |
| Default | |
Toggle for running the Workload Identity Manager controller inside the kubernetes cluster as an in-cluster Certificate Authority (CA).
deployment.venafiClientID¶
| Property | deployment.venafiClientID |
|---|---|
| Type | string |
| Default |
DEPRECATED Use deployment.config.bootstrap.vaas.clientID instead.
deployment.venafiURL¶
| Property | deployment.venafiURL |
|---|---|
| Type | string |
| Default |
DEPRECATED Use deployment.config.bootstrap.vaas.url instead.
deployment.venafiCredentialsSecretName¶
| Property | deployment.venafiCredentialsSecretName |
|---|---|
| Type | string |
| Default |
DEPRECATED Use deployment.config.bootstrap.vaas.credentialsSecretName instead
deployment.venafiCredentialsSecretEnabled¶
| Property | deployment.venafiCredentialsSecretEnabled |
|---|---|
| Type | bool |
| Default |
DEPRECATED Use deployment.config.bootstrap.vaas.credentialsSecretEnabled instead
deployment.config.bootstrap.selfSigned.enabled¶
| Property | deployment.config.bootstrap.selfSigned.enabled |
|---|---|
| Type | bool |
| Default | |
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 | |
Set to true, to bootstrap from Certificate Manager Self-Hosted server (formerly TPP).
deployment.config.bootstrap.tpp.configurationDN¶
| Property | deployment.config.bootstrap.tpp.configurationDN |
|---|---|
| Type | string |
| Default | |
The DN of the Workload Identity Manager configuration in Certificate Manager Self-Hosted server (formerly TPP).
For example:
firefly\us-west-1\service-mesh\firefly
deployment.config.bootstrap.tpp.connection.create¶
| Property | deployment.config.bootstrap.tpp.connection.create |
|---|---|
| Type | bool |
| Default | |
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 Workload Identity Manager. This is useful for when the VenafiConnection CRDs have already been installed by another CyberArk 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. See https://docs.venafi.cloud/vaas/k8s-components/c-cfg-vc-auth/
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 Workload Identity Manager. 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 | ```yaml false ```0 |
The base URL of your Certificate Manager Self-Hosted server (formerly TPP) server
For example:
https://tpp.example.internal
deployment.config.bootstrap.tpp.connection.clientID¶
| Property | deployment.config.bootstrap.tpp.connection.clientID |
|---|---|
| Type | string |
| Default | ```yaml false ```1 |
The OAuth clientID (application integration) to authenticate with.
deployment.config.bootstrap.tpp.connection.usernamePassword.enabled¶
| Property | deployment.config.bootstrap.tpp.connection.usernamePassword.enabled |
|---|---|
| Type | bool |
| Default | ```yaml false ```2 |
Enable username-password authentication.
You must put the credentials in a Secret called name, in the same namespace as Workload Identity Manager, with the following keys: username, password.
deployment.config.bootstrap.tpp.connection.usernamePassword.name¶
| Property | deployment.config.bootstrap.tpp.connection.usernamePassword.name |
|---|---|
| Type | string |
| Default | ```yaml false ```3 |
Override the name of the username-password Secret. By default a Secret with the full chart name is assumed.
For example:
firefly-credentials
deployment.config.bootstrap.tpp.connection.serviceAccountToken.enabled¶
| Property | deployment.config.bootstrap.tpp.connection.serviceAccountToken.enabled |
|---|---|
| Type | bool |
| Default | ```yaml false ```4 |
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 | ```yaml false ```5 |
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 | ```yaml false ```6 |
A name for the Workload Identity Manager instance (should be unique). This, plus a suffix defined by the Certificate Manager SubCA provider, will be the common name of the Workload Identity Manager 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.
deployment.config.bootstrap.vaas.enabled¶
| Property | deployment.config.bootstrap.vaas.enabled |
|---|---|
| Type | bool |
| Default | ```yaml false ```7 |
Set to true, to bootstrap from VaaS.
deployment.config.bootstrap.vaas.clientID¶
| Property | deployment.config.bootstrap.vaas.clientID |
|---|---|
| Type | unknown |
| Default | ```yaml false ```8 |
The ClientID of a your Certificate Manager, SaaS service account associated with the desired configuration.
deployment.config.bootstrap.vaas.url¶
| Property | deployment.config.bootstrap.vaas.url |
|---|---|
| Type | string |
| Default | ```yaml false ```9 |
The Certificate Manager, SaaS API endpoint. Change this if your Certificate Manager, SaaS tenant is not in the United States.
For the EU use: https://api.venafi.eu
deployment.config.bootstrap.vaas.credentialsSecretName¶
| Property | deployment.config.bootstrap.vaas.credentialsSecretName |
|---|---|
| Type | string |
| Default | ```yaml false ```0 |
Provide the name of the Secret containing the credentials of your Certificate Manager, SaaS service account. This will be used when enableCredentialsSecret is true.
deployment.config.bootstrap.vaas.credentialsSecretEnabled¶
| Property | deployment.config.bootstrap.vaas.credentialsSecretEnabled |
|---|---|
| Type | bool |
| Default | ```yaml false ```1 |
By default a secret is used to store the credentials for access to CyberArk Cloud, but you can also use the CSI Secret Store Driver and disable the Kubernetes Secret. This disables the usage and mounting of the Kubernetes Secret in the Workload Identity Manager deployment.
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:
yaml false2
deployment.config.controller.enabled¶
| Property | deployment.config.controller.enabled |
|---|---|
| Type | bool |
| Default | ```yaml false ```3 |
Enable the Kubernetes Controller of Workload Identity Manager to listen for cert-manager Certificates
deployment.config.controller.certManager.caRootChainPopulation¶
| Property | deployment.config.controller.certManager.caRootChainPopulation |
|---|---|
| Type | bool |
| Default | ```yaml false ```4 |
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 | ```yaml false ```5 |
Set to False if you want Workload Identity Manager 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 | ```yaml false ```6 |
Enable the GRPC server of Workload Identity Manager.
deployment.config.server.grpc.port¶
| Property | deployment.config.server.grpc.port |
|---|---|
| Type | number |
| Default | ```yaml false ```7 |
Port of the GRPC server
deployment.config.server.grpc.ipAddress¶
| Property | deployment.config.server.grpc.ipAddress |
|---|---|
| Type | string |
| Default | ```yaml false ```8 |
Interface that the GRPC Server will listen on
deployment.config.server.grpc.dnsNames¶
| Property | deployment.config.server.grpc.dnsNames |
|---|---|
| Type | array |
| Default | ```yaml false ```9 |
DNS Names that the GRPC Server will listen on
deployment.config.server.rest.enabled¶
| Property | deployment.config.server.rest.enabled |
|---|---|
| Type | bool |
| Default | ```yaml true ```0 |
Enable the Rest server of Workload Identity Manager.
deployment.config.server.rest.port¶
| Property | deployment.config.server.rest.port |
|---|---|
| Type | number |
| Default | ```yaml true ```1 |
Port of the Rest server
deployment.config.server.rest.ipAddress¶
| Property | deployment.config.server.rest.ipAddress |
|---|---|
| Type | string |
| Default | ```yaml true ```2 |
Interface that the Rest Server will listen on
deployment.config.server.rest.dnsNames¶
| Property | deployment.config.server.rest.dnsNames |
|---|---|
| Type | array |
| Default | ```yaml true ```3 |
DNS Names that the Rest Server will listen on
deployment.replicaCount¶
| Property | deployment.replicaCount |
|---|---|
| Type | number |
| Default | ```yaml true ```4 |
A Minimum of 2 is needed to achieve active-passive standby HA.
deployment.image¶
| Property | deployment.image |
|---|---|
| Type | string |
| Default | ```yaml true ```5 |
The Docker image repo.
Override image if you are using an on-prem image registry. Do not include a tag. Set deployment.imageDigest instead.
deployment.imageDigest¶
| Property | deployment.imageDigest |
|---|---|
| Type | string |
| Default | ```yaml true ```6 |
The digest of the image.
deployment.imagePullPolicy¶
| Property | deployment.imagePullPolicy |
|---|---|
| Type | string |
| Default | ```yaml true ```7 |
Override the image pullPolicy.
deployment.mlock¶
| Property | deployment.mlock |
|---|---|
| Type | bool |
| Default | ```yaml true ```8 |
It is not recommended to disable mlock except for development or testing!
deployment.logLevel¶
| Property | deployment.logLevel |
|---|---|
| Type | number |
| Default | ```yaml true ```9 |
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 | ```yaml false ```0 |
Log format, either 'text' or 'json'.
deployment.imagePullSecrets¶
| Property | deployment.imagePullSecrets |
|---|---|
| Type | array |
| Default | ```yaml false ```1 |
Set a list of image pull secrets
For example:
- name: jss-pull-secret
deployment.nodeSelector¶
| Property | deployment.nodeSelector |
|---|---|
| Type | object |
| Default | ```yaml false ```2 |
It is recommended to set a nodeSelector for resource isolation.
For example:
yaml false3
deployment.resources¶
| Property | deployment.resources |
|---|---|
| Type | object |
| Default | ```yaml false ```4 |
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:
yaml false5
deployment.tolerations¶
| Property | deployment.tolerations |
|---|---|
| Type | array |
| Default | ```yaml false ```6 |
deployment.affinity¶
| Property | deployment.affinity |
|---|---|
| Type | object |
| Default | ```yaml false ```7 |
deployment.extraVolumes¶
| Property | deployment.extraVolumes |
|---|---|
| Type | array |
| Default | ```yaml false ```8 |
For example:
- name: ca-bundle-cert
yaml false9
deployment.extraVolumeMounts¶
| Property | deployment.extraVolumeMounts |
|---|---|
| Type | array |
| Default | ```yaml "" ```0 |
For example:
- mountPath: /etc/ssl/certs/
yaml ""1
deployment.extraEnv¶
| Property | deployment.extraEnv |
|---|---|
| Type | array |
| Default | ```yaml "" ```2 |
Additional environment variables to add to the Pod.
For example:
yaml ""3
deployment.metrics.enabled¶
| Property | deployment.metrics.enabled |
|---|---|
| Type | bool |
| Default | ```yaml "" ```4 |
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 | ```yaml "" ```5 |
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 | ```yaml "" ```6 |
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 firefly namespace.
deployment.metrics.podmonitor.prometheusInstance¶
| Property | deployment.metrics.podmonitor.prometheusInstance |
|---|---|
| Type | string |
| Default | ```yaml "" ```7 |
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 | ```yaml "" ```8 |
The interval to scrape metrics.
deployment.metrics.podmonitor.scrapeTimeout¶
| Property | deployment.metrics.podmonitor.scrapeTimeout |
|---|---|
| Type | string |
| Default | ```yaml "" ```9 |
The timeout before a metrics scrape fails.
deployment.metrics.podmonitor.labels¶
| Property | deployment.metrics.podmonitor.labels |
|---|---|
| Type | object |
| Default | ```yaml false ```0 |
Additional labels to add to the PodMonitor.
deployment.metrics.podmonitor.annotations¶
| Property | deployment.metrics.podmonitor.annotations |
|---|---|
| Type | object |
| Default | ```yaml false ```1 |
Additional annotations to add to the PodMonitor.
deployment.metrics.podmonitor.honorLabels¶
| Property | deployment.metrics.podmonitor.honorLabels |
|---|---|
| Type | bool |
| Default | ```yaml false ```2 |
Keep labels from scraped data, overriding server-side labels.
deployment.metrics.podmonitor.endpointAdditionalProperties¶
| Property | deployment.metrics.podmonitor.endpointAdditionalProperties |
|---|---|
| Type | object |
| Default | ```yaml false ```3 |
EndpointAdditionalProperties allows setting additional properties on the endpoint such as relabelings, metricRelabelings etc.
For example:
yaml false4
serviceAccount.annotations¶
| Property | serviceAccount.annotations |
|---|---|
| Type | object |
| Default | ```yaml false ```5 |
Set annotations on the Workload Identity Manager Service Account.
service.type¶
| Property | service.type |
|---|---|
| Type | string |
| Default | ```yaml false ```6 |
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 | ```yaml false ```7 |
Installs the CRD in the cluster. Required to enable Workload Identity Manager with the given group.
crd.groupName¶
| Property | crd.groupName |
|---|---|
| Type | string |
| Default | ```yaml false ```8 |
Group name of the issuer.
crd.approver.enabled¶
| Property | crd.approver.enabled |
|---|---|
| Type | bool |
| Default | ```yaml false ```9 |
Enable or disable the creation of a ClusterRole and ClusterRoleBinding to allow an approver to approve CertificateRequest resources which use the Workload Identity Manager issuer group name.
crd.approver.subject.kind¶
| Property | crd.approver.subject.kind |
|---|---|
| Type | string |
| Default | ```yaml "" ```0 |
crd.approver.subject.namespace¶
| Property | crd.approver.subject.namespace |
|---|---|
| Type | string |
| Default | ```yaml "" ```1 |
crd.approver.subject.name¶
| Property | crd.approver.subject.name |
|---|---|
| Type | string |
| Default | ```yaml "" ```2 |
overrideSignerSubject¶
| Property | overrideSignerSubject |
|---|---|
| Type | object |
| Default | ```yaml "" ```3 |
Optional subject to assign permissions to sign Workload Identity Manager. CertificateRequests. This should be used when Workload Identity Manager is running outside the cluster, and likely takes the identity of a Kubernetes User.
For example:
yaml ""4
openshift.securityContextConstraint.enabled¶
| Property | openshift.securityContextConstraint.enabled |
|---|---|
| Type | string |
| Default | ```yaml "" ```5 |
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 | ```yaml "" ```6 |
Name of the SecurityContextConstraints to create RBAC for.