diff --git a/common/templates/_extra_ingress.tpl b/common/templates/_extra_ingress.tpl index 8fa2c8661351fdc31d28b938f2f4b70b10b4953f..08e29a87f00f4d9937302cb36bd9489a835c336c 100644 --- a/common/templates/_extra_ingress.tpl +++ b/common/templates/_extra_ingress.tpl @@ -1,4 +1,4 @@ -{{- define "common.extra-ingress.ingress" -}} +{{- define "common.extra-ingress" -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: @@ -8,13 +8,14 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} labels: - {{- include "common.labels" . | nindent 4 }} + {{- include "common.variables.labels" . | nindent 4 }} spec: {{- with .Values.ingressClassName }} ingressClassName: {{ . | quote }} {{- end }} rules: - {{- (include "common.extra-ingress.rules" .) | nindent 4 }} + {{- (include "common.variables.extra-ingress.rules" .) | nindent 4 }} tls: - {{- (include "common.extra-ingress.tls" .) | nindent 4 }} + {{- (include "common.variables.extra-ingress.tls" .) | nindent 4 }} +--- {{- end }} diff --git a/common/templates/_helpers.tpl b/common/templates/_helpers.tpl index 2fce9c4016776dc6eb8703d9d2b4877c24b55b58..4bbcda7870accc725a84787a9bd65324b987cc7b 100644 --- a/common/templates/_helpers.tpl +++ b/common/templates/_helpers.tpl @@ -1,15 +1,15 @@ {{/* Create chart name and version as used by the chart label. */}} -{{- define "common.chart" -}} +{{- define "common.variables.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} {{/* Common labels */}} -{{- define "common.labels" -}} -helm.sh/chart: {{ include "common.chart" . }} +{{- define "common.variables.labels" -}} +helm.sh/chart: {{ include "common.variables.chart" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -23,7 +23,7 @@ Extra Ingress {{/* Extra Ingress Rules */}} -{{- define "common.extra-ingress.rules" -}} +{{- define "common.variables.extra-ingress.rules" -}} {{- $rules := list -}} {{- range $name, $rule := .Values.rules -}} {{- $rules = append $rules $rule -}} @@ -34,7 +34,7 @@ Extra Ingress Rules {{/* Extra Ingress TLS */}} -{{- define "common.extra-ingress.tls" -}} +{{- define "common.variables.extra-ingress.tls" -}} {{- $tlsDefinitions := list -}} {{- range $name, $tlsDefinition := .Values.tls -}} {{- $tlsDefinitions = append $tlsDefinitions $tlsDefinition -}} @@ -49,7 +49,7 @@ Secret {{/* Secret data */}} -{{- define "common.secret.data" -}} +{{- define "common.variables.secret.data" -}} {{- $data := dict -}} {{- range $key, $value := .Values.data -}} {{- $data = merge $data (dict $key $value) -}} diff --git a/common/templates/_persistentvolume.tpl b/common/templates/_persistentvolume.tpl new file mode 100644 index 0000000000000000000000000000000000000000..6f56c5877209d89c0bb0e42ba15484e1833bff03 --- /dev/null +++ b/common/templates/_persistentvolume.tpl @@ -0,0 +1,35 @@ +# Only use for static provisioning, dynamic provisioning will provision the pv upon request +{{- define "common.persistentvolume" -}} +apiVersion: v1 +kind: PersistentVolume +metadata: + name: {{ .Values.name }} + {{- with .Values.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} + labels: + {{- include "common.variables.labels" . | nindent 4 }} +spec: + capacity: + storage: {{ .Values.size }} + {{- with .Values.mountOptions }} + mountOptions: + {{- toYaml . | nindent 4 }} + {{- end }} + {{- with .Values.accessModes }} + accessModes: + {{- toYaml . | nindent 4 }} + {{- end }} + persistentVolumeReclaimPolicy: {{ .Values.reclaimPolicy | default "Retain" }} + storageClassName: {{ .Values.storageClassName | default "manual" }} + {{- with .Values.claimRefName }} + claimRef: + name: {{ quote . }} + namespace: {{ quote $.Release.Namespace }} + {{- end}} + {{- with .Values.mount }} + {{- toYaml . | nindent 2 }} + {{- end }} +--- +{{- end }} diff --git a/common/templates/_persistentvolumeclaim.tpl b/common/templates/_persistentvolumeclaim.tpl new file mode 100644 index 0000000000000000000000000000000000000000..6a31438e76a6ce51c77156d220c745a69827be38 --- /dev/null +++ b/common/templates/_persistentvolumeclaim.tpl @@ -0,0 +1,25 @@ +{{- define "common.persistentvolumeclaim" -}} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ .Values.name }} + {{- with .Values.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} + labels: + {{- include "common.variables.labels" . | nindent 4 }} +spec: + resources: + requests: + storage: {{ .Values.size }} + {{- with .Values.accessModes }} + accessModes: + {{- toYaml . | nindent 4 }} + {{- end }} + storageClassName: {{ .Values.storageClassName | default "manual" }} + {{- with .Values.volumeName }} + volumeName: {{ . }} + {{- end }} +--- +{{- end }} diff --git a/common/templates/_secret.tpl b/common/templates/_secret.tpl index 0436b3f4f8e6f0093603e070a209d3cbe1ca7dcf..53b6ac8b858d83f30a12e6d857b41218656b32f4 100644 --- a/common/templates/_secret.tpl +++ b/common/templates/_secret.tpl @@ -1,9 +1,16 @@ -{{- define "common.secret.secret" -}} +{{- define "common.secret" -}} apiVersion: v1 kind: Secret metadata: name: {{ .Values.name | default "secret" | quote }} + {{- with .Values.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} + labels: + {{- include "common.variables.labels" . | nindent 4 }} type: {{ .Values.type | default "Opaque" }} data: - {{- (include "common.secret.data" .) | nindent 2 }} + {{- (include "common.variables.secret.data" .) | nindent 2 }} +--- {{- end }} diff --git a/example/templates/extra_ingress.yaml b/example/templates/extra_ingress.yaml index 9e6f3bc96ac49726ccae2a6fc960490f679d0062..9485737b24ab16fb21d094a0745ca48e26fb3b8e 100644 --- a/example/templates/extra_ingress.yaml +++ b/example/templates/extra_ingress.yaml @@ -1,3 +1,3 @@ {{- if .Values.extraIngress }} -{{ include "common.extra-ingress.ingress" (merge . (dict "Values" .Values.extraIngress)) }} +{{ include "common.extra-ingress" (dict "Values" .Values.extraIngress "Chart" .Chart "Release" .Release) }} {{- end }} diff --git a/example/templates/persistentvolumeclaims.yaml b/example/templates/persistentvolumeclaims.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a8f369703b3379dd12c4f24566fc0a54c8760bbf --- /dev/null +++ b/example/templates/persistentvolumeclaims.yaml @@ -0,0 +1,3 @@ +{{- if .Values.extraIngress }} +{{ include "common.persistentvolumeclaim" (dict "Values" .Values.volumes.persistentVolumeClaims.example "Chart" .Chart "Release" .Release) }} +{{- end }} diff --git a/example/templates/persistentvolumes.yaml b/example/templates/persistentvolumes.yaml new file mode 100644 index 0000000000000000000000000000000000000000..950f8fb5e736630c988841a6dbf8090b4acce4e9 --- /dev/null +++ b/example/templates/persistentvolumes.yaml @@ -0,0 +1,3 @@ +{{- if .Values.volumes.persistentVolumes.example }} +{{ include "common.persistentvolume" (dict "Values" .Values.volumes.persistentVolumes.example "Chart" .Chart "Release" .Release) }} +{{- end }} diff --git a/example/templates/secret.yaml b/example/templates/secret.yaml deleted file mode 100644 index 6ddac33ef20683f97642978778a424c191b9c844..0000000000000000000000000000000000000000 --- a/example/templates/secret.yaml +++ /dev/null @@ -1,3 +0,0 @@ -{{- if .Values.secret }} -{{ include "common.secret.secret" (merge . (dict "Values" .Values.secret)) }} -{{- end }} diff --git a/example/templates/secrets.yaml b/example/templates/secrets.yaml new file mode 100644 index 0000000000000000000000000000000000000000..afb9199bdb22f24b56aa45497fb0bbb15d80f3f0 --- /dev/null +++ b/example/templates/secrets.yaml @@ -0,0 +1,6 @@ +{{- if .Values.secrets.secret0 }} +{{ include "common.secret" (dict "Values" .Values.secrets.secret0 "Chart" .Chart "Release" .Release) }} +{{- end }} +{{- if .Values.secrets.secret1 }} +{{ include "common.secret" (dict "Values" .Values.secrets.secret1 "Chart" .Chart "Release" .Release) }} +{{- end }} diff --git a/example/values.yaml b/example/values.yaml index 73ad8794f2cb1b21edc52f35b2f8082dd17c60e8..1093a8e9cd60acb107c8c3e4793b5a2f18d09dae 100644 --- a/example/values.yaml +++ b/example/values.yaml @@ -17,9 +17,42 @@ extraIngress: - test.com secretName: test-tls -secret: - name: example-secret - type: Generic - data: - username: dXNlcm5hbWU= # Base64-encoded 'username' - password: cGFzc3dvcmQ= # Base64-encoded 'password' +secrets: + secret0: + name: example-secret0 + data: + username: dXNlcm5hbWU= # Base64-encoded 'username' + password: cGFzc3dvcmQ= # Base64-encoded 'password' + + secret1: + name: example-secret1 + type: Opaque + data: + username: example + password: example + +volumes: + persistentVolumes: + example: + name: example + size: 5Gi + mountOptions: + - nfsvers=4.1 + accessModes: + - ReadWriteMany + reclaimPolicy: Delete + storageClassName: manual + claimRefName: example + mount: + nfs: + server: 192.168.1.196 + path: /example + + persistentVolumeClaims: + example: + name: example + size: 5Gi + accessModes: + - ReadWriteMany + storageClassName: manual + volumeName: example