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