[CORD-2909] Flatten and parameterize charts

Change-Id: I695c1df063b0f6f6ccf280254d54cc701292348f
diff --git a/scripts/yamllint.conf b/scripts/yamllint.conf
new file mode 100644
index 0000000..a0e02ab
--- /dev/null
+++ b/scripts/yamllint.conf
@@ -0,0 +1,13 @@
+---
+# yamllint.conf
+
+extends: default
+
+rules:
+  empty-lines:
+    max-end: 1
+  line-length:
+    max: 120
+  braces:
+    min-spaces-inside: 0
+    max-spaces-inside: 1
diff --git a/xos-core/Chart.yaml b/xos-core/Chart.yaml
index 613d0e7..b9b1487 100644
--- a/xos-core/Chart.yaml
+++ b/xos-core/Chart.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/xos-core/templates/NOTES.txt b/xos-core/templates/NOTES.txt
new file mode 100644
index 0000000..cb50ff5
--- /dev/null
+++ b/xos-core/templates/NOTES.txt
@@ -0,0 +1,4 @@
+Thank you for installing {{ .Chart.Name }}.
+
+Your release is named {{ .Release.Name }}.
+
diff --git a/xos-core/templates/_core.tpl b/xos-core/templates/_core.tpl
new file mode 100644
index 0000000..a766082
--- /dev/null
+++ b/xos-core/templates/_core.tpl
@@ -0,0 +1,68 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+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.
+*/ -}}
+
+{{- define "xos-core.config" }}
+name: xos-core
+xos_dir: /opt/xos
+database:
+  name: {{ .Values.xosDBName | quote }}
+  username: {{ .Values.xosDBUser | quote }}
+  password: {{ .Values.xosDBPassword | quote }}
+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 }}
+
+{{- define "xos-core.initial_data" }}
+- model: core.Site
+  fields:
+    name: {{ .Values.cordSiteName | quote }}
+    abbreviated_name: {{ .Values.cordSiteName | quote }}
+    login_base: {{ .Values.cordSiteName | quote }}
+    site_url: "http://opencord.org/"
+    hosts_nodes: true
+
+- model: core.User
+  fields:
+    email: {{ .Values.xosAdminUser | quote }}
+    password: {{ .Values.xosAdminPassword | quote }}
+    firstname: {{ .Values.xosAdminFirstname | quote }}
+    lastname:  {{ .Values.xosAdminLastname | quote }}
+    is_admin: true
+  relations:
+    site:
+      fields:
+        name: {{ .Values.cordSiteName | quote }}
+      model: core.Site
+{{- end }}
+
+{{- define "xos-core.ca_cert_chain" }}
+{{ .Values.ca_cert_chain | b64dec }}
+{{- end }}
+
diff --git a/xos-core/templates/_gui.tpl b/xos-core/templates/_gui.tpl
new file mode 100644
index 0000000..8939554
--- /dev/null
+++ b/xos-core/templates/_gui.tpl
@@ -0,0 +1,49 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+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.
+*/ -}}
+
+{{- define "xos-gui.app_config" }}
+angular.module('app')
+.constant('AppConfig', {
+  apiEndpoint: '/xosapi/v1',
+  websocketClient: '/'
+});
+{{- end }}
+
+{{- define "xos-gui.style_config" }}
+angular.module('app')
+.constant('StyleConfig', {
+  projectName: 'R-CORD',
+  favicon: 'cord-favicon.png',
+  background: 'cord-bg.jpg',
+  payoff: 'Your VNF orchestrator',
+  logo: 'cord-logo.png',
+  routes: [
+      {
+          label: 'Slices',
+          state: 'xos.core.slice',
+      },
+      {
+          label: 'Nodes',
+          state: 'xos.core.node',
+      },
+      {
+          label: 'Instances',
+          state: 'xos.core.instance',
+      },
+  ]
+});
+{{- end }}
+
diff --git a/xos-core/templates/_helpers.tpl b/xos-core/templates/_helpers.tpl
index 2d2afb7..f55e3be 100644
--- a/xos-core/templates/_helpers.tpl
+++ b/xos-core/templates/_helpers.tpl
@@ -1,25 +1,24 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
 
-{{- /* 
- Copyright 2017-present Open Networking Foundation 
+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
 
- 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
 
- 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. 
- */ -}}
+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.
+*/ -}}
 
 {{- define "xos-core.release_labels" }}
 app: {{ printf "%s-%s" .Release.Name .Chart.Name | trunc 63 }}
-version: {{ .Chart.Version }}
+chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
 release: {{ .Release.Name }}
+heritage: {{ .Release.Service }}
+version: {{ .Chart.Version }}
 {{- end }}
-{{- define "xos-core.full_name" -}}
-{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 -}}
-{{- end -}}
+
diff --git a/xos-core/templates/_tosca.tpl b/xos-core/templates/_tosca.tpl
new file mode 100644
index 0000000..3292f4b
--- /dev/null
+++ b/xos-core/templates/_tosca.tpl
@@ -0,0 +1,37 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+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.
+*/ -}}
+
+{{- define "xos-tosca.config" }}
+name: xos-tosca
+gprc_endpoint: "xos-core"
+local_cert: /usr/local/share/ca-certificates/local_certs.crt
+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-core/templates/_ws.tpl b/xos-core/templates/_ws.tpl
new file mode 100644
index 0000000..09b77e4
--- /dev/null
+++ b/xos-core/templates/_ws.tpl
@@ -0,0 +1,29 @@
+{{- /*
+Copyright 2017-present Open Networking Foundation
+
+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.
+*/ -}}
+
+{{- define "xos-ws.gateway_config" }}
+gateway_config:
+  default:
+  xos:
+    host: xost
+    port: 9000
+  redis:
+    host: redis
+    port: 6379
+  gateway:
+    port: 3000
+{{- end }}
+
diff --git a/xos-core/templates/certchain-secret.yaml b/xos-core/templates/certchain-secret.yaml
deleted file mode 100644
index 65e8a9c..0000000
--- a/xos-core/templates/certchain-secret.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-apiVersion: v1
-kind: Secret
-metadata:
-  name: cert-chain-secret
-  namespace: default
-type: Opaque
-data:
-  local_certs.crt: {{ .Values.secrets.im_cert_chain }}
\ No newline at end of file
diff --git a/xos-core/templates/chameleon-deployment.yaml b/xos-core/templates/chameleon-deployment.yaml
index 765c67f..df280b5 100644
--- a/xos-core/templates/chameleon-deployment.yaml
+++ b/xos-core/templates/chameleon-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,7 +18,7 @@
 metadata:
   name: xos-chameleon
   labels:
-    app: xos-chameleon
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   replicas: 1
   template:
@@ -27,10 +28,10 @@
     spec:
       containers:
         - name: xos-chameleon
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.xos_chameleon.repository }}:{{ .Values.images.xos_chameleon.tag }}
-          imagePullPolicy: {{ .Values.images.xos_chameleon.pullPolicy }}
-          command: [ "python", "chameleon/chameleon/main.py", "-R", "9101", "-G", "xos-core:50055", "--swagger-url", "/apidocs", "-r" ]
+          image: {{ .Values.xos_chameleonImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
+          command: ["python", "chameleon/chameleon/main.py", "-R", "9101", "-G", "xos-core:50055", "--swagger-url", "/apidocs", "-r"]
           ports:
             - containerPort: 9101
               port: 9101
-              protocol: TCP
\ No newline at end of file
+              protocol: TCP
diff --git a/xos-core/templates/chameleon-service.yaml b/xos-core/templates/chameleon-service.yaml
index 02ac016..97e78c4 100644
--- a/xos-core/templates/chameleon-service.yaml
+++ b/xos-core/templates/chameleon-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,12 +17,14 @@
 kind: Service
 metadata:
   name: "xos-chameleon"
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   type: NodePort
   ports:
-  - port: 9101
-    targetPort: 9101
-    nodePort: {{ .Values.node_ports.chameleon_service_port }}
-    protocol: TCP
+    - port: 9101
+      targetPort: 9101
+      nodePort: {{ .Values.xos_chameleonNodePort }}
+      protocol: TCP
   selector:
     app: "xos-chameleon"
diff --git a/xos-core/templates/core-configmap.yaml b/xos-core/templates/core-configmap.yaml
index 20fd143..b9d1e7d 100644
--- a/xos-core/templates/core-configmap.yaml
+++ b/xos-core/templates/core-configmap.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +21,31 @@
     {{- include "xos-core.release_labels" . | indent 4 }}
 data:
   config: |
-{{ toYaml .Values.configs.core_config | indent 4 }} 
+{{ include "xos-core.config" . | indent 4 }}
+
+...
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: xos-initial-data
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
+data:
+  config: |
+{{ include "xos-core.initial_data" . | indent 4 }}
+
+...
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: ca-certificates
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
+data:
+  chain: |
+{{ include "xos-core.ca_cert_chain" . | indent 4 }}
+
diff --git a/xos-core/templates/core-deployment.yaml b/xos-core/templates/core-deployment.yaml
index 1389fd6..64bf9f6 100644
--- a/xos-core/templates/core-deployment.yaml
+++ b/xos-core/templates/core-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,7 +18,7 @@
 metadata:
   name: xos-core
   labels:
-    app: xos-core
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   replicas: 1
   template:
@@ -27,8 +28,8 @@
     spec:
       containers:
         - name: xos-core
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.xos_core.repository }}:{{ .Values.images.xos_core.tag }}
-          imagePullPolicy: {{ .Values.images.xos_core.pullPolicy }}
+          image: {{ .Values.xos_coreImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           command: ["/bin/bash", "-c", "cd coreapi; ./start_coreapi.sh"]
           ports:
             - containerPort: 50051
@@ -38,11 +39,12 @@
               port: 50055
               protocol: TCP
           volumeMounts:
-            - name: certchain-volume
-              mountPath: /usr/local/share/ca-certificates
             - name: coreapi-volume
               mountPath: /opt/cord_profile
               readOnly: true
+            - name: certchain-volume
+              mountPath: /usr/local/share/ca-certificates/local_certs.crt
+              subPath: config/ca_cert_chain.pem
             - name: xos-core-config
               mountPath: /opt/xos/xos_config.yaml
               subPath: config/xos_config.yaml
@@ -50,26 +52,30 @@
               mountPath: /opt/xos/core/migrations/initial_data.yaml
               subPath: migrations/initial_data.yaml
       volumes:
-        - name: certchain-volume
-          secret:
-            secretName: cert-chain-secret
         - name: coreapi-volume
           secret:
             secretName: coreapi-cert-secret
             items:
-            - key: tls.crt
-              path: core_api_cert.pem
-            - key: tls.key
-              path: core_api_key.pem
+              - key: tls.crt
+                path: core_api_cert.pem
+              - key: tls.key
+                path: core_api_key.pem
+        - name: certchain-volume
+          configMap:
+            name: ca-certificates
+            items:
+              - key: chain
+                path: config/ca_cert_chain.pem
         - name: xos-core-config
           configMap:
             name: xos-core
             items:
-             - key: config
-               path: config/xos_config.yaml
+              - key: config
+                path: config/xos_config.yaml
         - name: initial-data-config
           configMap:
             name: xos-initial-data
             items:
-             - key: config
-               path: migrations/initial_data.yaml
+              - key: config
+                path: migrations/initial_data.yaml
+
diff --git a/xos-core/templates/core-service.yaml b/xos-core/templates/core-service.yaml
index d365e93..4e3a3b9 100644
--- a/xos-core/templates/core-service.yaml
+++ b/xos-core/templates/core-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,17 +20,15 @@
   labels:
     {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
-  type: NodePort
-  ports:
-  - port: 50051
-    name: secure 
-    targetPort: 50051
-    nodePort: {{ .Values.node_ports.core_secure_service_port }}
-    protocol: TCP
-  - port: 50055
-    name: insecure 
-    targetPort: 50055
-    nodePort: {{ .Values.node_ports.core_insecure_service_port }}
-    protocol: TCP
+  type: ClusterIP
   selector:
     app: "xos-core"
+  ports:
+    - port: 50051
+      name: secure
+      targetPort: 50051
+      protocol: TCP
+    - port: 50055
+      name: insecure
+      targetPort: 50055
+      protocol: TCP
diff --git a/xos-core/templates/coreapi-cert-secret.yaml b/xos-core/templates/coreapi-cert-secret.yaml
index 4296da5..048f552 100644
--- a/xos-core/templates/coreapi-cert-secret.yaml
+++ b/xos-core/templates/coreapi-cert-secret.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/xos-core/templates/db-configmap.yaml b/xos-core/templates/db-configmap.yaml
deleted file mode 100644
index 5c7f616..0000000
--- a/xos-core/templates/db-configmap.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: xos-db
-  labels:
-    {{- include "xos-core.release_labels" . | indent 4 }}
-data:
-  service_5432_name: {{ .Values.configs.db_config }}
diff --git a/xos-core/templates/db-deployment.yaml b/xos-core/templates/db-deployment.yaml
index c103e09..d508962 100644
--- a/xos-core/templates/db-deployment.yaml
+++ b/xos-core/templates/db-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,28 +25,21 @@
     metadata:
       labels:
         app: xos-db
-      annotations:
-        checksum/config-map: {{ include (print $.Template.BasePath "/db-configmap.yaml") . | sha256sum }}
     spec:
       containers:
         - name: xos-db
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.xos_db.repository }}:{{ .Values.images.xos_db.tag }}
-          imagePullPolicy: {{ .Values.images.xos_db.pullPolicy }}
+          image: {{ .Values.postgresImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           ports:
             - containerPort: 5432
               protocol: TCP
           env:
-            - name: SERVICE_5432_NAME
-              valueFrom:
-                configMapKeyRef:
-                  name: xos-db
-                  key: service_5432_name
             - name: POSTGRES_DB
-              value: {{ .Values.configs.core_config.database.name | quote }}
+              value: {{ .Values.xosDBName | quote }}
             - name: POSTGRES_USER
-              value: {{ .Values.configs.core_config.database.username | quote }}
+              value: {{ .Values.xosDBUser | quote }}
             - name: POSTGRES_PASSWORD
               valueFrom:
                 secretKeyRef:
-                  name: xos-db-secret
-                  key: postgres-password
+                  name: xos-db-secrets
+                  key: password
diff --git a/xos-core/templates/db-secrets.yaml b/xos-core/templates/db-secrets.yaml
index 5a5ca79..9f41343 100644
--- a/xos-core/templates/db-secrets.yaml
+++ b/xos-core/templates/db-secrets.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,8 +16,8 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: xos-db-secret
+  name: xos-db-secrets
   namespace: default
 type: Opaque
 data:
-  postgres-password: {{ .Values.configs.core_config.database.password | b64enc | quote }}
+  password: {{ .Values.xosDBPassword | b64enc }}
diff --git a/xos-core/templates/db-service.yaml b/xos-core/templates/db-service.yaml
index 802665a..3a71aaa 100644
--- a/xos-core/templates/db-service.yaml
+++ b/xos-core/templates/db-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,11 +20,10 @@
   labels:
     {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
-  type: NodePort
-  ports:
-  - port: 5432
-    targetPort: 5432
-    nodePort: {{ .Values.node_ports.db_service_port }}
-    protocol: TCP
+  type: ClusterIP
   selector:
     app: "xos-db"
+  ports:
+    - port: 5432
+      targetPort: 5432
+      protocol: TCP
diff --git a/xos-core/templates/gui-app-configmap.yaml b/xos-core/templates/gui-app-configmap.yaml
deleted file mode 100644
index e5b1041..0000000
--- a/xos-core/templates/gui-app-configmap.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: xos-app-config
-  labels:
-    {{- include "xos-core.release_labels" . | indent 4 }}
-data:
-  config: | {{ .Values.configs.gui_app | indent 4 }}
diff --git a/xos-core/templates/gateway-configmap.yaml b/xos-core/templates/gui-configmap.yaml
similarity index 71%
copy from xos-core/templates/gateway-configmap.yaml
copy to xos-core/templates/gui-configmap.yaml
index 7f0828a..273e001 100644
--- a/xos-core/templates/gateway-configmap.yaml
+++ b/xos-core/templates/gui-configmap.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,10 +16,23 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: xos-gateway
+  name: gui-app-config
   labels:
     {{- include "xos-core.release_labels" . | indent 4 }}
 data:
   config: |
-{{ toYaml .Values.configs.gateway_config | indent 4 }} 
+{{ include "xos-gui.app_config" . | indent 4 }}
+
+...
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: gui-style-config
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
+data:
+  config: |
+{{ include "xos-gui.style_config" . | indent 4 }}
 
diff --git a/xos-core/templates/gui-deployment.yaml b/xos-core/templates/gui-deployment.yaml
index 58de697..4faecdf 100644
--- a/xos-core/templates/gui-deployment.yaml
+++ b/xos-core/templates/gui-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,7 +18,7 @@
 metadata:
   name: xos-gui
   labels:
-    app: xos-gui
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   replicas: 1
   template:
@@ -27,8 +28,8 @@
     spec:
       containers:
         - name: xos-gui
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.xos_gui.repository }}:{{ .Values.images.xos_gui.tag }}
-          imagePullPolicy: {{ .Values.images.xos_gui.pullPolicy }}
+          image: {{ .Values.xos_guiImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           ports:
             - containerPort: 4000
               port: 4000
@@ -45,15 +46,15 @@
       volumes:
         - name: style-config
           configMap:
-            name: xos-style-config
+            name: gui-style-config
             items:
-             - key: config
-               path: style/style.config.js
+              - key: config
+                path: style/style.config.js
         - name: app-config
           configMap:
-            name: xos-app-config
+            name: gui-app-config
             items:
-             - key: config
-               path: app/app.config.js
+              - key: config
+                path: app/app.config.js
         - name: extensions-volume
           emptyDir: {}
diff --git a/xos-core/templates/gui-service.yaml b/xos-core/templates/gui-service.yaml
index 04e7799..56aabb3 100644
--- a/xos-core/templates/gui-service.yaml
+++ b/xos-core/templates/gui-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,12 +17,14 @@
 kind: Service
 metadata:
   name: "xos-gui"
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   type: NodePort
   ports:
-  - port: 4000
-    targetPort: 4000
-    nodePort: {{ .Values.node_ports.gui_service_port }}
-    protocol: TCP
+    - port: 4000
+      targetPort: 4000
+      nodePort: {{ .Values.xos_guiNodePort }}
+      protocol: TCP
   selector:
     app: "xos-gui"
diff --git a/xos-core/templates/gui-style-configmap.yaml b/xos-core/templates/gui-style-configmap.yaml
deleted file mode 100644
index 8b1564a..0000000
--- a/xos-core/templates/gui-style-configmap.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: xos-style-config
-  labels:
-    {{- include "xos-core.release_labels" . | indent 4 }}
-data:
-  config: | {{ .Values.configs.gui_style | indent 4 }}
diff --git a/xos-core/templates/initial-data-configmap.yaml b/xos-core/templates/initial-data-configmap.yaml
deleted file mode 100644
index 602ee11..0000000
--- a/xos-core/templates/initial-data-configmap.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: xos-initial-data
-  labels:
-    {{- include "xos-core.release_labels" . | indent 4 }}
-data:
-  config: |
-{{ toYaml .Values.configs.initial_data_config | indent 4 }}
diff --git a/xos-core/templates/redis-deployment.yaml b/xos-core/templates/redis-deployment.yaml
index 3a91ab0..0141025 100644
--- a/xos-core/templates/redis-deployment.yaml
+++ b/xos-core/templates/redis-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,7 +18,7 @@
 metadata:
   name: xos-redis
   labels:
-    app: xos-redis
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   replicas: 1
   template:
@@ -27,9 +28,9 @@
     spec:
       containers:
         - name: xos-redis
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.redis.repository }}:{{ .Values.images.redis.tag }}
-          imagePullPolicy: {{ .Values.images.redis.pullPolicy }}
+          image: {{ .Values.redisImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           ports:
             - containerPort: 6379
               port: 6379
-              protocol: TCP
\ No newline at end of file
+              protocol: TCP
diff --git a/xos-core/templates/redis-service.yaml b/xos-core/templates/redis-service.yaml
index 567896d..23e811c 100644
--- a/xos-core/templates/redis-service.yaml
+++ b/xos-core/templates/redis-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,12 +17,13 @@
 kind: Service
 metadata:
   name: "redis"
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
-  type: NodePort
-  ports:
-  - port: 6379
-    targetPort: 6379
-    nodePort: {{ .Values.node_ports.redis_service_port }}
-    protocol: TCP
+  type: ClusterIP
   selector:
     app: "xos-redis"
+  ports:
+    - port: 6379
+      targetPort: 6379
+      protocol: TCP
diff --git a/xos-core/templates/tests/test-xos-core-api.yaml b/xos-core/templates/tests/test-xos-core-api.yaml
index 78622a5..86ed0a0 100644
--- a/xos-core/templates/tests/test-xos-core-api.yaml
+++ b/xos-core/templates/tests/test-xos-core-api.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,21 +17,25 @@
 kind: Pod
 metadata:
   name: "{{ .Release.Name }}-api-test"
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
   annotations:
     "helm.sh/hook": test-success
 spec:
   containers:
-  - name: {{ .Release.Name }}-api-test
-    image: {{ .Values.images.api_tester.repository }}:{{ .Values.images.api_tester.tag }}
-    imagePullPolicy: {{ .Values.images.api_tester.pullPolicy }}
-    env:
-      - name: SERVER_IP
-        value: 'xos-chameleon'
-      - name: SERVER_PORT
-        value: '9101'
-      - name: XOS_USER
-        value: '{{ .Values.xosAdminUser }}'
-      - name: XOS_PASSWD
-        value: '{{ .Values.xosAdminPassword }}'
-    command: [ "pybot", "-L", "TRACE", "-d", "Log", "-T", "Ch_DeploymentTest.txt", "Ch_SiteTest.txt", "Ch_UsersTest.txt", "Ch_SliceTest.txt", "Ch_ServiceTest.txt" ]
+    - name: {{ .Release.Name }}-api-test
+      image: {{ .Values.xos_api_testerImage }}
+      imagePullPolicy: {{ .Values.imagePullPolicy }}
+      env:
+        - name: SERVER_IP
+          value: 'xos-chameleon'
+        - name: SERVER_PORT
+          value: '9101'
+        - name: XOS_USER
+          value: {{ .Values.xosAdminUser | quote }}
+        - name: XOS_PASSWD
+          value: {{ .Values.xosAdminPassword | quote}}
+        - name: SITE_NAME
+          value: {{ .Values.cordSiteName | quote }}
+      command: ["pybot", "-L", "TRACE", "-d", "Log", "-T", "Ch_DeploymentTest.txt", "Ch_SiteTest.txt", "Ch_UsersTest.txt", "Ch_SliceTest.txt", "Ch_ServiceTest.txt"]
   restartPolicy: Never
diff --git a/xos-core/templates/tosca-configmap.yaml b/xos-core/templates/tosca-configmap.yaml
index 54f2146..6269be3 100644
--- a/xos-core/templates/tosca-configmap.yaml
+++ b/xos-core/templates/tosca-configmap.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +21,4 @@
     {{- include "xos-core.release_labels" . | indent 4 }}
 data:
   config: |
-{{ toYaml .Values.configs.tosca_config | indent 4 }}
+{{ include "xos-tosca.config" . | indent 4 }}
diff --git a/xos-core/templates/tosca-deployment.yaml b/xos-core/templates/tosca-deployment.yaml
index 5dd61f2..48eecf2 100644
--- a/xos-core/templates/tosca-deployment.yaml
+++ b/xos-core/templates/tosca-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,7 +18,7 @@
 metadata:
   name: xos-tosca
   labels:
-    app: xos-tosca
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   replicas: 1
   template:
@@ -27,25 +28,29 @@
     spec:
       containers:
         - name: xos-tosca
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.xos_tosca.repository }}:{{ .Values.images.xos_tosca.tag }}
-          imagePullPolicy: {{ .Values.images.xos_tosca.pullPolicy }}
+          image: {{ .Values.xos_toscaImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           ports:
             - containerPort: 9102
               port: 9102
               protocol: TCP
           volumeMounts:
-            - name: secret-volume
-              mountPath: /usr/local/share/ca-certificates
-            - name: xos-core-config
+            - name: certchain-volume
+              mountPath: /usr/local/share/ca-certificates/local_certs.crt
+              subPath: config/ca_cert_chain.pem
+            - name: xos-tosca-config
               mountPath: /opt/xos-tosca/src/xos-tosca.config.yaml
               subPath: config/xos-tosca.config.yaml
       volumes:
-        - name: secret-volume
-          secret:
-            secretName: cert-chain-secret
-        - name: xos-core-config
+        - name: certchain-volume
+          configMap:
+            name: ca-certificates
+            items:
+              - key: chain
+                path: config/ca_cert_chain.pem
+        - name: xos-tosca-config
           configMap:
             name: xos-tosca
             items:
-             - key: config
-               path: config/xos-tosca.config.yaml
+              - key: config
+                path: config/xos-tosca.config.yaml
diff --git a/xos-core/templates/tosca-service.yaml b/xos-core/templates/tosca-service.yaml
index f57299a..4c70119 100644
--- a/xos-core/templates/tosca-service.yaml
+++ b/xos-core/templates/tosca-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,12 +17,14 @@
 kind: Service
 metadata:
   name: "xos-tosca"
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   type: NodePort
   ports:
-  - port: 9102
-    targetPort: 9102
-    nodePort: {{ .Values.node_ports.tosca_service_port }}
-    protocol: TCP
+    - port: 9102
+      targetPort: 9102
+      nodePort: {{ .Values.xos_toscaNodePort }}
+      protocol: TCP
   selector:
     app: "xos-tosca"
diff --git a/xos-core/templates/gateway-configmap.yaml b/xos-core/templates/ws-configmap.yaml
similarity index 90%
rename from xos-core/templates/gateway-configmap.yaml
rename to xos-core/templates/ws-configmap.yaml
index 7f0828a..7dcc72b 100644
--- a/xos-core/templates/gateway-configmap.yaml
+++ b/xos-core/templates/ws-configmap.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,10 +16,10 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: xos-gateway
+  name: xos-ws
   labels:
     {{- include "xos-core.release_labels" . | indent 4 }}
 data:
   config: |
-{{ toYaml .Values.configs.gateway_config | indent 4 }} 
+{{ include "xos-ws.gateway_config" . | indent 4 }}
 
diff --git a/xos-core/templates/ws-deployment.yaml b/xos-core/templates/ws-deployment.yaml
index 0710c11..5f4cad4 100644
--- a/xos-core/templates/ws-deployment.yaml
+++ b/xos-core/templates/ws-deployment.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,7 +18,7 @@
 metadata:
   name: xos-ws
   labels:
-    app: xos-ws
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   replicas: 1
   template:
@@ -27,9 +28,9 @@
     spec:
       containers:
         - name: xos-ws
-          image: {{ .Values.pull_docker_registry }}{{ .Values.images.xos_ws.repository }}:{{ .Values.images.xos_ws.tag }}
-          imagePullPolicy: {{ .Values.images.xos_ws.pullPolicy }}
-          command: ["npm", "start", "--",  "--config", "gateway-config.yml"]
+          image: {{ .Values.xos_wsImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
+          command: ["npm", "start", "--", "--config", "gateway-config.yml"]
           ports:
             - containerPort: 3000
               port: 3000
@@ -41,7 +42,7 @@
       volumes:
         - name: gateway-config
           configMap:
-            name: xos-gateway
+            name: xos-ws
             items:
-             - key: config
-               path: config/gateway-config.yml
\ No newline at end of file
+              - key: config
+                path: config/gateway-config.yml
diff --git a/xos-core/templates/ws-service.yaml b/xos-core/templates/ws-service.yaml
index 8e54a5b..86912d1 100644
--- a/xos-core/templates/ws-service.yaml
+++ b/xos-core/templates/ws-service.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,12 +17,14 @@
 kind: Service
 metadata:
   name: "xos-ws"
+  labels:
+    {{- include "xos-core.release_labels" . | indent 4 }}
 spec:
   type: NodePort
   ports:
-  - port: 3000
-    targetPort: 3000
-    nodePort: {{ .Values.node_ports.ws_service_port }}
-    protocol: TCP
+    - port: 3000
+      targetPort: 3000
+      nodePort: {{ .Values.xos_wsNodePort }}
+      protocol: TCP
   selector:
     app: "xos-ws"
diff --git a/xos-core/values.yaml b/xos-core/values.yaml
index 403884d..a0a692b 100644
--- a/xos-core/values.yaml
+++ b/xos-core/values.yaml
@@ -1,3 +1,4 @@
+---
 # Copyright 2017-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,174 +13,43 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-pull_docker_registry:
+imagePullPolicy: 'IfNotPresent'
 
-images:
-  xos_core:
-    repository: xosproject/xos-core
-    tag: 'master'
-    pullPolicy: 'IfNotPresent'
-  xos_gui:
-    repository: xosproject/xos-gui
-    tag: 'master'
-    pullPolicy: 'IfNotPresent'
-  xos_db:
-    repository: postgres
-    tag: '10.3-alpine'
-    pullPolicy: 'IfNotPresent'
-  xos_tosca:
-    repository: xosproject/xos-tosca
-    tag: 'master'
-    pullPolicy: 'IfNotPresent'
-  xos_chameleon:
-    repository: xosproject/chameleon
-    tag: 'master'
-    pullPolicy: 'IfNotPresent'
-  node:
-    repository: node
-    tag: '7.9.0'
-    pullPolicy: 'IfNotPresent'
-  redis:
-    repository: redis
-    tag: '3.2'
-    pullPolicy: 'IfNotPresent'
-  xos_ws:
-    repository: xosproject/xos-ws
-    tag: 'master'
-    pullPolicy: 'IfNotPresent'
-  api_tester:
-    repository: xosproject/xos-api-tester
-    tag: 'master'
-    pullPolicy: 'IfNotPresent'
+# Docker images
+# YAML variable names can't contain `-`, so substituted with `_`
+xos_coreImage: 'xosproject/xos-core:master'
+xos_chameleonImage: 'xosproject/chameleon:master'
+xos_guiImage: 'xosproject/xos-gui:master'
+xos_toscaImage: 'xosproject/xos-tosca:master'
+xos_wsImage: 'xosproject/xos-ws:master'
+xos_api_testerImage: 'xosproject/xos-api-tester:master'
 
-node_ports:
-  ws_service_port: 30008
-  gui_service_port: 30001
-  db_service_port: 30002
-  core_secure_service_port: 30003
-  core_insecure_service_port: 30004
-  redis_service_port: 30005
-  chameleon_service_port: 30006
-  tosca_service_port: 30007
+postgresImage: 'postgres:10.3-alpine'
+nodeImage: 'node:7.9.0'
+redisImage: 'redis:3.2'
 
-xosAdminUser: &adminuser "admin@opencord.org"
-xosAdminPassword: &adminpass "letmein"
+# NodePorts
+xos_guiNodePort: 30001
+xos_chameleonNodePort: 30006
+xos_toscaNodePort: 30007
+xos_wsNodePort: 30008
 
-configs:
-  core_config:
-    name: xos-core
-    database:
-      name: xos
-      username: postgres
-      password: password
-    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
-    xos_dir: /opt/xos
+# XOS Admin username/password
+xosAdminUser: 'admin@opencord.org'
+xosAdminPassword: 'letmein'
+xosAdminFirstname: 'XOS'
+xosAdminLastname: 'Admin'
 
-  db_config: 'xos-db'
+# CORD site names
+cordSiteName: placeholder-sitename
 
-  gateway_config:
-    default:
-    xos:
-      host: xost
-      port: 9000
-    redis:
-      host: redis
-      port: 6379
-    gateway:
-      port: 3000
+# Database name/username/password
+xosDBName: 'xos'
+xosDBUser: 'postgres'
+xosDBPassword: 'password'
 
-  gui_app: |
-
-    angular.module('app')
-    .constant('AppConfig', {
-      apiEndpoint: '/xosapi/v1',
-      websocketClient: '/'
-    });
-
-  gui_style: |
-
-    angular.module('app')
-    .constant('StyleConfig', {
-      projectName: 'R-CORD',
-      favicon: 'cord-favicon.png',
-      background: 'cord-bg.jpg',
-      payoff: 'Your VNF orchestrator',
-      logo: 'cord-logo.png',
-      routes: [
-          {
-              label: 'Slices',
-              state: 'xos.core.slice',
-          },
-          {
-              label: 'Nodes',
-              state: 'xos.core.node',
-          },
-          {
-              label: 'Instances',
-              state: 'xos.core.instance',
-          },
-      ]
-    });
-
-  initial_data_config:
-    - model: core.Site
-      fields:
-        name: "mysite"
-        abbreviated_name: "mysite"
-        login_base: "mysite"
-        site_url: "http://opencord.org/"
-        hosts_nodes: true
-
-    - model: core.User
-      fields:
-        email: *adminuser
-        password: *adminpass
-        firstname: "XOS"
-        lastname: "User"
-        is_admin: True
-      relations:
-        site:
-          fields:
-            name: "mysite"
-          model: core.Site
-
-  tosca_config:
-    name: xos-tosca
-    gprc_endpoint: "xos-core"
-    local_cert: /usr/local/share/ca-certificates/local_certs.crt
-    logging:
-      version: 1
-      handlers:
-        console:
-          class: logging.StreamHandler
-        file:
-          class: logging.handlers.RotatingFileHandler
-          filename: /var/log/xos.log
-          maxBytes: 10485760
-          backupCount: 5
-      loggers:
-        '':
-          handlers:
-              - console
-              - file
-          level: DEBUG
+ca_cert_chain: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYyakNDQThLZ0F3SUJBZ0lDRUFBd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z1lreEN6QUpCZ05WQkFZVEFsVlQKTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saE1STXdFUVlEVlFRSERBcE5aVzVzYnlCUVlYSnJNUTh3RFFZRApWUVFLREFaUFRpNU1ZV0l4R0RBV0JnTlZCQXNNRDFSbGMzUWdSR1Z3Ykc5NWJXVnVkREVsTUNNR0ExVUVBd3djClEwOVNSQ0JVWlhOMElFUmxjR3h2ZVcxbGJuUWdVbTl2ZENCRFFUQWVGdzB4TnpFeU1UUXdNRFE1TUROYUZ3MHgKT1RFeU1UUXdNRFE1TUROYU1HNHhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUTh3RFFZRFZRUUtEQVpQVGk1TVlXSXhHREFXQmdOVkJBc01EMVJsYzNRZ1JHVndiRzk1YldWdWRERWZNQjBHCkExVUVBd3dXVFhsVGFYUmxJRWx1ZEdWeWJXVmthV0YwWlNCRFFUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFPTDVRT0l5YmpJRXRjVkY3Y2hRV3c0Q3Z1QkhCVGpCSmMxcEh3SjRDSzlsYm04RgpJMXNFbW1pd20yTWtJRG9WQ2lBQk5ld1JtVTRTcU4wUG5QOWlGNjV2NlpTbHlXT25hVHF1SitTck9tM1F6MHZmCkZuSHZmWkZycC9BU3FhUlBxQVUrVlR3dTVsb2VHcEZIS3F1MXhxZUpQNWlSaVdTS3hWdk1XeS9TUnhsU0FudVkKTG84WkRrWllpdWZYY1dJaEMzWGdXb081ckVuZVcxS1FXdWdnU1l1dUFPMDJkV2hPQklJTlJPQTZSdUdWdWw0Uwo1S1oxTE5tclAyS2c1a0JoaG1xclhLZWJudzdkZTg2emthV0RlcG1LajZiUWtiRGNWYTJXdU1mTS9Yd0dqd0d3CkwwT2RRRzB3dzFhMFdYTi9NMU5WVnBManNFTDZ2U0Q0UlR0RlZYZWFPRkZ3VGphUXpVSGgxUHdsRkI1S25nM0oKcXBnNzdRdXUvVFdvcHI5ZXBPNk1oZ25KSmliSzB3MzZvaUt1YUJiMGt4TjlKOHVQbERiWlpuRm1NYk9jYjVNOQpzU1A0cTJ3ODJuYkdmRm0rZFR6OU9Ddi9aUWc3Nm5XTk8vVWFEMFR6c25zZjBMZ3dXL1dqR3pEd0w3Rk0vTXRoCnI2eUQ5dVRiRnR1TzdGbGp4NUZMZ2thc200bzRQbzBsR3RFMCtWUXg5bTRiN014R1RITThBcm1ES1lzTTJTeXUKdG5ZeXBHQjE4T0c2NENrTEhzejJkU2dhb1BVVDY1MW9UbnRTZDZMU2hGazR1VVpxVjdrYnBzSGRhK2s0UlgwNApSejI3RUcwQ0V3R0RDYnhVTnJCcVlTZzdZNENJSklodnB1Mm8vSGNsREsxV09tZGYrL3h2M0M0RHBYb1RBZ01CCkFBR2paakJrTUIwR0ExVWREZ1FXQkJSWis4akR3eVRORzdzMVAzdElEY2Q0RXFCbnZEQWZCZ05WSFNNRUdEQVcKZ0JUVFVvazdCSzZnVHZ2cjFnUkJxUyswdDBjanNUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUJoakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBemU1NlZGTjRJRkdQaVk4ZHZkL1pscCtxCjMvSENUdDFJemE5cFlhTi9KY2U3b1hlOVRNZDJWWXJ5VmdWZVc1aWJ5eDdQVGhINFBDMHRrMUZFeUNoZFZHV0IKclRrSGE4T25vQ0lqdVFDS3FPV1hPRkNMMkQyaEwxTjRFNHYyeW02UmpNeWVMRDgvQW8wUGUvYkFyUGVkZHV6WgplY21MdTFLN2Q2Y3RPbmV6cXJwRm1YemN2WDVVUFFyVlppWHFGcHVxRzl1TWQrTkVMTWFTMC85K3NwUlF6VE5WClg4RStET1RsbVU5eTVxMHNiR0ZscFV0a0JuVnJ4cllQV2tLMnRWK2phOGpLSitiZFJuNktSZzIyZjkyTndleFMKK1BlUWI0bzltOG9jSnVFanpnczZDbjM3L3FIWXc1YXVjdkJBUU4yYk85NXArN2k0WGh2OVo3UjRGcFE3amY2QgpSV3NSc3dvclpTZWo3N1Fva0JqQ1VZVzVnK2xObHh1UjRacks5VjMxVC9USkkrSHB5YjJYSVFWYUJxbkF3bGRxCnlsNGZMN3dibTg1blQ4Q29tZ1prRWZzMEd3T2FHOFhWdEFROTJGQ3p5bFdKcXpYaEVNbElzdlNqVCs5ZU5FZzIKM0Vnc24xendRdU14aWRpQk5DaThyT3c3UlNBN0UzM1l6TTBMQk5pRWJSS012YWVKbm1sUU5tZGh5YmJXYUpwQwp6R1hYd1lMRkhjK3FsUGsvMFdodVJvNVVKRUx5REJ0ai9HK0U2OFhLdm1iSUZMdjdJNmN0S2Z3RHhZNVFXajJvCmF0NDlsS3dWMS9jUSt0d3B1Ym1NcmtYUzlwaExhVHBvTFNiOVRFUDZTWmVqNVgzQVB2aUVzZkltUjlLQ0MwSHMKRzBnL0pVTkgyVWJWbU5pZld2bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRitqQ0NBK0tnQXdJQkFnSUpBSnhvbU5IbkovTXRNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1JR0pNUXN3Q1FZRApWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVUTUJFR0ExVUVCd3dLVFdWdWJHOGdVR0Z5CmF6RVBNQTBHQTFVRUNnd0dUMDR1VEdGaU1SZ3dGZ1lEVlFRTERBOVVaWE4wSUVSbGNHeHZlVzFsYm5ReEpUQWoKQmdOVkJBTU1IRU5QVWtRZ1ZHVnpkQ0JFWlhCc2IzbHRaVzUwSUZKdmIzUWdRMEV3SGhjTk1UY3hNakUwTURBMApPRFUzV2hjTk1qY3hNakV5TURBME9EVTNXakNCaVRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ01Da05oCmJHbG1iM0p1YVdFeEV6QVJCZ05WQkFjTUNrMWxibXh2SUZCaGNtc3hEekFOQmdOVkJBb01CazlPTGt4aFlqRVkKTUJZR0ExVUVDd3dQVkdWemRDQkVaWEJzYjNsdFpXNTBNU1V3SXdZRFZRUUREQnhEVDFKRUlGUmxjM1FnUkdWdwpiRzk1YldWdWRDQlNiMjkwSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBCjBQMWNhZTluQThEYUdBMEM3L0pnbk0zWCtJdk1rMlVaem1hdHJuL1FhVTZhWWZZbWNRTW5LOGZYbDBoTmg0cVQKZVc1QlVFeUE5Q1I3Q0lXSDh1ZVkvWnBFaDJ2SHB1U0hBWk1YcFdjOWtNYmRCUHVYQlpNTFZXRjFpYXhYdm9TcgpocGNLNmxzRFd3a3JrT2IvbjVHTUpPR1VDYk5aalBUdjJLMkt3UW1kTE1FQmg3S29CT1k1SVNoL1lFL3AyNExGCmhCVVAxTEJ5dXBSUExEdkJhazkrc3h0NVpyM3BtRDh1clpuekNGMnVQZ09rWFJNRStRM081Rmg5eU91TzNDYXkKazNhQnlWRmhJMnRjdUdFTXFodmNoeU9QaDhPNEFXb2xJbnVyWFRCNWpqcHNVSlFlWlBZLzFuaHAxU1VOckNnKwpFbnlvclBtVW5JL1BqWW9SV1E3U1htcWRKanFKVm5XZUZ5eThXeU8xeGl2QTVsTzFrZVRlbFVvWnhxSUlieUtiCjVKcEdNMnFUaTR3dlo1cXdHL1Z2emUzN0cwOUk5bjBlZ1FsdDBrRmI3N2Z4TVRyYzZIKzV0ZkNOZVBWZ0FYajIKalJ1bnBFTDhsS1ZOdHJqVEQ5aEQ4Mm10a3FPcVFZZ29jWDRldXVNQWFNSE5QMzdmWWpvNjBEQXRUNzNPRnNMNApnRGc0ZnlOaG4rQmdKK2pkU2IxNGRpT2lxRG0zcnYrZDhZeWpCd0p6dXJyOXhnMU5zQnI1ZjVZNTgzbDN5UElyCnVSOEV5UzBuNjNIMG4wWkUvT1VuV253dzZGTWVCNXZBc2ZUVDlxZlJhQ1QvUXZTcmFzSVJwd2pCRzFBZ3FlWUUKT3R6QzE3WXQzckx0K3NhU1VyVTI4dnZJelREL2UrS3QxV0RBdHllRWRuVUNBd0VBQWFOak1HRXdIUVlEVlIwTwpCQllFRk5OU2lUc0VycUJPKyt2V0JFR3BMN1MzUnlPeE1COEdBMVVkSXdRWU1CYUFGTk5TaVRzRXJxQk8rK3ZXCkJFR3BMN1MzUnlPeE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0dHTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQ0FRQTNMWkFoSGVHTnZtMVZaSG1xMUkySU5JVGxnZXg0bldZMy90Y3VCUXpDN1RpbgpJNk1rdWVTVUdoN3JSMWJ6Q1UyUlpvd2E1aGkyQzRVSEJYcWR2cDRoRnNoL2MvV0VEVmtNbWttWS9lTERJVjZDClVXUGpYaXRmeDlrWkh4eWZJbEVNc3JuS3lmTFRDK0E3ZkxOQWhocE1OZHFFZlB3UG9GbTFzbGVuSG54NU9PMWkKY2NZUVc4d2tIS1pCQzdhUElZbXdiSEFIWGpPeGFmYkpKUmFRQ2hhTURHdmt0b0NwaVdzWWxydWx0SHRYRU1tQgpuVWliM0k3VFhFekNBdFVONDN4a1MwY21ZWXZkK3I4M24vSEZLWk5VeHl5NXRXZUJZWE0xWVFiQTBGTU1qQnhYClg5ZGppYkxVTC9oenJ3ZkFLa1dPMFRQMWxrV1cwTkh5d3BySVdtWmVUVWJJb3dVWFRpSFdYMzk3a241QTRMMngKZHFhQS94TFEvMjd4VUJnUmJZZ1J0eVY4eWJWQWdUNEdKbyswY1NvR1EycTdMVzVidWxUMjM1ZjZqSEM5b0xHTwo2UDVwenYrZWozS1BSdWZDVlJMMHk4WjlHYlAzZmVxejQ0bHNXRWg3N056UWdSaVdaYUMxdFFaYjFKWitmam5ECnVHZlJNM085WW9Lb0tKMHo1VW5WVk13TDl0K0JFbVp5TGNvYzRoVVgzTDJjT1VpM0VaaC9jeTEvREpGODg0UDcKQlgyY0lWcWM4ZU1rL1ZYbE5CY1d3RlpzVGM4Vk56SUprbExKYlJuOERQWmhxWHNlYjBCZXNlU1B6M0EvKzh4TApCZTJzbFBPK01KWVdLSGZPKzNvZmNibUFpUnMvNTkxOVpiMy9rVyt4c3ROQ1V3b0pBeTk1bXF2Ukg4TFo0Zz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
 
 secrets:
-  im_cert_chain: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYyakNDQThLZ0F3SUJBZ0lDRUFBd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z1lreEN6QUpCZ05WQkFZVEFsVlQKTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saE1STXdFUVlEVlFRSERBcE5aVzVzYnlCUVlYSnJNUTh3RFFZRApWUVFLREFaUFRpNU1ZV0l4R0RBV0JnTlZCQXNNRDFSbGMzUWdSR1Z3Ykc5NWJXVnVkREVsTUNNR0ExVUVBd3djClEwOVNSQ0JVWlhOMElFUmxjR3h2ZVcxbGJuUWdVbTl2ZENCRFFUQWVGdzB4TnpFeU1UUXdNRFE1TUROYUZ3MHgKT1RFeU1UUXdNRFE1TUROYU1HNHhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUTh3RFFZRFZRUUtEQVpQVGk1TVlXSXhHREFXQmdOVkJBc01EMVJsYzNRZ1JHVndiRzk1YldWdWRERWZNQjBHCkExVUVBd3dXVFhsVGFYUmxJRWx1ZEdWeWJXVmthV0YwWlNCRFFUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFPTDVRT0l5YmpJRXRjVkY3Y2hRV3c0Q3Z1QkhCVGpCSmMxcEh3SjRDSzlsYm04RgpJMXNFbW1pd20yTWtJRG9WQ2lBQk5ld1JtVTRTcU4wUG5QOWlGNjV2NlpTbHlXT25hVHF1SitTck9tM1F6MHZmCkZuSHZmWkZycC9BU3FhUlBxQVUrVlR3dTVsb2VHcEZIS3F1MXhxZUpQNWlSaVdTS3hWdk1XeS9TUnhsU0FudVkKTG84WkRrWllpdWZYY1dJaEMzWGdXb081ckVuZVcxS1FXdWdnU1l1dUFPMDJkV2hPQklJTlJPQTZSdUdWdWw0Uwo1S1oxTE5tclAyS2c1a0JoaG1xclhLZWJudzdkZTg2emthV0RlcG1LajZiUWtiRGNWYTJXdU1mTS9Yd0dqd0d3CkwwT2RRRzB3dzFhMFdYTi9NMU5WVnBManNFTDZ2U0Q0UlR0RlZYZWFPRkZ3VGphUXpVSGgxUHdsRkI1S25nM0oKcXBnNzdRdXUvVFdvcHI5ZXBPNk1oZ25KSmliSzB3MzZvaUt1YUJiMGt4TjlKOHVQbERiWlpuRm1NYk9jYjVNOQpzU1A0cTJ3ODJuYkdmRm0rZFR6OU9Ddi9aUWc3Nm5XTk8vVWFEMFR6c25zZjBMZ3dXL1dqR3pEd0w3Rk0vTXRoCnI2eUQ5dVRiRnR1TzdGbGp4NUZMZ2thc200bzRQbzBsR3RFMCtWUXg5bTRiN014R1RITThBcm1ES1lzTTJTeXUKdG5ZeXBHQjE4T0c2NENrTEhzejJkU2dhb1BVVDY1MW9UbnRTZDZMU2hGazR1VVpxVjdrYnBzSGRhK2s0UlgwNApSejI3RUcwQ0V3R0RDYnhVTnJCcVlTZzdZNENJSklodnB1Mm8vSGNsREsxV09tZGYrL3h2M0M0RHBYb1RBZ01CCkFBR2paakJrTUIwR0ExVWREZ1FXQkJSWis4akR3eVRORzdzMVAzdElEY2Q0RXFCbnZEQWZCZ05WSFNNRUdEQVcKZ0JUVFVvazdCSzZnVHZ2cjFnUkJxUyswdDBjanNUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUJoakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBemU1NlZGTjRJRkdQaVk4ZHZkL1pscCtxCjMvSENUdDFJemE5cFlhTi9KY2U3b1hlOVRNZDJWWXJ5VmdWZVc1aWJ5eDdQVGhINFBDMHRrMUZFeUNoZFZHV0IKclRrSGE4T25vQ0lqdVFDS3FPV1hPRkNMMkQyaEwxTjRFNHYyeW02UmpNeWVMRDgvQW8wUGUvYkFyUGVkZHV6WgplY21MdTFLN2Q2Y3RPbmV6cXJwRm1YemN2WDVVUFFyVlppWHFGcHVxRzl1TWQrTkVMTWFTMC85K3NwUlF6VE5WClg4RStET1RsbVU5eTVxMHNiR0ZscFV0a0JuVnJ4cllQV2tLMnRWK2phOGpLSitiZFJuNktSZzIyZjkyTndleFMKK1BlUWI0bzltOG9jSnVFanpnczZDbjM3L3FIWXc1YXVjdkJBUU4yYk85NXArN2k0WGh2OVo3UjRGcFE3amY2QgpSV3NSc3dvclpTZWo3N1Fva0JqQ1VZVzVnK2xObHh1UjRacks5VjMxVC9USkkrSHB5YjJYSVFWYUJxbkF3bGRxCnlsNGZMN3dibTg1blQ4Q29tZ1prRWZzMEd3T2FHOFhWdEFROTJGQ3p5bFdKcXpYaEVNbElzdlNqVCs5ZU5FZzIKM0Vnc24xendRdU14aWRpQk5DaThyT3c3UlNBN0UzM1l6TTBMQk5pRWJSS012YWVKbm1sUU5tZGh5YmJXYUpwQwp6R1hYd1lMRkhjK3FsUGsvMFdodVJvNVVKRUx5REJ0ai9HK0U2OFhLdm1iSUZMdjdJNmN0S2Z3RHhZNVFXajJvCmF0NDlsS3dWMS9jUSt0d3B1Ym1NcmtYUzlwaExhVHBvTFNiOVRFUDZTWmVqNVgzQVB2aUVzZkltUjlLQ0MwSHMKRzBnL0pVTkgyVWJWbU5pZld2bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRitqQ0NBK0tnQXdJQkFnSUpBSnhvbU5IbkovTXRNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1JR0pNUXN3Q1FZRApWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVUTUJFR0ExVUVCd3dLVFdWdWJHOGdVR0Z5CmF6RVBNQTBHQTFVRUNnd0dUMDR1VEdGaU1SZ3dGZ1lEVlFRTERBOVVaWE4wSUVSbGNHeHZlVzFsYm5ReEpUQWoKQmdOVkJBTU1IRU5QVWtRZ1ZHVnpkQ0JFWlhCc2IzbHRaVzUwSUZKdmIzUWdRMEV3SGhjTk1UY3hNakUwTURBMApPRFUzV2hjTk1qY3hNakV5TURBME9EVTNXakNCaVRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ01Da05oCmJHbG1iM0p1YVdFeEV6QVJCZ05WQkFjTUNrMWxibXh2SUZCaGNtc3hEekFOQmdOVkJBb01CazlPTGt4aFlqRVkKTUJZR0ExVUVDd3dQVkdWemRDQkVaWEJzYjNsdFpXNTBNU1V3SXdZRFZRUUREQnhEVDFKRUlGUmxjM1FnUkdWdwpiRzk1YldWdWRDQlNiMjkwSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBCjBQMWNhZTluQThEYUdBMEM3L0pnbk0zWCtJdk1rMlVaem1hdHJuL1FhVTZhWWZZbWNRTW5LOGZYbDBoTmg0cVQKZVc1QlVFeUE5Q1I3Q0lXSDh1ZVkvWnBFaDJ2SHB1U0hBWk1YcFdjOWtNYmRCUHVYQlpNTFZXRjFpYXhYdm9TcgpocGNLNmxzRFd3a3JrT2IvbjVHTUpPR1VDYk5aalBUdjJLMkt3UW1kTE1FQmg3S29CT1k1SVNoL1lFL3AyNExGCmhCVVAxTEJ5dXBSUExEdkJhazkrc3h0NVpyM3BtRDh1clpuekNGMnVQZ09rWFJNRStRM081Rmg5eU91TzNDYXkKazNhQnlWRmhJMnRjdUdFTXFodmNoeU9QaDhPNEFXb2xJbnVyWFRCNWpqcHNVSlFlWlBZLzFuaHAxU1VOckNnKwpFbnlvclBtVW5JL1BqWW9SV1E3U1htcWRKanFKVm5XZUZ5eThXeU8xeGl2QTVsTzFrZVRlbFVvWnhxSUlieUtiCjVKcEdNMnFUaTR3dlo1cXdHL1Z2emUzN0cwOUk5bjBlZ1FsdDBrRmI3N2Z4TVRyYzZIKzV0ZkNOZVBWZ0FYajIKalJ1bnBFTDhsS1ZOdHJqVEQ5aEQ4Mm10a3FPcVFZZ29jWDRldXVNQWFNSE5QMzdmWWpvNjBEQXRUNzNPRnNMNApnRGc0ZnlOaG4rQmdKK2pkU2IxNGRpT2lxRG0zcnYrZDhZeWpCd0p6dXJyOXhnMU5zQnI1ZjVZNTgzbDN5UElyCnVSOEV5UzBuNjNIMG4wWkUvT1VuV253dzZGTWVCNXZBc2ZUVDlxZlJhQ1QvUXZTcmFzSVJwd2pCRzFBZ3FlWUUKT3R6QzE3WXQzckx0K3NhU1VyVTI4dnZJelREL2UrS3QxV0RBdHllRWRuVUNBd0VBQWFOak1HRXdIUVlEVlIwTwpCQllFRk5OU2lUc0VycUJPKyt2V0JFR3BMN1MzUnlPeE1COEdBMVVkSXdRWU1CYUFGTk5TaVRzRXJxQk8rK3ZXCkJFR3BMN1MzUnlPeE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0dHTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQ0FRQTNMWkFoSGVHTnZtMVZaSG1xMUkySU5JVGxnZXg0bldZMy90Y3VCUXpDN1RpbgpJNk1rdWVTVUdoN3JSMWJ6Q1UyUlpvd2E1aGkyQzRVSEJYcWR2cDRoRnNoL2MvV0VEVmtNbWttWS9lTERJVjZDClVXUGpYaXRmeDlrWkh4eWZJbEVNc3JuS3lmTFRDK0E3ZkxOQWhocE1OZHFFZlB3UG9GbTFzbGVuSG54NU9PMWkKY2NZUVc4d2tIS1pCQzdhUElZbXdiSEFIWGpPeGFmYkpKUmFRQ2hhTURHdmt0b0NwaVdzWWxydWx0SHRYRU1tQgpuVWliM0k3VFhFekNBdFVONDN4a1MwY21ZWXZkK3I4M24vSEZLWk5VeHl5NXRXZUJZWE0xWVFiQTBGTU1qQnhYClg5ZGppYkxVTC9oenJ3ZkFLa1dPMFRQMWxrV1cwTkh5d3BySVdtWmVUVWJJb3dVWFRpSFdYMzk3a241QTRMMngKZHFhQS94TFEvMjd4VUJnUmJZZ1J0eVY4eWJWQWdUNEdKbyswY1NvR1EycTdMVzVidWxUMjM1ZjZqSEM5b0xHTwo2UDVwenYrZWozS1BSdWZDVlJMMHk4WjlHYlAzZmVxejQ0bHNXRWg3N056UWdSaVdaYUMxdFFaYjFKWitmam5ECnVHZlJNM085WW9Lb0tKMHo1VW5WVk13TDl0K0JFbVp5TGNvYzRoVVgzTDJjT1VpM0VaaC9jeTEvREpGODg0UDcKQlgyY0lWcWM4ZU1rL1ZYbE5CY1d3RlpzVGM4Vk56SUprbExKYlJuOERQWmhxWHNlYjBCZXNlU1B6M0EvKzh4TApCZTJzbFBPK01KWVdLSGZPKzNvZmNibUFpUnMvNTkxOVpiMy9rVyt4c3ROQ1V3b0pBeTk1bXF2Ukg4TFo0Zz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
   core_api_cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZvVENDQTRtZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREJ1TVFzd0NRWURWUVFHRXdKVlV6RVQKTUJFR0ExVUVDQXdLUTJGc2FXWnZjbTVwWVRFUE1BMEdBMVVFQ2d3R1QwNHVUR0ZpTVJnd0ZnWURWUVFMREE5VQpaWE4wSUVSbGNHeHZlVzFsYm5ReEh6QWRCZ05WQkFNTUZrMTVVMmwwWlNCSmJuUmxjbTFsWkdsaGRHVWdRMEV3CkhoY05NVGN4TWpFME1EQTBPVEEyV2hjTk1UZ3hNakUwTURBME9UQTJXakNCZ0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKRXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeEV6QVJCZ05WQkFjTUNrMWxibXh2SUZCaGNtc3hEekFOQmdOVgpCQW9NQms5T0xreGhZakVhTUJnR0ExVUVDd3dSVFhsVGFYUmxJRVJsY0d4dmVXMWxiblF4R2pBWUJnTlZCQU1NCkVYaHZjeTFqYjNKbExtTnZjbVF1YkdGaU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0MKQVFFQTQwc3ZtbzBnK1dtZVdxQ083djR4ZFBUK1h5OHdVSTYxcGFacWdmZXhZT3lYSkpxMW1lSUlVZnNtSVl6VAp3cFBodEh4c2YzbE8rUGZwRzk4a3NHNXgvVUV5djhlN2RLaHpDalFrcER1b0loRUMwdUcrbjZDTVJsMDF0elRyCnFGaCtNVURoUmV4SFhRcjV5Z3c5TFBNU0RkL3dhYWduN21RelZTdzJ0bnpha3Y3ODY3YzFPRFFHekxyRGx4RVUKQ3FaY1F2cUV5UnJHWmF6WlZ0SFJmamV0eldKdzZYbDRVUGl6eldqVWFaMEhPMG9JWFMwa0tmbjhrZ1c4dDZEUgpuNDFTTTRRQlZTY21XWm9WUUFOc1lCL0ROZEdGMDF2ODUvVktMV2J5YkVUbGJCVXZhSEVPZWJCMlo1Tm1tcXZ6CkpEN1JRbVdJaWZrUjVLOWZWTjdtNERRc01RSURBUUFCbzRJQk5UQ0NBVEV3SFFZRFZSME9CQllFRkIzeEFHNzIKZ3VhZ29rOEJzT3orZnQxd0htMC9NSUczQmdOVkhTTUVnYTh3Z2F5QUZGbjd5TVBESk0wYnV6VS9lMGdOeDNnUwpvR2U4b1lHUHBJR01NSUdKTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVUCk1CRUdBMVVFQnd3S1RXVnViRzhnVUdGeWF6RVBNQTBHQTFVRUNnd0dUMDR1VEdGaU1SZ3dGZ1lEVlFRTERBOVUKWlhOMElFUmxjR3h2ZVcxbGJuUXhKVEFqQmdOVkJBTU1IRU5QVWtRZ1ZHVnpkQ0JFWlhCc2IzbHRaVzUwSUZKdgpiM1FnUTBHQ0FoQUFNQWtHQTFVZEV3UUNNQUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQk1DWUdBMVVkRVFRZk1CMkNFWGh2Y3kxamIzSmxMbU52Y21RdWJHRmlnZ2g0YjNNdFkyOXkKWlRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVRPYmFpWHNBS3hlUTRLN2QwVXV0d0RWeXFka29lTkhwbm1QWApIS1JOY2w4eEUwZjZxczdxcTl3VlJ3NDhiMVlkTEhzcHAyclRsUGY3d09WSUw4UEhVWElUWlkyL0p0b0tQTlRnClp6Wlpxd2tsVEdSekJoYStESE8ydzdlYzZPWDZXcVM5U091aXRsZnhFWjVPNm45WUJha3VUc1hOZHZYbW9rTDAKK3ZwMkVHSHpSYlgxaDc1R3JPbmhjem03Q1FjaU5HVUlqZDNrN0RsK0RsMGs2Tm5aK2VXbUltd0RuU2lzdzhuVwpZUUVGRHgxYlNKYVpNS0NwM0hyN2s5b1ByL0JsYkJPaXI4Yis4em91Vm5BYkVRWVdiV3hwVWVlNXNQT2tEamd3ClV6d0lHVnRSYjBZTlpaS3BEdTIwOUxLYjQ5dFR5TXBmaVdUNTU4VzZJTU9lV3lia1Izd0RvUXFNVHpvNHBUaHEKdFh5T2JJZ2Z2MHJLbU1rM2NPMWNLM1R2ODdNMFJ2a2YrajFnTEVYWTdlK1BiSXYvNExaUTVnUUpua1lLVXY3WApVWmlFRDdRdlVEbnk5M1hKNzc5S0cxTkRNZkx1QTFKU2p4USsrcDFHL3VzLzNwcmg2SmViVUJrUjRZaklIeHRlCmNDYTFpdE5wN0crWWkxdHU0TUN3dEZ5Y1QxbzRaS2o2MThPUXJRRjc1RG9RWGNiU2ZyM1NSVTF5aU1FQzdrM08KTkE4TXdOZjB1WWljRlZ4aG93U1FLME16dWh0QnR6ZDhMTjd0YVBrL1FGOTRyNU85aWF0b205Q2lzaW1GWXAvNwp4R1g3eEJvTWI1U2JNZVI1bXYrbmlUUWExb1hZQXBSU2ZHSW8yeWxTaDdaZFhjUy9ySlNETWxzYVg1L3lUcXRMCkhWRW0xNDQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYyakNDQThLZ0F3SUJBZ0lDRUFBd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z1lreEN6QUpCZ05WQkFZVEFsVlQKTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saE1STXdFUVlEVlFRSERBcE5aVzVzYnlCUVlYSnJNUTh3RFFZRApWUVFLREFaUFRpNU1ZV0l4R0RBV0JnTlZCQXNNRDFSbGMzUWdSR1Z3Ykc5NWJXVnVkREVsTUNNR0ExVUVBd3djClEwOVNSQ0JVWlhOMElFUmxjR3h2ZVcxbGJuUWdVbTl2ZENCRFFUQWVGdzB4TnpFeU1UUXdNRFE1TUROYUZ3MHgKT1RFeU1UUXdNRFE1TUROYU1HNHhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUTh3RFFZRFZRUUtEQVpQVGk1TVlXSXhHREFXQmdOVkJBc01EMVJsYzNRZ1JHVndiRzk1YldWdWRERWZNQjBHCkExVUVBd3dXVFhsVGFYUmxJRWx1ZEdWeWJXVmthV0YwWlNCRFFUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFPTDVRT0l5YmpJRXRjVkY3Y2hRV3c0Q3Z1QkhCVGpCSmMxcEh3SjRDSzlsYm04RgpJMXNFbW1pd20yTWtJRG9WQ2lBQk5ld1JtVTRTcU4wUG5QOWlGNjV2NlpTbHlXT25hVHF1SitTck9tM1F6MHZmCkZuSHZmWkZycC9BU3FhUlBxQVUrVlR3dTVsb2VHcEZIS3F1MXhxZUpQNWlSaVdTS3hWdk1XeS9TUnhsU0FudVkKTG84WkRrWllpdWZYY1dJaEMzWGdXb081ckVuZVcxS1FXdWdnU1l1dUFPMDJkV2hPQklJTlJPQTZSdUdWdWw0Uwo1S1oxTE5tclAyS2c1a0JoaG1xclhLZWJudzdkZTg2emthV0RlcG1LajZiUWtiRGNWYTJXdU1mTS9Yd0dqd0d3CkwwT2RRRzB3dzFhMFdYTi9NMU5WVnBManNFTDZ2U0Q0UlR0RlZYZWFPRkZ3VGphUXpVSGgxUHdsRkI1S25nM0oKcXBnNzdRdXUvVFdvcHI5ZXBPNk1oZ25KSmliSzB3MzZvaUt1YUJiMGt4TjlKOHVQbERiWlpuRm1NYk9jYjVNOQpzU1A0cTJ3ODJuYkdmRm0rZFR6OU9Ddi9aUWc3Nm5XTk8vVWFEMFR6c25zZjBMZ3dXL1dqR3pEd0w3Rk0vTXRoCnI2eUQ5dVRiRnR1TzdGbGp4NUZMZ2thc200bzRQbzBsR3RFMCtWUXg5bTRiN014R1RITThBcm1ES1lzTTJTeXUKdG5ZeXBHQjE4T0c2NENrTEhzejJkU2dhb1BVVDY1MW9UbnRTZDZMU2hGazR1VVpxVjdrYnBzSGRhK2s0UlgwNApSejI3RUcwQ0V3R0RDYnhVTnJCcVlTZzdZNENJSklodnB1Mm8vSGNsREsxV09tZGYrL3h2M0M0RHBYb1RBZ01CCkFBR2paakJrTUIwR0ExVWREZ1FXQkJSWis4akR3eVRORzdzMVAzdElEY2Q0RXFCbnZEQWZCZ05WSFNNRUdEQVcKZ0JUVFVvazdCSzZnVHZ2cjFnUkJxUyswdDBjanNUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUJoakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBemU1NlZGTjRJRkdQaVk4ZHZkL1pscCtxCjMvSENUdDFJemE5cFlhTi9KY2U3b1hlOVRNZDJWWXJ5VmdWZVc1aWJ5eDdQVGhINFBDMHRrMUZFeUNoZFZHV0IKclRrSGE4T25vQ0lqdVFDS3FPV1hPRkNMMkQyaEwxTjRFNHYyeW02UmpNeWVMRDgvQW8wUGUvYkFyUGVkZHV6WgplY21MdTFLN2Q2Y3RPbmV6cXJwRm1YemN2WDVVUFFyVlppWHFGcHVxRzl1TWQrTkVMTWFTMC85K3NwUlF6VE5WClg4RStET1RsbVU5eTVxMHNiR0ZscFV0a0JuVnJ4cllQV2tLMnRWK2phOGpLSitiZFJuNktSZzIyZjkyTndleFMKK1BlUWI0bzltOG9jSnVFanpnczZDbjM3L3FIWXc1YXVjdkJBUU4yYk85NXArN2k0WGh2OVo3UjRGcFE3amY2QgpSV3NSc3dvclpTZWo3N1Fva0JqQ1VZVzVnK2xObHh1UjRacks5VjMxVC9USkkrSHB5YjJYSVFWYUJxbkF3bGRxCnlsNGZMN3dibTg1blQ4Q29tZ1prRWZzMEd3T2FHOFhWdEFROTJGQ3p5bFdKcXpYaEVNbElzdlNqVCs5ZU5FZzIKM0Vnc24xendRdU14aWRpQk5DaThyT3c3UlNBN0UzM1l6TTBMQk5pRWJSS012YWVKbm1sUU5tZGh5YmJXYUpwQwp6R1hYd1lMRkhjK3FsUGsvMFdodVJvNVVKRUx5REJ0ai9HK0U2OFhLdm1iSUZMdjdJNmN0S2Z3RHhZNVFXajJvCmF0NDlsS3dWMS9jUSt0d3B1Ym1NcmtYUzlwaExhVHBvTFNiOVRFUDZTWmVqNVgzQVB2aUVzZkltUjlLQ0MwSHMKRzBnL0pVTkgyVWJWbU5pZld2bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
   core_api_key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBNDBzdm1vMGcrV21lV3FDTzd2NHhkUFQrWHk4d1VJNjFwYVpxZ2ZleFlPeVhKSnExCm1lSUlVZnNtSVl6VHdwUGh0SHhzZjNsTytQZnBHOThrc0c1eC9VRXl2OGU3ZEtoekNqUWtwRHVvSWhFQzB1RysKbjZDTVJsMDF0elRycUZoK01VRGhSZXhIWFFyNXlndzlMUE1TRGQvd2FhZ243bVF6VlN3MnRuemFrdjc4NjdjMQpPRFFHekxyRGx4RVVDcVpjUXZxRXlSckdaYXpaVnRIUmZqZXR6V0p3NlhsNFVQaXp6V2pVYVowSE8wb0lYUzBrCktmbjhrZ1c4dDZEUm40MVNNNFFCVlNjbVdab1ZRQU5zWUIvRE5kR0YwMXY4NS9WS0xXYnliRVRsYkJVdmFIRU8KZWJCMlo1Tm1tcXZ6SkQ3UlFtV0lpZmtSNUs5ZlZON200RFFzTVFJREFRQUJBb0lCQVFDc2ZWZHYrMkFseHhDRQppRXBRZHBtRHY1VDNHVEdhUU9MN0JoTFg5T2dvdlFOcXBQbmlBUlg5V1JJejdkS2FYRzJ4OGFiSkNuOXpFM2hWClRYOWpZVDJpU3dNL1pVME9GL1BOcjRxTEZEYmhPM1dnSWU3dTV3RHRPVGxWZ3BUQVdmL1NVd0ZpZGhBbVBQa1oKYXpaVjBWVkhNRVliZUtCdEdwK1dLSXFRN0tsWFdUcHZxNDgvd3lGeGtZc0g4MU1UaE9hTDNFZGZHa1BKU2FzawpjRlhxUHZhZ2dCQkJYUW9aNUFTZUZvWGZrZDdmRVVCQlNSVWRFWVZFOE8xdkw2VzBOUTBDV0EyNjUvQnl1aE9OCkZoME53SHNNbHhPTEsyeFpKc2thN1FvZi94SXE1Rkh4UVBTdkVRTUhaRXM4S3kzUk1CLzdvMWt5dmtXSlZURCsKRjRCTWFDK3RBb0dCQVAzaEtZSGQ3Y2Fxc3VxZ0R5UVBRSll6VzJaczlkL0ZQU29nbGxtZ2NLOGpTMGZTUzFMUworOEpTQWxJdUdvVGxkSHlZYUUvcnlvN0lvZmVwRk8yZ0dZa2ttcHl6aWErL0tRcjRzcXFkdmlpdmxGbEZYNXZTCld1eXNVT05ndGFteUVUZDlycFd3Y2FuT2FhU2IwTHZYYS8vUk5leWFNNTJxd3hxamZUUTJ5dTZyQW9HQkFPVXgKTGNGMXJUU1MzVUFzOUZLZXd4YWdvd1Rmc0o2R29XK1NBQzRXWEt4WGNUS3dJcVVoTHBZUTF6Z0xVb0RaR1hmRApkd0ZhVjhBN3d1TzZtQWliSjFUckNqdDc4Wi9wZEd1a3lXSDJ4YzZHNkU5bE12QVFCY3hIeFR4a2U2QmdjZlltCkIvY3dFYWJrYzJMc1FjNTVUU3hheUlaL2FmN2xZcWpGSDhKY2gyQ1RBb0dBT2xrRFJ4dVFTRFozQkVGZytYS2YKNzJWQ1Bsb1FjQ3RPa1Y0SDcvVlZzSXEyQkgycVhoQ3JWOCt0Uk9IZnFtZHB6RERpMkd0aWxFbzhIMFUyMEI0WgpnRkZ2VDFCYjlvNUNpb2o1MXdpRjZhZmd1bHVkUzV5ZTFRSU5YUlNlNjY5SEVhL0s3aEF0TDArSExCTzdkMUJkCk8rQURPcXQ5N1dDUGtwRzhkc0daQmgwQ2dZRUF0aTB5SG8yb1FKcmdqUXR1cFdHVzFweVhGOStxWjBmQ2VJbkgKNU5wWGpaSHY0NGVIOGxQKzBML1FJcmMxUEQvVTg1S0dQS2dRQ2pnMmdJZW9JMmNZaTNKTWJ0M2xRT1B6YTBEUAo1ak9lSmJ5c1diZXFGcEhWMmZ2T2RtTzB0TlVVb01DNElpNnVTVWRieEd6aEhmcmpjZmN6WDExVjVvdDBzWXdHCjQ1cGk3VXNDZ1lBSzByNnZWajJZRHlBVS8vMk10eGxpSjNJMEs0Rm5SU2JHOFJyOFMvTXJzOHlseW02Z3E2eW0KOS9KWWp6cU93YzZYZ2xDTk45ZVNsRzlzdW13ak85bjV4SlZjZ3JkT3hJa1gvakpDODBiV2xRN2wxU0VZa1ZHcQpDcThOaUZyaWs1VW1ycVhrdUU1NmxaNjQrOGkzZ1BXN0wxZm5OMURoK01FSWZQbUtUOUx6Qmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
diff --git a/xos-profiles/rcord-lite/templates/_helpers.tpl b/xos-profiles/rcord-lite/templates/_helpers.tpl
index 0d74e8b..7d070a9 100644
--- a/xos-profiles/rcord-lite/templates/_helpers.tpl
+++ b/xos-profiles/rcord-lite/templates/_helpers.tpl
@@ -45,3 +45,20 @@
 {{- define "rcord-lite.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{/*
+The R-CORD synchronizer loads R-CORD-specific models into the core
+*/}}
+
+{{- define "rcord.serviceConfig" -}}
+name: rcord
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+dependency_graph: "/opt/xos/synchronizers/rcord/model-deps"
+sys_dir: "/opt/xos/synchronizers/rcord/sys"
+models_dir: "/opt/xos/synchronizers/rcord/models"
+model_policies_dir: "/opt/xos/synchronizers/rcord/model_policies"
+{{- end -}}
+
diff --git a/xos-profiles/rcord-lite/templates/rcord-models-configmap.yaml b/xos-profiles/rcord-lite/templates/rcord-models-configmap.yaml
index e32b876..ffaf1d6 100644
--- a/xos-profiles/rcord-lite/templates/rcord-models-configmap.yaml
+++ b/xos-profiles/rcord-lite/templates/rcord-models-configmap.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +19,4 @@
   name: rcord-lite-config
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "rcord.serviceConfig" . | indent 4 }}
diff --git a/xos-profiles/rcord-lite/templates/rcord-models-deployment.yaml b/xos-profiles/rcord-lite/templates/rcord-models-deployment.yaml
index 71a4ad0..ed01549 100644
--- a/xos-profiles/rcord-lite/templates/rcord-models-deployment.yaml
+++ b/xos-profiles/rcord-lite/templates/rcord-models-deployment.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -39,14 +38,15 @@
     spec:
       containers:
         - name: {{ .Chart.Name }}-rcord
-          image: "{{ .Values.pull_docker_registry }}{{ .Values.image.rcordSynchronizer.repository }}:{{ .Values.image.rcordSynchronizer.tag }}"
-          imagePullPolicy: {{ .Values.image.rcordSynchronizer.pullPolicy }}
+          image: {{ .Values.rcord_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           volumeMounts:
             - name: rcord-lite-config
               mountPath: /opt/xos/synchronizers/rcord/rcord_config.yaml
               subPath: rcord_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: rcord-lite-config
           configMap:
@@ -54,6 +54,9 @@
             items:
               - key: serviceConfig
                 path: rcord_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
diff --git a/xos-profiles/rcord-lite/templates/tosca-deployment.yaml b/xos-profiles/rcord-lite/templates/tosca-deployment.yaml
index f9bf00c..c5a0f71 100644
--- a/xos-profiles/rcord-lite/templates/tosca-deployment.yaml
+++ b/xos-profiles/rcord-lite/templates/tosca-deployment.yaml
@@ -39,8 +39,8 @@
     spec:
       containers:
         - name: {{ .Chart.Name }}-tosca-loader
-          image: "{{ .Values.pull_docker_registry }}{{ .Values.image.toscaLoader.repository }}:{{ .Values.image.toscaLoader.tag }}"
-          imagePullPolicy: {{ .Values.image.toscaLoader.pullPolicy }}
+          image: {{ .Values.httpieImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           command: ["/bin/sh"]
           args:
             - "-c"
diff --git a/xos-profiles/rcord-lite/values.yaml b/xos-profiles/rcord-lite/values.yaml
index cf65680..b557e20 100644
--- a/xos-profiles/rcord-lite/values.yaml
+++ b/xos-profiles/rcord-lite/values.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,54 +22,13 @@
 nameOverride: ""
 fullnameOverride: ""
 
-pull_docker_registry:
+imagePullPolicy: 'IfNotPresent'
 
-image:
-  toscaLoader:
-    repository: clue/httpie
-    tag: latest
-    pullPolicy: IfNotPresent
-  rcordSynchronizer:
-    repository: xosproject/rcord-synchronizer
-    tag: master
-    pullPolicy: IfNotPresent
+rcord_synchronizerImage: "xosproject/rcord-synchronizer:master"
+httpieImage: "clue/httpie:latest"
 
-xosAdminUser: admin@opencord.org
-xosAdminPassword: letmein
-
-# Service-specific configuration.
-fabric:
-  serviceConfig:
-    accessor:
-      username: admin@opencord.org
-      password: letmein
-onos-service:
-  serviceConfig:
-    accessor:
-      username: admin@opencord.org
-      password: letmein
-volt:
-  serviceConfig:
-    accessor:
-      username: admin@opencord.org
-      password: letmein
-vsg-hw:
-  serviceConfig:
-    accessor:
-      username: admin@opencord.org
-      password: letmein
-
-# The R-CORD synchronizer loads R-CORD-specific models into the core
-serviceConfig:
-  name: rcord
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  dependency_graph: "/opt/xos/synchronizers/rcord/model-deps"
-  sys_dir: "/opt/xos/synchronizers/rcord/sys"
-  models_dir: "/opt/xos/synchronizers/rcord/models"
-  model_policies_dir: "/opt/xos/synchronizers/rcord/model_policies"
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 # TOSCA recipes for the tosca-loader
 toscaRecipes:
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"
diff --git a/xos-services/exampleservice/templates/_helpers.tpl b/xos-services/exampleservice/templates/_helpers.tpl
index 99cc097..56ecf89 100644
--- a/xos-services/exampleservice/templates/_helpers.tpl
+++ b/xos-services/exampleservice/templates/_helpers.tpl
@@ -45,3 +45,37 @@
 {{- define "exampleservice.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "exampleservice.serviceConfig" -}}
+name: exampleservice
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - ExampleService
+  - ExampleServiceInstance
+  - ServiceDependency
+  - ServiceMonitoringAgentInfo
+dependency_graph: "/opt/xos/synchronizers/exampleservice/model-deps"
+steps_dir: "/opt/xos/synchronizers/exampleservice/steps"
+sys_dir: "/opt/xos/synchronizers/exampleservice/sys"
+model_policies_dir: "/opt/xos/synchronizers/exampleservice/model_policies"
+models_dir: "/opt/xos/synchronizers/exampleservice/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/exampleservice/templates/configmap.yaml b/xos-services/exampleservice/templates/configmap.yaml
index 7e25008..84c030d 100644
--- a/xos-services/exampleservice/templates/configmap.yaml
+++ b/xos-services/exampleservice/templates/configmap.yaml
@@ -20,5 +20,4 @@
   name: exampleservice
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
-
+{{ include "exampleservice.serviceConfig" . | indent 4 }}
diff --git a/xos-services/exampleservice/templates/deployment.yaml b/xos-services/exampleservice/templates/deployment.yaml
index 14f0c22..4509f9b 100644
--- a/xos-services/exampleservice/templates/deployment.yaml
+++ b/xos-services/exampleservice/templates/deployment.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -37,16 +36,17 @@
     spec:
       containers:
         - name: {{ .Chart.Name }}
-          image: "{{ .Values.pull_docker_registry }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          image: {{ .Values.exampleservice_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: exampleservice-config
               mountPath: /opt/xos/synchronizers/exampleservice/exampleservice_config.yaml
               subPath: exampleservice_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: exampleservice-config
           configMap:
@@ -54,9 +54,12 @@
             items:
               - key: serviceConfig
                 path: exampleservice_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/exampleservice/values.yaml b/xos-services/exampleservice/values.yaml
index 6051b1c..7708d68 100644
--- a/xos-services/exampleservice/values.yaml
+++ b/xos-services/exampleservice/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/exampleservice-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+exampleservice_synchronizerImage: "xosproject/exampleservice-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,20 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: exampleservice
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - ExampleService
-    - ExampleServiceInstance
-    - ServiceDependency
-    - ServiceMonitoringAgentInfo
-  dependency_graph: "/opt/xos/synchronizers/exampleservice/model-deps"
-  steps_dir: "/opt/xos/synchronizers/exampleservice/steps"
-  sys_dir: "/opt/xos/synchronizers/exampleservice/sys"
-  model_policies_dir: "/opt/xos/synchronizers/exampleservice/model_policies"
-  models_dir: "/opt/xos/synchronizers/exampleservice/models"
diff --git a/xos-services/fabric/templates/_helpers.tpl b/xos-services/fabric/templates/_helpers.tpl
index 6b57e4f..07eb3b2 100644
--- a/xos-services/fabric/templates/_helpers.tpl
+++ b/xos-services/fabric/templates/_helpers.tpl
@@ -45,3 +45,36 @@
 {{- define "fabric.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "fabric.serviceConfig" -}}
+name: fabric
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - Instance
+  - Tag
+  - FabricService
+  - AddressManagerServiceInstance
+dependency_graph: "/opt/xos/synchronizers/fabric/model-deps"
+steps_dir: "/opt/xos/synchronizers/fabric/steps"
+sys_dir: "/opt/xos/synchronizers/fabric/sys"
+models_dir: "/opt/xos/synchronizers/fabric/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/fabric/templates/configmap.yaml b/xos-services/fabric/templates/configmap.yaml
index d14289a..f0299d8 100644
--- a/xos-services/fabric/templates/configmap.yaml
+++ b/xos-services/fabric/templates/configmap.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +19,4 @@
   name: fabric
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "fabric.serviceConfig" . | indent 4 }}
diff --git a/xos-services/fabric/templates/deployment.yaml b/xos-services/fabric/templates/deployment.yaml
index 2413c53..3c7d03b 100644
--- a/xos-services/fabric/templates/deployment.yaml
+++ b/xos-services/fabric/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.fabric_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: fabric-config
               mountPath: /opt/xos/synchronizers/fabric/fabric_config.yaml
               subPath: fabric_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: fabric-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: fabric_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/fabric/values.yaml b/xos-services/fabric/values.yaml
index ec2e3d6..22fd55b 100644
--- a/xos-services/fabric/values.yaml
+++ b/xos-services/fabric/values.yaml
@@ -20,15 +20,15 @@
 
 replicaCount: 1
 
-pull_docker_registry:
-
 nameOverride: ""
 fullnameOverride: ""
 
-image:
-  repository: xosproject/fabric-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+fabric_synchronizerImage: "xosproject/fabric-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -38,35 +38,3 @@
 
 affinity: {}
 
-serviceConfig:
-  name: fabric
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - Instance
-    - Tag
-    - FabricService
-    - AddressManagerServiceInstance
-  dependency_graph: "/opt/xos/synchronizers/fabric/model-deps"
-  steps_dir: "/opt/xos/synchronizers/fabric/steps"
-  sys_dir: "/opt/xos/synchronizers/fabric/sys"
-  models_dir: "/opt/xos/synchronizers/fabric/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
-
diff --git a/xos-services/onos-service/templates/_helpers.tpl b/xos-services/onos-service/templates/_helpers.tpl
index 750b7a9..390c710 100644
--- a/xos-services/onos-service/templates/_helpers.tpl
+++ b/xos-services/onos-service/templates/_helpers.tpl
@@ -45,3 +45,32 @@
 {{- define "onos-service.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+
+{{- define "onos-service.serviceConfig" -}}
+name: onos
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+dependency_graph: "/opt/xos/synchronizers/onos/model-deps"
+steps_dir: "/opt/xos/synchronizers/onos/steps"
+sys_dir: "/opt/xos/synchronizers/onos/sys"
+models_dir: "/opt/xos/synchronizers/onos/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/onos-service/templates/configmap.yaml b/xos-services/onos-service/templates/configmap.yaml
index 226f926..db13dd3 100644
--- a/xos-services/onos-service/templates/configmap.yaml
+++ b/xos-services/onos-service/templates/configmap.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +19,4 @@
   name: onos-service
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "onos-service.serviceConfig" . | indent 4 }}
diff --git a/xos-services/onos-service/templates/deployment.yaml b/xos-services/onos-service/templates/deployment.yaml
index 53830bb..38b66b2 100644
--- a/xos-services/onos-service/templates/deployment.yaml
+++ b/xos-services/onos-service/templates/deployment.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -39,16 +38,17 @@
     spec:
       containers:
         - name: {{ .Chart.Name }}
-          image: "{{ .Values.pull_docker_registry }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          image: {{ .Values.onos_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: onos-service-config
               mountPath: /opt/xos/synchronizers/onos/onos_config.yaml
               subPath: onos_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: onos-service-config
           configMap:
@@ -56,9 +56,12 @@
             items:
               - key: serviceConfig
                 path: onos_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/onos-service/values.yaml b/xos-services/onos-service/values.yaml
index 9a81457..0783614 100644
--- a/xos-services/onos-service/values.yaml
+++ b/xos-services/onos-service/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/onos-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+onos_synchronizerImage: "xosproject/onos-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,30 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: onos
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  dependency_graph: "/opt/xos/synchronizers/onos/model-deps"
-  steps_dir: "/opt/xos/synchronizers/onos/steps"
-  sys_dir: "/opt/xos/synchronizers/onos/sys"
-  models_dir: "/opt/xos/synchronizers/onos/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
diff --git a/xos-services/openstack/templates/_helpers.tpl b/xos-services/openstack/templates/_helpers.tpl
index b61f963..d0d413a 100644
--- a/xos-services/openstack/templates/_helpers.tpl
+++ b/xos-services/openstack/templates/_helpers.tpl
@@ -45,3 +45,47 @@
 {{- define "openstack.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "openstack.serviceConfig" -}}
+name: openstack-synchronizer
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+dependency_graph: "/opt/xos/synchronizers/openstack/model-deps"
+steps_dir: "/opt/xos/synchronizers/openstack/steps"
+sys_dir: "/opt/xos/synchronizers/openstack/sys"
+model_policies_dir: "/opt/xos/synchronizers/openstack/model_policies"
+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
+images_directory: "/opt/xos/images"
+required_models:
+  - ControllerImages
+  - ControllerNetwork
+  - ControllerSitePrivilege
+  - ControllerSite
+  - ControllerSlicePrivilege
+  - ControllerSlice
+  - ControllerUser
+  - Image
+  - Instance
+  - Port
+  - Role
+nova:
+  ca_ssl_cert: "/etc/ssl/certs/ca-certificates.crt"
+  enabled: True
+{{- end -}}
diff --git a/xos-services/openstack/templates/configmap.yaml b/xos-services/openstack/templates/configmap.yaml
index 6d234c4..db369de 100644
--- a/xos-services/openstack/templates/configmap.yaml
+++ b/xos-services/openstack/templates/configmap.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +19,4 @@
   name: openstack
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "openstack.serviceConfig" . | indent 4 }}
diff --git a/xos-services/openstack/templates/deployment.yaml b/xos-services/openstack/templates/deployment.yaml
index f202d79..b0270d1 100644
--- a/xos-services/openstack/templates/deployment.yaml
+++ b/xos-services/openstack/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.openstack_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: openstack-config
               mountPath: /opt/xos/synchronizers/openstack/openstack_config.yaml
               subPath: openstack_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: openstack-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: openstack_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/openstack/values.yaml b/xos-services/openstack/values.yaml
index 1a0e355..f5fc77f 100644
--- a/xos-services/openstack/values.yaml
+++ b/xos-services/openstack/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/openstack-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+openstack_synchronizerImage: "xosproject/openstack-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,30 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: openstack-synchronizer
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  dependency_graph: "/opt/xos/synchronizers/openstack/model-deps"
-  steps_dir: "/opt/xos/synchronizers/openstack/steps"
-  sys_dir: "/opt/xos/synchronizers/openstack/sys"
-  model_policies_dir: "/opt/xos/synchronizers/openstack/model_policies"
-  images_directory: "/opt/xos/images"
-  required_models:
-    - ControllerImages
-    - ControllerNetwork
-    - ControllerSitePrivilege
-    - ControllerSite
-    - ControllerSlicePrivilege
-    - ControllerSlice
-    - ControllerUser
-    - Image
-    - Instance
-    - Port
-    - Role
-  nova:
-    ca_ssl_cert: "/etc/ssl/certs/ca-certificates.crt"
-    enabled: True
diff --git a/xos-services/volt/templates/_helpers.tpl b/xos-services/volt/templates/_helpers.tpl
index 08e04cc..6b6791d 100644
--- a/xos-services/volt/templates/_helpers.tpl
+++ b/xos-services/volt/templates/_helpers.tpl
@@ -45,3 +45,37 @@
 {{- define "volt.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "volt.serviceConfig" -}}
+name: volt
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - VOLTService
+  - VOLTServiceInstance
+  - ServiceInstanceLink
+  - OLTDevice
+dependency_graph: "/opt/xos/synchronizers/volt/model-deps"
+model_policies_dir: "/opt/xos/synchronizers/volt/model_policies"
+models_dir: "/opt/xos/synchronizers/volt/models"
+steps_dir: "/opt/xos/synchronizers/volt/steps"
+pull_steps_dir: "/opt/xos/synchronizers/volt/pull_steps"
+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/volt/templates/configmap.yaml b/xos-services/volt/templates/configmap.yaml
index 0d039ee..37dbd8d 100644
--- a/xos-services/volt/templates/configmap.yaml
+++ b/xos-services/volt/templates/configmap.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +19,4 @@
   name: volt
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "volt.serviceConfig" . | indent 4 }}
diff --git a/xos-services/volt/templates/deployment.yaml b/xos-services/volt/templates/deployment.yaml
index 9ae92fe..f285b6d 100644
--- a/xos-services/volt/templates/deployment.yaml
+++ b/xos-services/volt/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.volt_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: volt-config
               mountPath: /opt/xos/synchronizers/volt/volt_config.yaml
               subPath: volt_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: volt-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: volt_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/volt/values.yaml b/xos-services/volt/values.yaml
index a25cc99..5921b8c 100644
--- a/xos-services/volt/values.yaml
+++ b/xos-services/volt/values.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,21 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default values for exampleservice.
+# Default values for vOLT
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
 
 replicaCount: 1
 
-pull_docker_registry:
-
 nameOverride: ""
 fullnameOverride: ""
 
-image:
-  repository: xosproject/volt-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+volt_synchronizerImage: "xosproject/volt-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,36 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: volt
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - VOLTService
-    - VOLTServiceInstance
-    - ServiceInstanceLink
-    - OLTDevice
-  dependency_graph: "/opt/xos/synchronizers/volt/model-deps"
-  model_policies_dir: "/opt/xos/synchronizers/volt/model_policies"
-  models_dir: "/opt/xos/synchronizers/volt/models"
-  steps_dir: "/opt/xos/synchronizers/volt/steps"
-  pull_steps_dir: "/opt/xos/synchronizers/volt/pull_steps"
-  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
diff --git a/xos-services/vrouter/templates/_helpers.tpl b/xos-services/vrouter/templates/_helpers.tpl
index 03d5458..6f7795c 100644
--- a/xos-services/vrouter/templates/_helpers.tpl
+++ b/xos-services/vrouter/templates/_helpers.tpl
@@ -45,3 +45,36 @@
 {{- define "vrouter.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "vrouter.serviceConfig" -}}
+name: vrouter
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - VRouterService
+  - VRouterDevice
+  - VRouterApp
+  - VRouterPort
+dependency_graph: "/opt/xos/synchronizers/vrouter/model-deps"
+steps_dir: "/opt/xos/synchronizers/vrouter/steps"
+sys_dir: "/opt/xos/synchronizers/vrouter/sys"
+models_dir: "/opt/xos/synchronizers/vrouter/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/vrouter/templates/configmap.yaml b/xos-services/vrouter/templates/configmap.yaml
index dd8e766..82606b7 100644
--- a/xos-services/vrouter/templates/configmap.yaml
+++ b/xos-services/vrouter/templates/configmap.yaml
@@ -20,4 +20,4 @@
   name: vrouter
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "vrouter.serviceConfig" . | indent 4 }}
diff --git a/xos-services/vrouter/templates/deployment.yaml b/xos-services/vrouter/templates/deployment.yaml
index 82630a3..524225d 100644
--- a/xos-services/vrouter/templates/deployment.yaml
+++ b/xos-services/vrouter/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.vrouter_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: vrouter-config
               mountPath: /opt/xos/synchronizers/vrouter/vrouter_config.yaml
               subPath: vrouter_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: vrouter-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: vrouter_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/vrouter/values.yaml b/xos-services/vrouter/values.yaml
index c267596..c7fa202 100644
--- a/xos-services/vrouter/values.yaml
+++ b/xos-services/vrouter/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/vrouter-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+vrouter_synchronizerImage: "xosproject/vrouter-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,35 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: vrouter
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - VRouterService
-    - VRouterDevice
-    - VRouterApp
-    - VRouterPort
-  dependency_graph: "/opt/xos/synchronizers/vrouter/model-deps"
-  steps_dir: "/opt/xos/synchronizers/vrouter/steps"
-  sys_dir: "/opt/xos/synchronizers/vrouter/sys"
-  models_dir: "/opt/xos/synchronizers/vrouter/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
diff --git a/xos-services/vsg-hw/templates/_helpers.tpl b/xos-services/vsg-hw/templates/_helpers.tpl
index 66a8dad..3970829 100644
--- a/xos-services/vsg-hw/templates/_helpers.tpl
+++ b/xos-services/vsg-hw/templates/_helpers.tpl
@@ -45,3 +45,36 @@
 {{- define "vsg-hw.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "vsg-hw.serviceConfig" -}}
+name: vsg-hw
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - VSGHWService
+  - VSGHWServiceInstance
+  - ServiceInstanceLink
+dependency_graph: "/opt/xos/synchronizers/vsg-hw/model-deps"
+steps_dir: "/opt/xos/synchronizers/vsg-hw/steps"
+model_policies_dir: "/opt/xos/synchronizers/vsg-hw/model_policies"
+sys_dir: "/opt/xos/synchronizers/vsg-hw/sys"
+models_dir: "/opt/xos/synchronizers/vsg-hw/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/vsg-hw/templates/configmap.yaml b/xos-services/vsg-hw/templates/configmap.yaml
index 3f2115c..6a109c8 100644
--- a/xos-services/vsg-hw/templates/configmap.yaml
+++ b/xos-services/vsg-hw/templates/configmap.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,4 +19,4 @@
   name: vsg-hw
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "vsg-hw.serviceConfig" . | indent 4 }}
diff --git a/xos-services/vsg-hw/templates/deployment.yaml b/xos-services/vsg-hw/templates/deployment.yaml
index 55c50f3..17b129b 100644
--- a/xos-services/vsg-hw/templates/deployment.yaml
+++ b/xos-services/vsg-hw/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.vsg_hw_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: vsg-hw-config
               mountPath: /opt/xos/synchronizers/vsg-hw/vsg_hw_config.yaml
               subPath: vsg_hw_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: vsg-hw-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: vsg_hw_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/vsg-hw/values.yaml b/xos-services/vsg-hw/values.yaml
index 7f23fe3..3a01a3b 100644
--- a/xos-services/vsg-hw/values.yaml
+++ b/xos-services/vsg-hw/values.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,21 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default values for exampleservice.
+# Default values for vsg-hw
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
 
 replicaCount: 1
 
-pull_docker_registry:
-
 nameOverride: ""
 fullnameOverride: ""
 
-image:
-  repository: xosproject/vsg-hw-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+vsg_hw_synchronizerImage: "xosproject/vsg-hw-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,35 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: vsg-hw
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - VSGHWService
-    - VSGHWServiceInstance
-    - ServiceInstanceLink
-  dependency_graph: "/opt/xos/synchronizers/vsg-hw/model-deps"
-  steps_dir: "/opt/xos/synchronizers/vsg-hw/steps"
-  model_policies_dir: "/opt/xos/synchronizers/vsg-hw/model_policies"
-  sys_dir: "/opt/xos/synchronizers/vsg-hw/sys"
-  models_dir: "/opt/xos/synchronizers/vsg-hw/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
diff --git a/xos-services/vtn-service/templates/_helpers.tpl b/xos-services/vtn-service/templates/_helpers.tpl
index 97456ba..8860c56 100644
--- a/xos-services/vtn-service/templates/_helpers.tpl
+++ b/xos-services/vtn-service/templates/_helpers.tpl
@@ -45,3 +45,41 @@
 {{- define "vtn.chart" -}}
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
+
+{{- define "vtn.serviceConfig" -}}
+name: vtn
+accessor:
+  username: {{ .Values.xosAdminUser | quote }}
+  password: {{ .Values.xosAdminPassword | quote }}
+  endpoint: xos-core:50051
+required_models:
+  - AddressPool
+  - Controller
+  - Network
+  - Node
+  - Port
+  - Service
+  - ServiceInstance
+  - Tag
+  - VTNService
+dependency_graph: "/opt/xos/synchronizers/vtn/model-deps"
+models_dir: "/opt/xos/synchronizers/vtn/models"
+sys_dir: "/opt/xos/synchronizers/vtn/sys"
+steps_dir: "/opt/xos/synchronizers/vtn/steps"
+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/vtn-service/templates/configmap.yaml b/xos-services/vtn-service/templates/configmap.yaml
index b073e78..4349407 100644
--- a/xos-services/vtn-service/templates/configmap.yaml
+++ b/xos-services/vtn-service/templates/configmap.yaml
@@ -20,4 +20,4 @@
   name: vtn
 data:
   serviceConfig: |
-{{ toYaml .Values.serviceConfig | indent 4 }}
+{{ include "vtn.serviceConfig" . | indent 4 }}
diff --git a/xos-services/vtn-service/templates/deployment.yaml b/xos-services/vtn-service/templates/deployment.yaml
index d75808b..2b8c37f 100644
--- a/xos-services/vtn-service/templates/deployment.yaml
+++ b/xos-services/vtn-service/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.vtn_synchronizerImage | quote }}
+          imagePullPolicy: {{ .Values.imagePullPolicy }}
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
             - name: vtn-config
               mountPath: /opt/xos/synchronizers/vtn/vtn_config.yaml
               subPath: vtn_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: vtn-config
           configMap:
@@ -56,9 +57,12 @@
             items:
               - key: serviceConfig
                 path: vtn_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/vtn-service/values.yaml b/xos-services/vtn-service/values.yaml
index 385a4ef..a0fb60e 100644
--- a/xos-services/vtn-service/values.yaml
+++ b/xos-services/vtn-service/values.yaml
@@ -1,5 +1,4 @@
 ---
-
 # Copyright 2018-present Open Networking Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,21 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default values for exampleservice.
+# Default values for TTN
 # This is a YAML-formatted file.
 # Declare variables to be passed into your templates.
 
 replicaCount: 1
 
-pull_docker_registry:
-
 nameOverride: ""
 fullnameOverride: ""
 
-image:
-  repository: xosproject/vtn-synchronizer
-  tag: master
-  pullPolicy: IfNotPresent
+imagePullPolicy: 'IfNotPresent'
+
+vtn_synchronizerImage: "xosproject/vtn-synchronizer:master"
+
+xosAdminUser: "admin@opencord.org"
+xosAdminPassword: "letmein"
 
 resources: {}
 
@@ -37,40 +36,3 @@
 tolerations: []
 
 affinity: {}
-
-serviceConfig:
-  name: vtn
-  accessor:
-    username: admin@opencord.org
-    password: letmein
-    endpoint: xos-core:50051
-  required_models:
-    - AddressPool
-    - Controller
-    - Network
-    - Node
-    - Port
-    - Service
-    - ServiceInstance
-    - Tag
-    - VTNService
-  dependency_graph: "/opt/xos/synchronizers/vtn/model-deps"
-  models_dir: "/opt/xos/synchronizers/vtn/models"
-  sys_dir: "/opt/xos/synchronizers/vtn/sys"
-  steps_dir: "/opt/xos/synchronizers/vtn/steps"
-  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
diff --git a/xos-tools/xossh/templates/deployment.yaml b/xos-tools/xossh/templates/deployment.yaml
index 817a696..635e408 100644
--- a/xos-tools/xossh/templates/deployment.yaml
+++ b/xos-tools/xossh/templates/deployment.yaml
@@ -51,12 +51,16 @@
           resources:
 {{ toYaml .Values.resources | indent 12 }}
           volumeMounts:
-            - 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: 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 }}