Persistence
Appears in
Section titled “Appears in”.Values.persistence
Naming scheme
Section titled “Naming scheme”$FullName-$PersistenceName
(release-name-chart-name-PersistenceName)
Target Selector
Section titled “Target Selector”targetSelectAll
(bool): Whether to define the volume to all pods and mount it on all containers.targetSelector
is 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
Section titled “persistence”Define persistence objects
Key | persistence |
Type | map |
Required | ❌ |
Helm tpl | ❌ |
Default | {} |
Example
persistence: {}
Define persistence
Key | persistence.$name |
Type | map |
Required | ✅ |
Helm tpl | ❌ |
Default | {} |
Example
persistence: some-vol: {}
enabled
Section titled “enabled”Enables or Disables the persistence
Key | persistence.$name.enabled |
Type | bool |
Required | ✅ |
Helm tpl | ✅ |
Default | false |
Example
persistence: some-vol: enabled: true
Define the persistence type
Key | persistence.$name.type |
Type | string |
Required | ❌ |
Helm tpl | ❌ |
Default | See default here |
Valid Values:
Example
persistence: some-vol: type: pvc
mountPath
Section titled “mountPath”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: /path
mountPropagation
Section titled “mountPropagation”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:
None
HostToContainer
Bidirectional
Example
persistence: some-vol: mountPropagation: HostToContainer
subPath
Section titled “subPath”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-path
readOnly
Section titled “readOnly”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: true
targetSelectAll
Section titled “targetSelectAll”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: true
targetSelector
Section titled “targetSelector”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
Section titled “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
Section titled “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
Section titled “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: /path
targetSelector.$podName.$containerName.mountPropagation
Section titled “targetSelector.$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: HostToContainer
targetSelector.$podName.$containerName.subPath
Section titled “targetSelector.$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-path
targetSelector.$podName.$containerName.readOnly
Section titled “targetSelector.$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: true
Basic Examples
Section titled “Basic 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: false
Full Examples
Section titled “Full Examples”Full examples can be found under each persistence type