{{/* # Copyright © 2020 Amdocs, Bell Canada, highstreet technologies GmbH # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. */}} {{/* common templates to enable aaf configs for applictaions Parameter for aafConfig to be defined in values.yaml aafConfig: --> if a different key is used, call templates with argument (dict "aafRoot" "" "dot" .) # additional scripts can be defined to handle certs addconfig: true|false fqdn: "sdnc" image: onap/aaf/aaf_agent:2.1.15 app_ns: "org.osaaf.aaf" fqi: "sdnc@sdnc.onap.org" fqi_namespace: org.onap.sdnc public_fqdn: "aaf.osaaf.org" aafDeployFqi: "deployer@people.osaaf.org" aafDeployPass: demo123456! cadi_latitude: "38.0" cadi_longitude: "-72.0" persistence: enabled: true config.volumeReclaimPolicy: Delete config.accessMode: ReadWriteMany config.size: 40M config.storageClass: "manual" config.mountPath: "/dockerdata-nfs" config.mountSubPath: "sdnc/aaf" # secrets configuration, Note: create a secrets template secrets: - uid: aaf-deploy-creds type: basicAuth externalSecret: '{{ ternary (tpl (default "" .Values.aafConfig.aafDeployCredsExternalSecret) .) "aafIsDiabled" .Values.global.aafEnabled }}' login: '{{ .Values.aafConfig.aafDeployFqi }}' password: '{{ .Values.aafConfig.aafDeployPass }}' passwordPolicy: required In deployments/jobs/stateful include: initContainers: {{ include "common.aaf-config" . | nindent XX}} containers: volumeMounts: {{- if .Values.global.aafEnabled }} - mountPath: "/opt/app/osaaf" name: {{ include "common.fullname" . }}-aaf-config-vol {{- end }} volumes: {{- include "common.aaf-config-volumes" . | nindent XX}} If persistence.enabled = true Create pvc: {{ include "common.aaf-config-pvc" . }} Create pv {{ include "common.aaf-config-pv" . }} */}} {{- define "common.aaf-config" -}} {{- $dot := default . .dot -}} {{- $aafRoot := default "aafConfig" .aafRoot -}} {{ if .Values.global.aafEnabled }} - name: {{ include "common.name" . }}-aaf-readiness image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} command: - /root/ready.py args: - --container-name - aaf-locate - --container-name - aaf-cm - --container-name - aaf-service env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: {{ include "common.name" . }}-aaf-config image: {{ .Values.global.repository }}/{{index .Values $aafRoot "image" }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" name: {{ include "common.fullname" . }}-aaf-config-vol {{- if (index .Values $aafRoot "addconfig") }} - name: aaf-add-config mountPath: /opt/app/aaf_config/bin/aaf-add-config.sh subPath: aaf-add-config.sh {{- end }} command: - sh - -c - | #!/usr/bin/env bash /opt/app/aaf_config/bin/agent.sh {{- if (index .Values $aafRoot "addconfig") }} /opt/app/aaf_config/bin/aaf-add-config.sh {{- end }} env: - name: APP_FQI value: "{{ index .Values $aafRoot "fqi" }}" - name: aaf_locate_url value: "https://aaf-locate.{{ .Release.Namespace}}:8095" - name: aaf_locator_container value: "oom" - name: aaf_locator_container_ns value: "{{ .Release.Namespace }}" - name: aaf_locator_fqdn value: "{{ index .Values $aafRoot "fqdn" }}" - name: aaf_locator_app_ns value: "{{ index .Values $aafRoot "app_ns" }}" - name: DEPLOY_FQI {{- include "common.secret.envFromSecret" (dict "global" . "uid" "aaf-deploy-creds" "key" "login") | indent 6 }} - name: DEPLOY_PASSWORD {{- include "common.secret.envFromSecret" (dict "global" . "uid" "aaf-deploy-creds" "key" "password") | indent 6 }} #Note: want to put this on Nodes, evenutally - name: cadi_longitude value: "{{ default "52.3" (index .Values $aafRoot "cadi_longitude") }}" - name: cadi_latitude value: "{{ default "13.2" (index .Values $aafRoot "cadi_latitude") }}" #Hello specific. Clients don't don't need this, unless Registering with AAF Locator - name: aaf_locator_public_fqdn value: "{{ (index .Values $aafRoot "public_fqdn") | default "" }}" {{- end -}} {{- end -}} {{- define "common.aaf-config-volume-mountpath" -}} {{ if .Values.global.aafEnabled }} - mountPath: "/opt/app/osaaf" name: {{ include "common.fullname" . }}-aaf-config-vol {{- end -}} {{- end -}} {{- define "common.aaf-config-volumes" -}} {{ if .Values.global.aafEnabled }} {{- $dot := default . .dot -}} {{- $aafRoot := default "aafConfig" .aafRoot -}} - name: {{ include "common.fullname" . }}-aaf-config-vol persistentVolumeClaim: claimName: {{ include "common.fullname" . }}-aaf-config-pvc {{- if (index .Values $aafRoot "addconfig") }} - name: aaf-add-config configMap: name: {{ include "common.fullname" . }}-aaf-add-config defaultMode: 0700 {{- end }} {{- end -}} {{- end }} {{- define "common.aaf-config-pv" -}} {{- $dot := default . .dot -}} {{- $aafRoot := default "aafConfig" .aafRoot -}} metadata: name: {{ include "common.fullname" . }}-aaf-config-pv namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }}-aaf-config-pv chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" name: {{ include "common.fullname" . }} spec: capacity: storage: {{ index .Values $aafRoot "persistence" "config" "size"}} accessModes: - {{ index .Values $aafRoot "persistence" "config" "accessMode" }} persistentVolumeReclaimPolicy: {{ index .Values $aafRoot "persistence" "config" "volumeReclaimPolicy" }} hostPath: path: {{ index .Values $aafRoot "persistence" "config" "mountPath" }}/{{ .Release.Name }}/{{ index .Values $aafRoot "persistence" "config" "mountSubPath" }} {{- if (index .Values $aafRoot "persistence" "config" "storageClass") }} {{- if (eq "-" (index .Values $aafRoot "persistence" "config" "storageClass")) }} storageClassName: "" {{- else }} storageClassName: "{{ index .Values $aafRoot "persistence" "config" "storageClass" }}" {{- end }} {{- end }} {{- end -}} {{- define "common.aaf-config-pvc" -}} {{- $dot := default . .dot -}} {{- $aafRoot := default "aafConfig" .aafRoot -}} metadata: name: {{ include "common.fullname" . }}-aaf-config-pvc namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" {{- if (index .Values $aafRoot "persistence" "annotations") }} annotations: {{ toYaml (index .Values $aafRoot "persistence" "annotations" ) | indent 4 }} {{- end }} spec: selector: matchLabels: app: {{ include "common.name" . }}-aaf-config-pv accessModes: - {{ index .Values $aafRoot "persistence" "config" "accessMode" }} resources: requests: storage: {{ index .Values $aafRoot "persistence" "config" "size" }} {{- if (index .Values $aafRoot "persistence" "config" "storageClass") }} {{- if (eq "-" (index .Values $aafRoot "persistence" "config" "storageClass")) }} storageClassName: "" {{- else }} storageClassName: "{{ index .Values $aafRoot "persistence" "config" "storageClass" }}" {{- end }} {{- end }} {{- end -}}