diff --git a/docs/pages/configuration/containers.mdx b/docs/pages/configuration/containers.mdx index b5fdd88..7de03e2 100644 --- a/docs/pages/configuration/containers.mdx +++ b/docs/pages/configuration/containers.mdx @@ -137,6 +137,14 @@ The `volume.readOnly` option expects a boolean which defines if the volume shoul readOnly: false ``` +### `volume.shared` +The `volume.shared` option expects a boolean which defines if the volume should be shared between pods. + +#### Default for `volume.shared` +```yaml +shared: false +``` + ## `resources` The `resources` section of a container allows you to configure resource restrictions for this container. diff --git a/templates/deployment.yaml b/templates/deployment.yaml index ef2c63c..aca1a10 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -424,7 +424,7 @@ spec: {{- $isVolumeOfThisComponent := false }} {{- range $containerIndex, $container := $.Values.containers }} {{- range $volumeMountIndex, $volumeMount := $container.volumeMounts }} - {{- if or $volumeMount.volume.readOnly $volume.secret $volume.configMap }} + {{- if or $volumeMount.volume.readOnly $volumeMount.volume.shared $volume.secret $volume.configMap }} {{- if eq $volume.name $volumeMount.volume.name }} {{- $isVolumeOfThisComponent = true }} {{- end }} @@ -454,7 +454,7 @@ spec: {{- $isVolumeTemplateOfThisComponent := false }} {{- range $containerIndex, $container := $.Values.containers }} {{- range $volumeMountIndex, $volumeMount := $container.volumeMounts }} - {{- if $volumeMount.volume.readOnly }} + {{- if or $volumeMount.volume.readOnly $volumeMount.volume.shared }} {{- else }} {{- if eq $volume.name $volumeMount.volume.name }} {{- $isVolumeTemplateOfThisComponent = true }} diff --git a/templates/volumes.yaml b/templates/volumes.yaml index e2eb170..1c9a50f 100644 --- a/templates/volumes.yaml +++ b/templates/volumes.yaml @@ -4,7 +4,7 @@ {{- $createVolume := false }} {{- range $containerIndex, $container := $.Values.containers }} {{- range $volumeMountIndex, $volumeMount := $container.volumeMounts }} - {{- if $volumeMount.volume.readOnly }} + {{- if or $volumeMount.volume.readOnly $volumeMount.volume.shared }} {{- if eq $volume.name $volumeMount.volume.name }} {{- $createVolume = true }} {{- end }} @@ -20,21 +20,34 @@ metadata: "app.kubernetes.io/name": "devspace-app" "app.kubernetes.io/component": {{ $.Release.Name | quote }} "app.kubernetes.io/managed-by": {{ $.Release.Service | quote }} - {{- if $volume.labels }} {{- range $labelName, $labelValue := $volume.labels }} {{ $labelName | quote }}: {{ $labelValue | quote }} {{- end }} - {{- end }} annotations: "helm.sh/chart": "{{ $.Chart.Name }}-{{ $.Chart.Version }}" - {{- if $volume.annotations }} {{- range $annotationName, $annotationValue := $volume.annotations }} {{ $annotationName | quote }}: {{ $annotationValue | quote }} {{- end }} - {{- end }} spec: + {{- if $volume.storageClassName }} + storageClassName: {{ $volume.storageClassName }} + {{- end }} + {{- if $volume.volumeMode }} + volumeMode: {{ $volume.volumeMode }} + {{- end }} + {{- if $volume.volumeName }} + volumeName: {{ $volume.volumeName }} + {{- end }} + {{- if $volume.dataSource }} + dataSource: +{{ toYaml $volume.dataSource | indent 4 }} + {{- end }} accessModes: - - ReadWriteOnce + {{- if $volume.accessModes }} +{{ toYaml $volume.accessModes | indent 4 }} + {{- else }} + - ReadWriteOnce + {{- end }} resources: requests: storage: {{ $volume.size | quote }}