Skip to content

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. 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

Define persistence objects

Keypersistence
Typemap
Required
Helm tpl
Default{}

Example

persistence: {}

$name

Define persistence

Keypersistence.$name
Typemap
Required
Helm tpl
Default{}

Example

persistence:
some-vol: {}

enabled

Enables or Disables the persistence

Keypersistence.$name.enabled
Typebool
Required
Helm tpl
Defaultfalse

Example

persistence:
some-vol:
enabled: true

type

Define the persistence type

Keypersistence.$name.type
Typestring
Required
Helm tpl
DefaultSee default here

Valid Values:

Example

persistence:
some-vol:
type: pvc

mountPath

Define the mountPath for the persistence, applies to all containers that are selected

Keypersistence.$name.mountPath
Typestring
Required
Helm tpl
Default""

Example

persistence:
some-vol:
mountPath: /path

mountPropagation

Define the mountPropagation for the persistence, applies to all containers that are selected

Keypersistence.$name.mountPropagation
Typestring
Required
Helm tpl
Default""

Valid Values:

  • None
  • HostToContainer
  • Bidirectional

Example

persistence:
some-vol:
mountPropagation: HostToContainer

subPath

Define the subPath for the persistence, applies to all containers that are selected

Keypersistence.$name.subPath
Typestring
Required
Helm tpl
Default""

Example

persistence:
some-vol:
subPath: some-path

readOnly

Define the readOnly for the persistence, applies to all containers that are selected

Keypersistence.$name.readOnly
Typebool
Required
Helm tpl
Defaultfalse

Example

persistence:
some-vol:
readOnly: true

targetSelectAll

Define wether to define this volume to all workloads and mount it on all containers

Keypersistence.$name.targetSelectAll
Typebool
Required
Helm tpl
Defaultfalse

Example

persistence:
some-vol:
targetSelectAll: true

targetSelector

Define a map with pod and containers to mount

Keypersistence.$name.targetSelector
Typemap
Required
Helm tpl
Default{}

Example

persistence:
some-vol:
targetSelector: {}

targetSelector.$podName

Define a map named after the pod to define the volume

Keypersistence.$name.targetSelector.$podName
Typemap
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

Keypersistence.$name.targetSelector.$podName.$containerName
Typemap
Required
Helm tpl
Default{}

Example

persistence:
some-vol:
targetSelector:
my-pod:
my-container: {}

targetSelector.$podName.$containerName.mountPath

Define the mountPath for the container

Keypersistence.$name.targetSelector.$podName.$containerName.mountPath
Typestring
Required
Helm tpl
Default$name.mountPath

Example

persistence:
some-vol:
targetSelector:
my-pod:
my-container:
mountPath: /path

targetSelector.$podName.$containerName.mountPropagation

Define the mountPropagation for the container

Keypersistence.$name.targetSelector.$podName.$containerName.mountPropagation
Typestring
Required
Helm tpl
Default$name.mountPropagation

Example

persistence:
some-vol:
targetSelector:
my-pod:
my-container:
mountPropagation: HostToContainer

targetSelector.$podName.$containerName.subPath

Define the subPath for the container

Keypersistence.$name.targetSelector.$podName.$containerName.subPath
Typestring
Required
Helm tpl
Default$name.subPath

Example

persistence:
some-vol:
targetSelector:
my-pod:
my-container:
subPath: some-path

targetSelector.$podName.$containerName.readOnly

Define the readOnly for the container

Keypersistence.$name.targetSelector.$podName.$containerName.readOnly
Typebool
Required
Helm tpl
Default$name.readOnly

Example

persistence:
some-vol:
targetSelector:
my-pod:
my-container:
readOnly: true

Basic Examples

# Example of a shared emptyDir volume
persistence:
shared:
enabled: true
type: emptyDir
mountPath: /shared
readOnly: false
targetSelectAll: true
# Example of a volume mounted to a specific container with a specific mountPath
persistence:
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 mountPath
persistence:
config:
enabled: true
type: emptyDir
mountPath: /path
readOnly: true
targetSelector:
my-pod:
my-container: {}
my-other-container:
mountPath: /other/path
readOnly: false

Full Examples

Full examples can be found under each persistence type