[AAF] v1.16+ compatible templates

Use the different "common" templates in order to create consistent and
v1.16+ compatible templates for the different resources of AAF

Issue-ID: AAF-1122
Issue-ID: OOM-1971
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: Iefc1391211a69b6584ea127066ce430d4f5eb389
diff --git a/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml
index 6ce3abd..5074c8b 100644
--- a/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml
+++ b/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml
@@ -1,4 +1,5 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2017 Amdocs
+# Modifications © 2020 Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,128 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-spec:
-  replicas: {{ .Values.global.aaf.oauth.replicas }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ include "common.release" . }}
-    spec:
-      initContainers:
-      - name: fix-permission
-        command:
-        - /bin/sh
-        args:
-        - -c
-        - |
-          chmod -R 775 /opt/app/aaf/status
-          chown -R 1000:1000 /opt/app/aaf/status
-          chmod -R 775 /opt/app/osaaf
-          chown -R 1000:1000 /opt/app/osaaf
-        image: "{{ .Values.global.busyboxRepository }}/{{ .Values.global.busyboxImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        volumeMounts:
-          - mountPath: /opt/app/aaf/status
-            name: aaf-status-vol
-          - mountPath: /opt/app/osaaf
-            name: aaf-config-vol
-      - name: {{ include "common.name" . }}-config-container
-        image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"]
-        volumeMounts:
-          - mountPath: "/opt/app/osaaf"
-            name: aaf-config-vol
-          - mountPath: "/opt/app/aaf/status"
-            name: aaf-status-vol
-        env:
-          - name: aaf_env
-            value: "{{ .Values.global.aaf.aaf_env }}"
-          - name: cadi_latitude
-            value: "{{ .Values.global.aaf.cadi_latitude }}"
-          - name: cadi_longitude
-            value: "{{ .Values.global.aaf.cadi_longitude }}"
-          - name: cadi_x509_issuers
-            value: "{{ .Values.global.aaf.cadi_x509_issuers }}"
-          - name: aaf_locate_url
-            value: "https://aaf-locate.{{ .Release.Namespace}}:{{.Values.global.aaf.locate.internal_port}}"
-          - name: aaf_locator_container
-            value: "oom"
-          - name: aaf_release
-            value: "{{ .Values.global.aaf.aaf_release }}"
-          - name: aaf_locator_container_ns
-            value: "{{ .Release.Namespace }}"
-          - name: aaf_locator_public_fqdn
-            value: "{{.Values.global.aaf.public_fqdn}}"
-          - name: aaf_locator_name
-            value: "{{.Values.global.aaf.aaf_locator_name}}"
-          - name: aaf_locator_name_oom
-            value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
-          - name: cm_always_ignore_ips
-            value: "true"
-          - name: CASSANDRA_CLUSTER
-            value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
-#          - name: CASSANDRA_USER
-#            value: ""
-#          - name: CASSANDRA_PASSWORD
-#            value: ""
-#         - name: CASSANDRA_PORT
-#            value: ""
-      containers:
-      - name: {{ include "common.name" . }}
-        command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-oauth aaf-service && exec bin/oauth"]
-        image: {{ .Values.global.repository }}/{{.Values.global.aaf.image}}
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        volumeMounts:
-        - mountPath: "/opt/app/osaaf"
-          name: aaf-config-vol
-        - mountPath: "/opt/app/aaf/status"
-          name: aaf-status-vol
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        {{- if eq .Values.liveness.enabled true }}
-        livenessProbe:
-          tcpSocket:
-            port: {{ .Values.global.aaf.oauth.internal_port }}
-          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
-          periodSeconds: {{ .Values.liveness.periodSeconds }}
-        {{ end -}}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.global.aaf.oauth.internal_port }}
-          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
-          periodSeconds: {{ .Values.readiness.periodSeconds }}
-        resources:
-{{ include "common.resources" . | indent 12 }}
-      {{- if .Values.nodeSelector }}
-      nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-      {{- end -}}
-      {{- if .Values.affinity }}
-      affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-      {{- end }}
-      volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      - name: aaf-status-vol
-        persistentVolumeClaim:
-          claimName: {{ include "common.release" . }}-aaf-status
-      - name: aaf-config-vol
-        persistentVolumeClaim:
-          claimName: {{ include "common.release" . }}-aaf-config
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+{{ include "aaf.deployment" . }}
diff --git a/kubernetes/aaf/charts/aaf-oauth/templates/service.yaml b/kubernetes/aaf/charts/aaf-oauth/templates/service.yaml
index 52c2d10..e54c4f3 100644
--- a/kubernetes/aaf/charts/aaf-oauth/templates/service.yaml
+++ b/kubernetes/aaf/charts/aaf-oauth/templates/service.yaml
@@ -1,4 +1,5 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2017 Amdocs, Orange
+# Modifications © 2020 Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,22 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-spec:
-  ports:
-    - port: {{ .Values.global.aaf.oauth.internal_port }}
-      nodePort: {{ .Values.global.aaf.oauth.public_port }}
-      name: aaf-oauth
-  selector:
-    app: {{ include "common.name" . }}
-    release: {{ include "common.release" . }}
-  type: "NodePort"
+{{ include "common.service" . }}
diff --git a/kubernetes/aaf/charts/aaf-oauth/values.yaml b/kubernetes/aaf/charts/aaf-oauth/values.yaml
index deadf29..55a9511 100644
--- a/kubernetes/aaf/charts/aaf-oauth/values.yaml
+++ b/kubernetes/aaf/charts/aaf-oauth/values.yaml
@@ -19,30 +19,40 @@
 # Application configuration defaults.
 #################################################################
 # application image
+
+replicaCount: 1
+
+binary: oauth
+
+sequence_order:
+  - service
+  - locate
+
 nodeSelector: {}
 
 affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 120
+  initialDelaySeconds: 30
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
+  port: api
 
 readiness:
   initialDelaySeconds: 5
   periodSeconds: 10
+  port: api
 
 service:
   name: aaf-oauth
   type: ClusterIP
-  portName: aaf-oauth
-  #targetPort
-  internalPort: 8140
-  #port
-  externalPort: 8140
+  ports:
+    - name: api
+      protocol: http
+      port: 8140
 
 ingress:
   enabled: false
@@ -55,18 +65,18 @@
 
 # Configure resource requests and limits
 resources:
- small:
-   limits:
-     cpu: 40m
-     memory: 320Mi
-   requests:
-     cpu: 1m
-     memory: 210Mi
- large:
-   limits:
-     cpu: 400m
-     memory: 600Mi
-   requests:
-     cpu: 40m
-     memory: 200Mi
- unlimited: {}
+  small:
+    limits:
+      cpu: 40m
+      memory: 320Mi
+    requests:
+      cpu: 1m
+      memory: 210Mi
+  large:
+    limits:
+      cpu: 400m
+      memory: 600Mi
+    requests:
+      cpu: 40m
+      memory: 200Mi
+  unlimited: {}