SDNC-660: Helm integration for Netconf over TLS
This commit introduces a persistent volume for
"NETCONF over TLS" usecase in SDNC, so that certificates can
be fetched from persistence at deployment time of SDNC/ODL. This
functionality can be enbaled/disabled using flag
oom/kubernetes/sdnc/values.yaml
values.certpersistence.enabled true/false.
By default this is enabled (.i.e. true).
Mounted paths are
Host path : /dockerdata-nfs/sdnc/certs
Container path : /opt/opendaylight/current/certs
Issue-ID: SDNC-660
Change-Id: Iab2ecdfcb890b6dc779de12655f0fb7bd869fb0f
Signed-off-by: Rahul Tyagi <rahul.tyagi@ericsson.com>
diff --git a/kubernetes/sdnc/templates/pvc.yaml b/kubernetes/sdnc/templates/pvc.yaml
new file mode 100644
index 0000000..aa9515b
--- /dev/null
+++ b/kubernetes/sdnc/templates/pvc.yaml
@@ -0,0 +1,32 @@
+{{- if and .Values.certpersistence.enabled (not .Values.certpersistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" .}}-pvc-certs
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}-pvc-certs
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.certpersistence.annotations }}
+ annotations:
+{{ toYaml .Values.certpersistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}-pv-certs
+ accessModes:
+ - {{ .Values.certpersistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.certpersistence.size }}
+{{- if .Values.certpersistence.storageClass }}
+{{- if (eq "-" .Values.certpersistence.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.certpersistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
\ No newline at end of file