string
A string. While the YAML spec does not require strings to be quoted, it is highly recommended to quote strings
to prevent YAML type coercion (e.g., values such as country: NO
are treated as country: false
by YAML).
Example:
key1: "value"
# or multi-line
key2: |
value
number
A number.
key1: 42
# or float
key2: 3.14
boolean
A true or false. While the YAML spec also treats keywords such as “yes” and “no” as true and false, respectively, it is highly recommended to use explicit true and false as the value for maintainability.
key1: true
object
A pair of key value.
key1:
subkey1: "string"
subkey2: 3.14
subkey3: true
# alternatively, using JSON syntax
key2: { "subkey1": "string", "subkey2": 3.14, "subkey3": true }
array of objects
An array of objects.
key1:
- name: "value1"
subkey: "value"
- name: "value2"
subkey: "value"
array of strings
An array of strings.
key1:
- "string1"
- "string2"
- "string3"
# alternatively, using JSON syntax
key1: ["string1", "string2", "string3"]
template string
A pair of key value as a string. Template functions exposed by Helm are available in this type.
key1: |
subkey1: {{ .Release.Name | quote }}
subkey2: "hello, world"
# in array of objects
key2: |
- name: {{ .Release.Name | quote }}
subkey1: "hello, world"
Overrides the name of the chart (without the release name). For example, setting nameOverride
to “hello” would produce
a deployment named “release-name-hello”. Containers within a pod derive their name from this setting. By default,
the name of the chart is used (i.e., “varnish-controller”)
Overrides the full name of the chart (with the release name). This setting allows overriding both release name and
a deployment name altogether. For example, setting fullnameOverride
to “hello” would produce a deployment named
“hello”. By default, a composition of a Helm release name and the name of the chart is used
(i.e., “release-name-varnish-controller”).
Applies extra annotations to all workloads. The value can be set as either an object or a template string. Workload annotations can be used to for applying additional metadata or for integrating with external tooling. The annotations specified here will be applied to the workload itself.
To apply annotations on a Pod, use global.podAnnotations
. To apply annotations on a specific workload,
use apigw.annotations
, brainz.annotations
, and ui.annotations
.
An array of object that conforms to Kubernetes’ imagePullSecrets definition.
When set, each item in an array must consist of an object with a key name
referencing the Kubernetes a
secret.
For example:
global:
imagePullSecrets:
- name: registry-quay-k7c2f4m2d5
Applies extra labels to all workloads. The value can be set as either an object or a template string. Workload labels can be used to for applying additional metadata or for integrating with external tooling. The labels specified here will be applied to the workload itself.
To apply labels on a Pod, use global.podLabels
. To apply labels on a specific workload,
use apigw.labels
, brainz.labels
, and ui.annotations
.
Applies extra annotations to all Pods. The value can be set as either an object or a template string. Pod annotations can be used to for applying additional metadata or for integrating with external tooling. Annotations specified here will be applied to a Pod itself.
To apply labels on a workload, use global.annotations
. To apply labels on a specific Pod,
use apigw.podAnnotations
, brainz.podAnnotations
, and ui.podAnnotations
.
Applies extra labels to all Pods. The value can be set as either an object or a template string. Pod labels can be used to for applying additional metadata or for integrating with external tooling. Labels specified here will be applied to a Pod itself.
To apply labels on a workload, use global.labels
. To apply labels on a specific Pod,
use apigw.podLabels
, brainz.podLabels
, and ui.podLabels
.
An object that conforms to Kubernetes’ securityContext definition of a Pod.
For example:
global:
podSecurityContext:
fsGroup: 999
This securityContext will be set on all Pods within this chart. For setting securityContext on all containers,
see global.securityContext
.
An object that conforms to the Kubernetes resources
definition of a Container. This configuration will resources constraint to all containers.
To specify resources on a single container, use apigw.resources
, brainz.resources
, and
ui.resources
.
An object that conforms to Kubernetes’ securityContext definition of a Container.
For example:
global:
securityContext:
runAsUser: 999
runAsNonRoot: true
This securityContext will be set on all containers within this chart. For setting securityContext on the Pod
itself, see global.podSecurityContext
.
IfNotPresent
Sets the imagePullPolicy for the Varnish Controller images. This can be one of Always, Never, or IfNotPreset. This value is inherited by apigw.image.pullPoicy
, brainz.image.pullPolicy
, and ui.image.pullPolicy
.
Sets the tag for the Varnish Controller images. If the tag is set to non-exact versions (such as “latest”, or “6.0”), make sure to set server.image.pullPolicy
to “Always” to make sure the image is always updated. This value is inherited by apigw.image.tag
, brainz.image.tag
, and ui.image.tag
.
An object configuring Varnish Controller access to NATS.
An FQDN to the NATS server. The value is ignored if global.natsServer.internal.enabled
is set to true.
-
Configures Varnish Controller to use the internal NATS server. Set this to “-” to inherit the value
of nats.enabled
. Note that when using a shared values file between Varnish Controller and Varnish Enterprise,
this value should be set to boolean.
Discovers the internal NATS server within the given namespace. By default, the current namespace is used.
Overrides the full name of the internal NATS server. Use the current release name if left blank.
cluster.local
Overrides the Kubernetes cluster domain. Required if Kubernetes cluster is configured to use different cluster domain than the default. By default, “cluster.local” is used. In most cases, this value should not be changed.
name: varnish-controller-credentials
key: nats-varnish-password
Sets internal NATS password from external secret. For example:
global:
natsServer:
internal:
passwordFrom:
name: secret-name
key: nats-password
Internal NATS must be configured separately by setting the following values:
nats:
container:
env:
VARNISH_CONTROLLER_NATS_PASSWORD:
valueFrom:
secretKeyRef:
name: secret-name
key: nats-password
true
Create a Kubernetes service account to use with the deployment.
Applies extra labels to the service account. The value can be set as either an object or a template string.
Applies extra annotations to the service account. The value can be set as either an object or a template string.
Overrides the name of the service account. By default, the full name of the chart is used.
true
Enables the Varnish Controller API-GW.
[]
Sets the extra arguments to Varnish Controller API-GW.
Sets an additional environment variable for Varnish Controller API-GW container.
Can be set as an array of objects:
extraEnvs:
- name: MY_ENVIRONMENT_VARIABLE
value: my_value
Or an object:
extraEnvs:
MY_ENVIRONMENT_VARIABLE: my_value
Or a templated string:
extraEnvs: |
- name: MY_ENVIRONMENT_VARIABLE
value: my_value
1
Specifies the number of replicas to deploy Varnish Controller API-GW server.
The value is ignored if server.autoscaling.enabled
is set to true.
Applies extra labels to the deployment. The value can be set as either an object or a template string.
Labels specified here will be applied to the deployment itself. To apply labels on the Pod, use
apigw.podLabels
.
Applies extra annotations to the deployment. The value can be set as either an object or a template string.
Deployment annotations can be used to for applying additional metadata or for integrating with external tooling.
Annotations specified here will be applied to the deployment itself. To apply labels on the Pod, use
apigw.podAnnotations
.
Configures deployment strategy to use to replace existing Pod with a new one
quay.io/varnish-software/varnish-controller-api-gw
Sets the repository for Varnish Controller APIGW image.
IfNotPresent
-
'Sets the imagePullPolicy for the Varnish Controller API-GW image. This can be one of Always, Never, or IfNotPreset.
From v1.6.0, when set to -
, the value will inherit that of global.controller.image.pullPolicy
.
-
Sets the tag for the Varnish Controller API-GW image. If the tag is set to non-exact versions (such as “latest”, or “6.0”), make sure to set server.image.pullPolicy
to “Always” to make sure the image is always updated.
Before v1.6.0, this value is set to the same application version as in the Varnish Controller Helm Chart by default.
From v1.6.0, this value is inherited from global.controller.image.tag
by default.
An object for configuring HorizontalPodAutoscaling.
false
Enables the HorizontalPodAutoscaling with the Varnish Controller API-GW Pod. apigw.replicas
is ignored if autoscaling is enabled.
Configures the behavior
attribute of HorizontalPodAutoscaling of the Varnish Controller API-GW Pod.
1
Sets the minimum number of replicas to always keep running.
100
Sets the maximum number of replicas to run at most.
Sets the HorizontalPodAutoscaling metrics. The value can be set as either an object or a template string.
An object for configuring Service.
true
Enables the Service for Varnish Controller.
Applies extra labels to the Service. The value can be set as either an object or a template string.
Applies extra annotations to the Service. The value can be set as either an object or a template string.
NodePort
Sets the type of the Service. Can be either CluterIP
, LoadBalancer
, or NodePort
.
Sets a custom Service ClusterIP. This value can be set as either an IP address,
or a literal string “None”. Only applicable when server.service.type
is set to ClusterIP. When set to
“None”, Kubernetes will create a Headless Service, skipping Kubernetes’ proxying mechanism.
8080
Sets the port to expose Varnish Controller API-GW service.
Applies extra annotations to the Pod. The value can be set as either an object or a template string.
Pod annotations can be used to for applying additional metadata or for integrating with external tooling.
Annotations specified here will be applied to the Pod. To apply labels on the deployment, use
apigw.annotations
.
Applies extra labels to the Pod. The value can be set as either an object or a template string.
Labels specified here will be applied to the Pod itself. To apply labels on the deployment, use
apigw.labels
.
An object that conforms to Kubernetes’ securityContext definition of a Container.
For example:
server:
securityContext:
runAsUser: 999
This securityContext will be set on the Varnish Controller API-GW container. For setting
securityContext on the Pod itself, see global.podSecurityContext
. For setting securityContext
to all containers, see global.securityContext
.
An object that conforms to Kubernetes’ startupProbe definition of a Container.
For example:
apigw:
startupProbe:
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
An object that confirms to the Kubernetes readinessProbe definition of a Container.
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
An object that confirms to the Kubernetes livenessProbe definition of a Container.
An object that conforms to Kubernetes’ resources definition of a Container, this configuration can be used to limit resources consumed by the Varnish Controller API-GW container
An object that conforms to Kubernetes’ nodeSelector definition of a Pod. This configuration is used to select a node to schedule a Pod to. The value can be set as either an object or a template string.
An object that conforms to Kubernetes’ tolerations definition of a Pod. This configuration is used to allow the Pod to be scheduled to nodes with specific taints. The value can be set as either an array of strings or a template string.
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: {{ include "varnish-controller.name" . }}-apigw
app.kubernetes.io/instance: {{ .Release.Name }}
topologyKey: kubernetes.io/hostname
This configuration is used to fine-grain control the scheduling of the Pod. By default, this is set to ensure all Varnish Controller API-GW Pods are always run in a different node. To disable this behavior, set to empty string (""). The value can be set as either an object or a template string.
true
Enables the Varnish Controller Brainz.
[]
Sets the extra arguments to Varnish Controller Brainz.
Sets an additional environment variable for Varnish Controller Brainz container.
Can be set as an array of objects:
extraEnvs:
- name: MY_ENVIRONMENT_VARIABLE
value: my_value
Or an object:
extraEnvs:
MY_ENVIRONMENT_VARIABLE: my_value
Or a templated string:
extraEnvs: |
- name: MY_ENVIRONMENT_VARIABLE
value: my_value
1
Specifies the number of replicas to deploy Varnish Controller Brainz server.
The value is ignored if server.autoscaling.enabled
is set to true.
Applies extra labels to the deployment. The value can be set as either an object or a template string.
Labels specified here will be applied to the deployment itself. To apply labels on the Pod, use
brainz.podLabels
.
Applies extra annotations to the deployment. The value can be set as either an object or a template string.
Deployment annotations can be used to for applying additional metadata or for integrating with external tooling.
The annotations specified here will be applied to the deployment itself. To apply labels on the Pod, use
brainz.podAnnotations
.
Configures deployment strategy to use to replace existing Pod with a new one
quay.io/varnish-software/varnish-controller-brainz
Sets the repository for Varnish Controller Brainz image.
IfNotPresent
-
'Sets the imagePullPolicy for the Varnish Controller Brainz image. This can be one of Always, Never, or IfNotPreset.
From v1.6.0, when set to -
, the value will inherit that of global.controller.image.pullPolicy
.
-
Sets the tag for the Varnish Controller Brainz image. If the tag is set to non-exact versions (such as “latest”, or “6.0”), make sure to set server.image.pullPolicy
to “Always” to make sure the image is always updated.
Before v1.6.0, this value is set to the same application version as in the Varnish Controller Helm Chart by default.
From v1.6.0, this value is inherited from global.controller.image.tag
by default.
Sets the Varnish Controller Brainz secret name containing the Varnish Controller license.
The secret must contains a key name license.lic
.
An object for configuring HorizontalPodAutoscaling.
false
Enables the HorizontalPodAutoscaling with the Varnish Controller Brainz Pod. brainz.replicas
is ignored if autoscaling is enabled.
Configures the behavior
attribute of HorizontalPodAutoscaling of the Varnish Controller Brainz Pod.
1
Sets the minimum number of replicas to always keep running.
100
Sets the maximum number of replicas to run at most.
Sets the HorizontalPodAutoscaling metrics. The value can be set as either an object or a template string.
Sets a credential for an external PostgreSQL server for Varnish Controller Brainz to connect to.
This variable is ignored if postgresql.enabled
is true.
Sets the database name for an external PostgreSQL server.
Sets the host for an external PostgreSQL server. For example, postgresql.example.com:5432
Sets the username for an external PostgreSQL server.
Sets the password for an external PostgreSQL server.
Sets the password for an external PostgreSQL server from an external secret.
For example:
brainz:
externalPostgresql:
passwordFrom:
name: secret-name
key: postgresql-password
Enables TLS connection with an external PostgreSQL server.
Applies extra annotations to the Pod. The value can be set as either an object or a template string.
Pod annotations can be used to for applying additional metadata or for integrating with external tooling.
Annotations specified here will be applied to the Pod. To apply labels on the deployment, use
brainz.annotations
.
Applies extra labels to the Pod. The value can be set as either an object or a template string.
Labels specified here will be applied to the Pod itself. To apply labels on the deployment, use
brainz.labels
.
An object that conforms to Kubernetes’ securityContext definition of a Container.
For example:
server:
securityContext:
runAsUser: 999
This securityContext will be set on the Varnish Controller Brainz container. For setting
securityContext on the Pod itself, see global.podSecurityContext
. For setting securityContext
to all containers, see global.securityContext
.
An object that conforms to Kubernetes’ resources definition of a Container, this configuration can be used to limit resources consumed by the Varnish Controller Brainz container.
An object that conforms to Kubernetes’ nodeSelector definition of a Pod. This configuration is used to select a node to schedule a Pod to. The value can be set as either an object or a template string.
An object that conforms to Kubernetes’ tolerations definition of a Pod. This configuration is used to allow the Pod to be scheduled to nodes with specific taints. The value can be set as either an array of strings or a template string.
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: {{ include "varnish-controller.name" . }}-brainz
app.kubernetes.io/instance: {{ .Release.Name }}
topologyKey: kubernetes.io/hostname
This configuration is used to fine-grain control the scheduling of the Pod. By default, this is set to ensure all Varnish Controller Brainz Pods are always run in a different node. To disable this behavior, set to empty string (""). The value can be set as either an object or a template string.
Sets the username and password for Varnish Controller. If not set, the username will be set to “admin” and password to be auto-generated and stored in the default secret.
To retrieve the autogenerated value, run:
kubectl get secrets -o jsonpath="{.data.varnish-admin-password}" varnish-controller-credentials | base64 --decode
Sets the username for Varnish Controller’s admin account.
Sets the password for Varnish Controller’s admin account.
By default, the password is auto-generated and saved into a secret varnish-controller-credentials
in
the varnish-admin-password
key.
Sets the password for Varnish Controller’s admin account from external secret.
For example:
brainz:
modAdminUser:
passwordFrom:
name: secret-name
key: nats-password
true
Enables the Varnish Controller UI.
[]
Sets the extra arguments to Varnish Controller UI.
Sets an additional environment variable for Varnish Controller UI container.
Can be set as an array of objects:
extraEnvs:
- name: MY_ENVIRONMENT_VARIABLE
value: my_value
Or an object:
extraEnvs:
MY_ENVIRONMENT_VARIABLE: my_value
Or a templated string:
extraEnvs: |
- name: MY_ENVIRONMENT_VARIABLE
value: my_value
1
Specifies the number of replicas to deploy Varnish Controller UI server. The value is ignored if ui.autoscaling.enabled
is set to true.
Applies extra labels to the deployment. The value can be set as either an object or a template string.
Labels specified here will be applied to the deployment itself. To apply labels on the Pod, use
ui.podLabels
.
Applies extra annotations to the deployment. The value can be set as either an object or a template string.
Deployment annotations can be used to for applying additional metadata or for integrating with external tooling.
Annotations specified here will be applied to the deployment itself. To apply labels on the Pod, use
ui.podAnnotations
.
Configures deployment strategy to use to replace existing Pod with a new one
quay.io/varnish-software/varnish-controller-ui
Sets the repository for Varnish Controller UI image.
IfNotPresent
-
'Sets the imagePullPolicy for the Varnish Controller UI image. This can be one of Always, Never, or IfNotPreset.
From v1.6.0, when set to -
, the value will inherit that of global.controller.image.pullPolicy
.
-
Sets the tag for the Varnish Controller UI image. If the tag is set to non-exact versions (such as “latest”, or “6.0”), make sure to set server.image.pullPolicy
to “Always” to make sure the image is always updated.
Before v1.6.0, this value is set to the same application version as in the Varnish Controller Helm Chart by default.
From v1.6.0, this value is inherited from global.controller.image.tag
by default.
An object for configuring HorizontalPodAutoscaling.
false
Enables the HorizontalPodAutoscaling with the Varnish Controller Pod. ui.replicas
is ignored if autoscaling is enabled.
Configures the behavior
attribute of HorizontalPodAutoscaling of the Varnish Controller UI Pod.
1
Sets the minimum number of replicas to always keep running.
100
Sets the maximum number of replicas to run at most.
Sets the HorizontalPodAutoscaling metrics. The value can be set as either an object or a template string.
An object for configuring Service.
true
Enables the Service for Varnish Controller.
Applies extra labels to the Service. The value can be set as either an object or a template string.
Applies extra annotations to the Service. The value can be set as either an object or a template string.
NodePort
Sets the type of the Service. Can be either CluterIP
, LoadBalancer
, or NodePort
.
Sets a custom Service ClusterIP. This value can be set as either an IP address,
or a literal string “None”. Only applicable when server.service.type
is set to ClusterIP. When set to
“None”, Kubernetes will create a Headless Service, skipping Kubernetes’ proxying mechanism.
80
Sets the port to expose Varnish Controller UI service.
An object for configuring Ingress.
false
Enables the Ingress for Varnish Controller UI.
Applies extra labels to the Ingress. The value can be set as either an object or a template string.
Applies extra annotations to the Ingress. The value can be set as either an object or a template string.
Sets the Ingress Class for selecting Ingress controller to use.
Prefix
Sets the Ingress Path Type for the Varnish Controller UI endpoint. The value
can be either Prefix
, Exact
, or ImplementationSpecific
. The value to use here depends on the
Ingress controller.
Sets the hostname for the Ingress. This hostname is used for routing traffic.
An array of objects that conforms to Ingress TLS.
Applies extra annotations to the Pod. The value can be set as either an object or a template string.
Pod annotations can be used to for applying additional metadata or for integrating with external tooling.
Annotations specified here will be applied to the Pod. To apply labels on the deployment, use
ui.annotations
.
Applies extra labels to the Pod. The value can be set as either an object or a template string.
Labels specified here will be applied to the Pod itself. To apply labels on the deployment, use
ui.labels
.
An object that conforms to Kubernetes’ securityContext definition of a Container.
For example:
server:
securityContext:
runAsUser: 999
This securityContext will be set on the Varnish Controller UI container. For setting
securityContext on the Pod itself, see global.podSecurityContext
. For setting securityContext
to all containers, see global.securityContext
.
An object that conforms to the Kubernetes startupProbe definition of a Container
For example:
apigw:
startupProbe:
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
An object that confirms to the Kubernetes readinessProbe definition of a Container.
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
An object that confirms to the Kubernetes livenessProbe definition of a Container.
An object that conforms to the Kubernetes resources definition of a Container, this configuration can be used to limit resources consumed by the Varnish Controller UI container.
An object that conforms to Kubernetes’ nodeSelector definition of a Pod. This configuration is used to select a node to schedule a Pod to. The value can be set as either an object or a template string.
An object that conforms to Kubernetes’ tolerations definition of a Pod. This configuration is used to allow the Pod to be scheduled to nodes with specific taints. The value can be set as either an array of strings or a template string.
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: {{ include "varnish-controller.name" . }}-ui
app.kubernetes.io/instance: {{ .Release.Name }}
topologyKey: kubernetes.io/hostname
This configuration is used to fine-grain control the scheduling of the Pod. By default, this is set to ensure all Varnish Controller UI Pods are always run in a different node. To disable this behavior, set to empty string (""). The value can be set as either an object or a template string.
true
Configures whether to auto-generate the varnish-controller-credentials
secret.
When set to false
, a varnish-controller-credentials
secret must be configured by either manually creating a secret named varnish-controller-credentials
with the following keys:
nats-varnish-password
for NATS password used by Varnish Controller, Agent, and Internal NATSpostgresql-admin-password
for PostgreSQL root password, used during database initializationpostgresql-varnish-password
for PostgreSQL password used by Varnish Controller Brainzvarnish-admin-password
for brainz.modAdminUser
If creating varnish-controller-credentials
is not desirable, set the following configurations (see the relevant section in each configuration key for more details):
global.natsServer.internal.passwordFrom
to a secret containing NATS passwordbrainz.externalPostgresql.passwordFrom
to a secret containing PostgreSQL passwordbrainz.modAdminUser.passwordFrom
to a secret containing Varnish Controller admin passwordnats.config
to a secret containing NATS passwordpostgresql.auth.existingSecret
to a secret containing PostgreSQL passwordspostgresql.auth.secretKeys
to a key name in a secret for each respective PostgreSQL passwordsThis section only outlines the default variables set by Varnish Controller Helm Chart.
For more configuration options, see https://artifacthub.io/packages/helm/nats/nats/1.0.3.
true
Configures NATS subchart. Only deployed if nats.enabled
is true.
config:
merge:
max_payload: 104857600
max_pending: 104857600
debug: false
authorization:
user: varnish-controller
password: "<< $VARNISH_CONTROLLER_NATS_PASSWORD >>"
Configure NATS. See https://artifacthub.io/packages/helm/nats/nats/1.0.3 for more information.
When overriding this value, config.merge.authorization
object must be included as-is to use
automatic discovery. Password is auto-generated as varnish-controller-credentials
secret
in the nats-varnish-password
key. The value is then injected into NATS via
VARNISH_CONTROLLER_NATS_PASSWORD
environment variable.
false
Enables the NATS Reloader sidecar for automatically reloading NATS configuration files.
Varnish Controller does not make use of this functionality and is disabled by default.
false
Enables the NATS Exporter sidecar for exporting metrics to Prometheus.
Varnish Controller does not make use of this functionality and is disabled by default.
false
Enables the NATS Box sidecar for NATS Streaming.
Varnish Controller does not make use of this functionality and is disabled by default.
This section only outlines the default variables set by Varnish Controller Helm Chart.
For more configuration options, see https://artifacthub.io/packages/helm/bitnami/postgresql/12.2.4.
true
Configures PostgreSQL subchart. Only deployed if postgresql.enabled
is true.
true
Configures whether to use the debug image for PostgreSQL.
It is recommended to set this to false in production.
false
Enables TLS for PostgreSQL.
It is recommended to set this to true in production.
Sets the secret name containing PostgreSQL TLS certificate. The key names for the certificate
file and the key file can be set via postgresql.tls.certFilename
and postgresql.tls.certKeyFilename
respectively.
cert.pem
Sets the certificate filename for PostgreSQL TLS certificate. This is the key name that needs
to be present in the secret as specified by postgresql.tls.certificatesSecret
.
cert.key
Sets the certificate key filename for PostgreSQL TLS certificate. This is the key name that needs
to be present in the secret as specified by postgresql.tls.certificatesSecret
.
true
Enables password for the “postgres” admin user.
Sets the default password for the “postgres” admin user. This value is ignored.
By default, Varnish Controller Helm Chart will auto-generate the password and store
in a secret named varnish-controller-credentials
with the key postgresql-admin-password
.
To enable setting password via this value, set the following:
postgresql:
auth:
secretKeys:
adminPasswordKey: ""
varnish-controller
Sets a username for an extra user to be created during initial PostgreSQL deployment. Note that the Varnish Controller uses this value to configure Brainz when an internal PostgreSQL is used.
dummyPasswordIgnoredByExistingSecret
Sets the default password for the extra user created during initial PostgreSQL deployment. This value is ignored.
By default, Varnish Controller Helm Chart will auto-generate the password and store
in a secret named varnish-controller-credentials
with the key postgresql-varnish-password
.
To enable setting password via this value, set the following:
postgresql:
auth:
secretKeys:
userPasswordKey: ""
varnish-controller-credentials
Sets the secret name to read PostgreSQL passwords from.
When set to a value other than “varnish-controller-credentials”, Varnish Controller Helm Chart
will no longer auto-generate the password to varnish-controller-credentials
secret. In this case, it’s necessary to configure postgresql.auth.secretKeys
.
adminPasswordKey: postgreql-admin-password
userPasswordKey: postgresql-varnish-password
replicationPasswordKey: postgresql-replication-password
Sets the secret key to read PostgreSQL passwords from.
varnish_controller
Sets a database name for an extra user to be created during initial PostgreSQL deployment. Note that the Varnish Controller uses this value to configure Brainz when an internal PostgreSQL is used.
true
Enables data persistence using PersistentVolumes.
true
Enables connection logging.
true
Enables init container that changes the owner and group of the PersistentVolumes.
An array of objects to attach Kubernetes manifests to the deployment.
For example:
extraManifests:
- name: clusterrole
data: |
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-clusterrole
# ...
The name of the manifest. Only used if extraManifests[].checksum is true
.
Whether to attach the manifest’s checksum to that of workload to force an automatic rollout when the manifest is updated.
The full content of the manifest.