Persistence
Appears in
.Values.persistence
Naming scheme
$FullName-$PersistenceName(release-name-chart-name-PersistenceName)
Target Selector
targetSelectAll(bool): Whether to define the volume to all pods and mount it on all containers.targetSelectoris ignored in this case. Useful for shared volumes.targetSelector(map): Define the pod(s) and container(s) to define the volume and mount it.targetSelector(empty): Define the volume to the primary pod and mount it on the primary container
persistence
Define persistence objects
| Key | persistence | 
| Type | map | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | {} | 
Example
persistence: {}$name
Define persistence
| Key | persistence.$name | 
| Type | map | 
| Required | ✅ | 
Helm tpl | ❌ | 
| Default | {} | 
Example
persistence:  some-vol: {}enabled
Enables or Disables the persistence
| Key | persistence.$name.enabled | 
| Type | bool | 
| Required | ✅ | 
Helm tpl | ✅ | 
| Default | false | 
Example
persistence:  some-vol:    enabled: truetype
Define the persistence type
| Key | persistence.$name.type | 
| Type | string | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | See default here | 
Valid Values:
Example
persistence:  some-vol:    type: pvcmountPath
Define the mountPath for the persistence, applies to all containers that are selected
| Key | persistence.$name.mountPath | 
| Type | string | 
| Required | ✅ | 
Helm tpl | ✅ | 
| Default | "" | 
Example
persistence:  some-vol:    mountPath: /pathmountPropagation
Define the mountPropagation for the persistence, applies to all containers that are selected
| Key | persistence.$name.mountPropagation | 
| Type | string | 
| Required | ❌ | 
Helm tpl | ✅ | 
| Default | "" | 
Valid Values:
NoneHostToContainerBidirectional
Example
persistence:  some-vol:    mountPropagation: HostToContainersubPath
Define the subPath for the persistence, applies to all containers that are selected
| Key | persistence.$name.subPath | 
| Type | string | 
| Required | ❌ | 
Helm tpl | ✅ | 
| Default | "" | 
Example
persistence:  some-vol:    subPath: some-pathreadOnly
Define the readOnly for the persistence, applies to all containers that are selected
| Key | persistence.$name.readOnly | 
| Type | bool | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | false | 
Example
persistence:  some-vol:    readOnly: truetargetSelectAll
Define wether to define this volume to all workloads and mount it on all containers
| Key | persistence.$name.targetSelectAll | 
| Type | bool | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | false | 
Example
persistence:  some-vol:    targetSelectAll: truetargetSelector
Define a map with pod and containers to mount
| Key | persistence.$name.targetSelector | 
| Type | map | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | {} | 
Example
persistence:  some-vol:    targetSelector: {}targetSelector.$podName
Define a map named after the pod to define the volume
| Key | persistence.$name.targetSelector.$podName | 
| Type | map | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | {} | 
Example
persistence:  some-vol:    targetSelector:      my-pod: {}targetSelector.$podName.$containerName
Define a map named after the container to mount the volume
| Key | persistence.$name.targetSelector.$podName.$containerName | 
| Type | map | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | {} | 
Example
persistence:  some-vol:    targetSelector:      my-pod:        my-container: {}targetSelector.$podName.$containerName.mountPath
Define the mountPath for the container
| Key | persistence.$name.targetSelector.$podName.$containerName.mountPath | 
| Type | string | 
| Required | ❌ | 
Helm tpl | ✅ | 
| Default | $name.mountPath | 
Example
persistence:  some-vol:    targetSelector:      my-pod:        my-container:          mountPath: /pathtargetSelector.$podName.$containerName.mountPropagation
Define the mountPropagation for the container
| Key | persistence.$name.targetSelector.$podName.$containerName.mountPropagation | 
| Type | string | 
| Required | ❌ | 
Helm tpl | ✅ | 
| Default | $name.mountPropagation | 
Example
persistence:  some-vol:    targetSelector:      my-pod:        my-container:          mountPropagation: HostToContainertargetSelector.$podName.$containerName.subPath
Define the subPath for the container
| Key | persistence.$name.targetSelector.$podName.$containerName.subPath | 
| Type | string | 
| Required | ❌ | 
Helm tpl | ✅ | 
| Default | $name.subPath | 
Example
persistence:  some-vol:    targetSelector:      my-pod:        my-container:          subPath: some-pathtargetSelector.$podName.$containerName.readOnly
Define the readOnly for the container
| Key | persistence.$name.targetSelector.$podName.$containerName.readOnly | 
| Type | bool | 
| Required | ❌ | 
Helm tpl | ❌ | 
| Default | $name.readOnly | 
Example
persistence:  some-vol:    targetSelector:      my-pod:        my-container:          readOnly: trueBasic Examples
# Example of a shared emptyDir volumepersistence:  shared:    enabled: true    type: emptyDir    mountPath: /shared    readOnly: false    targetSelectAll: true# Example of a volume mounted to a specific container with a specific mountPathpersistence:  config:    enabled: true    type: emptyDir    targetSelector:      my-pod:        my-container: {}          mountPath: /path          readOnly: false        my-other-container: {}          mountPath: /other/path          readOnly: false# Example of a volume mounted to a specific container using the default mountPathpersistence:  config:    enabled: true    type: emptyDir    mountPath: /path    readOnly: true    targetSelector:      my-pod:        my-container: {}        my-other-container:          mountPath: /other/path          readOnly: falseFull Examples
Full examples can be found under each persistence type