Skip to main content

Common Fields

The following sections describe parameters that appear across multiple k8shell Helm charts. Each chart that supports these parameters uses the same field names and semantics.

imageRegistry

Private container registry to pull service images. When configured, the chart creates an image pull secret (regcred) for all pods.

ParameterDescription
hostHostname of a private container registry. Used to create an image pull secret (regcred) for all pods. Default: ""
usernameUsername for the private registry. Set either this with password, or existingSecret. Default: ""
passwordPassword for the private registry. Default: ""
existingSecretName of a pre-existing Kubernetes pull-secret to use instead of creating one from username/password. Default: ""

certManager

TLS certificate issuance via cert-manager. When disabled, services communicate over plaintext.

FieldDescription
enabledEnable cert-manager integration. Requires cert-manager to be installed and a ClusterIssuer configured. Default: false
issuer.nameName of the cert-manager Issuer or ClusterIssuer to use. Default: vault-root-issuer
issuer.kindKind of the issuer resource. One of Issuer or ClusterIssuer. Default: ClusterIssuer
durationRequested certificate lifetime. Default: 24h
renewBeforeHow far ahead of expiry cert-manager will attempt renewal. Default: 12h

postgresql

PostgreSQL backend used by various services. They share the same database but each use different schema.

FieldDescription
enabledEnable PostgreSQL integration. Default: false
hostPostgreSQL hostname. Default: postgresql
portPostgreSQL port. Default: 5432
databaseDatabase name. Default: ""
usernameDatabase username. Accepts value, secretName/secretKey. Default: {}
passwordDatabase password. Accepts value, secretName/secretKey. Default: {}

nats

NATS message broker used for inter-service communication, KV storage or cache.

FieldDescription
enabledEnable NATS integration. Default: false
hostNATS server hostname. Default: nats
portNATS server port. Default: 4222
usernameNATS username. Default: k8shell-service
passwordNATS password. Accepts value, secretName/secretKey. Default: {}

Secret fields

Unless otherwise noted, all secret-valued parameters accept a secretRef object instead of a plain string. There are two forms:

Inline value — set value to the literal secret. The chart will create a Kubernetes Secret containing that value. Useful for development and simple deployments.

password:
value: "my-password"

External secret — set secretName and secretKey to reference a pre-existing Kubernetes Secret. The chart will read the value from secretName[secretKey] at runtime without storing it in the chart's own Secret. This form is required when secrets are injected by an external secrets operator such as HashiCorp Vault via the Vault Secrets Operator or External Secrets Operator, and is the mechanism used by the k8shell bundle chart.

password:
secretName: my-vault-synced-secret
secretKey: password

Fields

FieldDescription
valueThe literal value. The chart creates a Kubernetes Secret containing this value.
secretNameName of an existing Kubernetes Secret.
secretKeyKey within the existing Secret to read the value from.