Skip to content

Firefly Helm values

acceptTerms

Property acceptTerms
Type unknown
Default
null

REQUIRED: Set to true to indicate acceptance of Venafi'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
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 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.

deployment.enabled

Property deployment.enabled
Type bool
Default
true

Toggle for running the Firefly controller inside the kubernetes cluster as an in-cluster Certificate Authority (CA).

deployment.venafiClientID

Property deployment.venafiClientID
Type unknown
Default
null

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
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 TLS Protect Datacenter.

deployment.config.bootstrap.tpp.configurationDN

Property deployment.config.bootstrap.tpp.configurationDN
Type string
Default
""

The DN of the Firefly configuration in TLS Protect Datacenter.
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
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 Firefly. 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. 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 Firefly. 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 Venafi TLS Protect Datacenter 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 (application integration) 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 Firefly, 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:
firefly-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 themselves 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 Firefly instance (should be unique). This, plus a suffix defined by the Control Plane SubCA provider, will be the common name of the Firefly 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
true

Set to true, to bootstrap from VaaS.

deployment.config.bootstrap.vaas.clientID

Property deployment.config.bootstrap.vaas.clientID
Type unknown
Default
null

The ClientID of a your TLS Protect Cloud service account associated with the desired configuration.

deployment.config.bootstrap.vaas.url

Property deployment.config.bootstrap.vaas.url
Type string
Default
https://api.venafi.cloud

The Venafi TLS Protect Cloud API endpoint. Change this if your TLS Protect Cloud 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
venafi-credentials

Provide the name of the Secret containing the credentials of your TLS Protect Cloud service account. This will be used when enableCredentialsSecret is true.

deployment.config.bootstrap.vaas.credentialsSecretEnabled

Property deployment.config.bootstrap.vaas.credentialsSecretEnabled
Type bool
Default
true

By default a secret is used to store the credentials for access to Venafi 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 Firefly 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:

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 Firefly 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 Firefly 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 Firefly

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.graphql.enabled

Property deployment.config.server.graphql.enabled
Type bool
Default
false

Enable the GraphQL server of Firefly.
DEPRECATED: GraphQL support will be removed in a future release of Firefly. We strongly recommend against enabling or relying on Firefly's GraphQL API; the REST and gRPC APIs provide the same functionality.

deployment.config.server.graphql.port

Property deployment.config.server.graphql.port
Type number
Default
8123

Port of the GraphQL server

deployment.config.server.graphql.ipAddress

Property deployment.config.server.graphql.ipAddress
Type string
Default
0.0.0.0

Interface that the GraphQL Server will listen on

deployment.config.server.graphql.dnsNames

Property deployment.config.server.graphql.dnsNames
Type array
Default
[]

DNS Names that the GraphQL Server will listen on

deployment.config.server.rest.enabled

Property deployment.config.server.rest.enabled
Type bool
Default
false

Enable the Rest server of Firefly

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.image

Property deployment.image
Type string
Default
registry.venafi.cloud/public/venafi-images/firefly

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
REPLACE_WITH_IMAGE_DIGEST

The digest of the image.

deployment.imagePullPolicy

Property deployment.imagePullPolicy
Type string
Default
IfNotPresent

Override the image pullPolicy.

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
2

Log level, goes from 1 to 5 (highest).

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:

firefly-runner: "true"

deployment.securityContext

Property deployment.securityContext
Type object
Default
allowPrivilegeEscalation: false
capabilities:
  add:
    - IPC_LOCK
  drop:
    - ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
seccompProfile:
  type: RuntimeDefault

The default is the minimum security context to allow for the mlock operation.

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.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 firefly 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 Firefly Service Account.

service.type

Property service.type
Type string
Default
ClusterIP

Type of the Service

crd.enabled

Property crd.enabled
Type bool
Default
true

Installs the CRD in the cluster. Required to enable Firefly 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 Firefly 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 firefly. CertificateRequests. This should be used when Firefly is running outside the cluster, and likely takes the identity of a Kubernetes User.

For example:

apiGroup: rbac.authorization.k8s.io
kind: User
name: firefly

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.