[CORD-2909] Flatten and parameterize charts

Change-Id: I695c1df063b0f6f6ccf280254d54cc701292348f
diff --git a/xos-services/addressmanager/templates/_helpers.tpl b/xos-services/addressmanager/templates/_helpers.tpl
index 3d71f0a..e80e8e3 100644
--- a/xos-services/addressmanager/templates/_helpers.tpl
+++ b/xos-services/addressmanager/templates/_helpers.tpl
@@ -45,3 +45,32 @@
 {{- define "addressmanager.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "addressmanager.serviceConfig" -}}
+name: addressmanager
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - AddressManagerServiceInstance
+dependency_graph: "/opt/xos/synchronizers/addressmanager/model-deps"
+model_policies_dir: "/opt/xos/synchronizers/addressmanager/model_policies"
+models_dir: "/opt/xos/synchronizers/addressmanager/models"
+logging:
+  version: 1
+  handlers:
+    console:
+      class: logging.StreamHandler
+    file:
+      class: logging.handlers.RotatingFileHandler
+      filename: /var/log/xos.log
+      maxBytes: 10485760
+      backupCount: 5
+  loggers:
+    'multistructlog':
+      handlers:
+          - console
+          - file
+      level: DEBUG
+{{- end -}}
diff --git a/xos-services/addressmanager/templates/configmap.yaml b/xos-services/addressmanager/templates/configmap.yaml
index fd0a96c..185111b 100644
--- a/xos-services/addressmanager/templates/configmap.yaml
+++ b/xos-services/addressmanager/templates/configmap.yaml
@@ -20,4 +20,4 @@
   name: addressmanager
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "addressmanager.serviceConfig" . | indent 4 }}
diff --git a/xos-services/addressmanager/templates/deployment.yaml b/xos-services/addressmanager/templates/deployment.yaml
index e97888c..003aad0 100644
--- a/xos-services/addressmanager/templates/deployment.yaml
+++ b/xos-services/addressmanager/templates/deployment.yaml
@@ -39,16 +39,17 @@
     spec:
       containers:
         - name: {{ .Chart.Name }}
-          image: "{{ .Values.pull_docker_registry }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          image: {{ .Values.addressmanager_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: addressmanager-config
               mountPath: /opt/xos/synchronizers/addressmanager/addressmanager_config.yaml
               subPath: addressmanager_config.yaml
-            - name: cert-chain-secret
-              mountPath: /usr/local/share/ca-certificates
+            - name: certchain-volume
+              mountPath: /usr/local/share/ca-certificates/local_certs.crt
+              subPath: config/ca_cert_chain.pem
       volumes:
         - name: addressmanager-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: addressmanager_config.yaml
-        - name: cert-chain-secret
-          secret:
-            secretName: cert-chain-secret
+        - name: certchain-volume
+          configMap:
+            name: ca-certificates
+            items:
+              - key: chain
+                path: config/ca_cert_chain.pem
     {{- with .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml . | indent 8 }}
diff --git a/xos-services/addressmanager/values.yaml b/xos-services/addressmanager/values.yaml
index a61cebc..9acaf32 100644
--- a/xos-services/addressmanager/values.yaml
+++ b/xos-services/addressmanager/values.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,15 +19,15 @@
 
 replicaCount: 1
 
-pull_docker_registry:
-
 nameOverride: ""
 fullnameOverride: ""
 
-image:
-  repository: xosproject/addressmanager-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+addressmanager_synchronizerImage: "xosproject/addressmanager-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,15 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: addressmanager
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - AddressManagerServiceInstance
-  dependency_graph: "/opt/xos/synchronizers/addressmanager/model-deps"
-  model_policies_dir: "/opt/xos/synchronizers/addressmanager/model_policies"
-  models_dir: "/opt/xos/synchronizers/addressmanager/models"