Config Reference

containers

containers: # struct[] | Array of containers
- name: some-container # string | Container name (optional)
image: mysql # string | Container image
command: # string[] | Override image ENTRYPOINT
- "sleep"
args: # string[] | Override image CMD
- "99999"
stdin: false # boolean | Set container stdin (default: false)
tty: false # boolean | Set container tty (default: false)
env: # struct[] | Array of environment variables for container
- name: SOME_ENV_VAR # string | Name of environment variable
value: "some-value" # string | Value of environment variable
valueFrom: ... # struct | Get value of environment variable from Kubernetes object (e.g. configmap, secret)
volumeMounts: # struct[] | Array of volume mounts
- containerPath: /volume # string | Path inside container to mount volume into
volume: # struct | Volume to mount
name: some-volume # string | Name of the volume to mount
subPath: /some/path # string | Mount subPath within volume (optional)
readOnly: false # boolean | Make volume mount read-only (default: false)
resources: # struct | Pod Resource Restrictions
limits: ... # struct | Kubernetes limit for pod resources (max)
requests: ... # struct | Kubernetes requests for pod resources (min)
livenessProbe: ... # struct | Kubernetes livenessProbe
readinessProbe: ... # struct | Kubernetes readinessProbe

initContainers

containers: # struct[] | Array of containers
- name: some-container # string | Container name (optional)
image: mysql # string | Container image
command: # string[] | Override image ENTRYPOINT
- "sleep"
args: # string[] | Override image CMD
- "99999"
stdin: false # boolean | Set container stdin (default: false)
tty: false # boolean | Set container tty (default: false)
env: # struct[] | Array of environment variables for container
- name: SOME_ENV_VAR # string | Name of environment variable
value: "some-value" # string | Value of environment variable
valueFrom: ... # struct | Get value of environment variable from Kubernetes object (e.g. configmap, secret)
volumeMounts: # struct[] | Array of volume mounts
- containerPath: /volume # string | Path inside container to mount volume into
volume: # struct | Volume to mount
name: some-volume # string | Name of the volume to mount
subPath: /some/path # string | Mount subPath within volume (optional)
readOnly: false # boolean | Make volume mount read-only (default: false)
resources: # struct | Pod Resource Restrictions
limits: ... # struct | Kubernetes limit for pod resources (max)
requests: ... # struct | Kubernetes requests for pod resources (min)
livenessProbe: ... # struct | Kubernetes livenessProbe
readinessProbe: ... # struct | Kubernetes readinessProbe

labels

labels: # map | Map of additional labels (optional)
labelName1: labelValue1
labelName2: labelValue2

annotations

annotations: # map | Map of additional annotations (optional)
annotationName1: annotationValue1
annotationName2: annotationValue2

volumes

volumes: # struct[] | Array of volumes for this component
- name: some-volume # string | Name of the volume
size: 2Gi # string | Size of the volume (for Persistent Volumes)
configMap: # struct | ConfigMap reference (for ConfigMap Volumes)
name: my-config # string | Name of the configmap
secret: # struct | Secret reference (for Secret Volumes)
secretNme: my-secret # string | Name of the secret

service

service: # struct | Service of this component
ports: # struct | Array of ports for this service
- port: 8080 # int | Port of service
containerPort: 80 # int | Port of pod to forward traffic to (default: same as port)
protocol: TCP # string | Network protocol (default: TCP)
type: ClusterIP # string | Kubernetes service type (default: ClusterIP)
externalIPs: # string[] | Array of external IP addresses for service (optional)
- "244.485.47.5"
name: my-service # string | Name of the service (optional, default: name of component release)
labels: # map | Map of additional labels (optional)
labelName1: labelValue1
labelName2: labelValue2
annotations: # map | Map of additional annotations (optional)
annotationName1: annotationValue1
annotationName2: annotationValue2

serviceName

serviceName: my-service # string | Name of headless service (for Kubernetes StatefulSet = if at least one volume is mounted in containers)

ingress

ingress: # struct | Ingress for component
rules: # struct[] | Array of ingress rules for component
- host: my-hostname.tld # string | Hostname for ingress rule
path: / # string | Host path for ingress rule (default: /)
servicePort:
serviceName:
tls: true # boolean OR string | True (for auto-generated secert name) or name of secret with SSL certificate (default: false)
tlsClusterIssuer: lets-encrypt-http-issuer # string | Name of tls cluster issuer (letsencrypt, cert-manager)
ingressClass: nginx # string | Ingress class for certificate provisioning
name: my-ingress # string | Name of the ingress (optional, default: name of component release)
labels: # map | Map of additional labels (optional)
labelName1: labelValue1
labelName2: labelValue2
annotations: # map | Map of additional annotations (optional)
annotationName1: annotationValue1
annotationName2: annotationValue2

replicas

replicas: 3 # int | Number of replicas of component

autoScaling

autoScaling: # struct | Autoscaler configuration
horizontal: # struct | Horizontal autoscaler configuration
maxReplicas: 5 # int | Max number of replicas
averageCPU: 500m # string | Target CPU value (average)
averageRelativeCPU: 80 # int | Target CPU value relative to requested CPU for containers (average)
averageMemory: 2Gi # string | Target memory value (average)
averageRelativeMemory: 50 # int | Target memory value relative to requested memory for containers (average)

rollingUpdate

rollingUpdate: # struct | Rolling update configuration
enabled: false # boolean | Enable/disable rolling updates (default: false)
maxSurge: "50%" # string | Max relative amount of pods that can be created above the desired number of replicas
maxUnavailable: "30%" # string | Max relative amount of pods that can be unavailable during rolling update
partition: 3 # int | Only update pods with ordinal number greater than or equal this value (pods 1+2 will not be updated, default: 1)

pullSecrets

pullSecrets: # string[] | Array of Kubernetes secrets used as image pull secrets
- some-secret

affinity

affinity: {} # struct | Kubernetes affinity to consider when scheduling pod

nodeSelector

nodeSelector: {} # struct | Kubernetes node selector to consider when scheduling pod

nodeName

nodeName: "node-name" # string | Kubernetes node name to schedule pod on

tolerations

tolerations: {} # struct | Kubernetes tolerations to consider when scheduling pod

podManagementPolicy

podManagementPolicy: OrderedReady # string | Kubernetes Pod Management Policy (default: OrderedReady)