[CDS] Uses new tpls for repos / images

This commit makes CDS chart to use the new generator for repositories and
images.
As new templates doesn't work well with "sub charts", we move also
subcharts to components folder.

Issue-ID: OOM-2364
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: I8156c8b568054b7eacf333196d877e12f7a52216
diff --git a/kubernetes/cds/Makefile b/kubernetes/cds/Makefile
new file mode 100644
index 0000000..4c79718
--- /dev/null
+++ b/kubernetes/cds/Makefile
@@ -0,0 +1,51 @@
+# Copyright © 2020 Samsung Electronics
+#
+# 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.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+	@echo "\n[$@]"
+	@make package-$@
+
+make-%:
+	@if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+	@if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+	@if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+	@mkdir -p $(PACKAGE_DIR)
+	@if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+	@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+	@rm -f */requirements.lock
+	@rm -f *tgz */charts/*tgz
+	@rm -rf $(PACKAGE_DIR)
+%:
+	@:
diff --git a/kubernetes/cds/charts/cds-sdc-listener/requirements.yaml b/kubernetes/cds/charts/cds-sdc-listener/requirements.yaml
deleted file mode 100755
index b33ac70..0000000
--- a/kubernetes/cds/charts/cds-sdc-listener/requirements.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2019 Bell Canada
-#
-# 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.
-
-dependencies:
-  - name: common
-    version: ~6.x-0
-    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/cds-ui/requirements.yaml b/kubernetes/cds/charts/cds-ui/requirements.yaml
deleted file mode 100644
index b33ac70..0000000
--- a/kubernetes/cds/charts/cds-ui/requirements.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2019 Bell Canada
-#
-# 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.
-
-dependencies:
-  - name: common
-    version: ~6.x-0
-    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/components/Makefile b/kubernetes/cds/components/Makefile
new file mode 100644
index 0000000..f2e7a1f
--- /dev/null
+++ b/kubernetes/cds/components/Makefile
@@ -0,0 +1,51 @@
+# Copyright © 2020 Samsung Electronics
+#
+# 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.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := soHelpers
+HELM_BIN := helm
+HELM_CHARTS := soHelpers $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+	@echo "\n[$@]"
+	@make package-$@
+
+make-%:
+	@if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+	@if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+	@if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+	@mkdir -p $(PACKAGE_DIR)
+	@if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+	@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+	@rm -f */requirements.lock
+	@rm -f *tgz */charts/*tgz
+	@rm -rf $(PACKAGE_DIR)
+%:
+	@:
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/Chart.yaml b/kubernetes/cds/components/cds-blueprints-processor/Chart.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/Chart.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/Chart.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/requirements.yaml b/kubernetes/cds/components/cds-blueprints-processor/requirements.yaml
similarity index 89%
rename from kubernetes/cds/charts/cds-blueprints-processor/requirements.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/requirements.yaml
index 72e8b3c..b3805c7 100755
--- a/kubernetes/cds/charts/cds-blueprints-processor/requirements.yaml
+++ b/kubernetes/cds/components/cds-blueprints-processor/requirements.yaml
@@ -15,4 +15,7 @@
 dependencies:
   - name: common
     version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
     repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/resources/config/ONAP_RootCA.cer b/kubernetes/cds/components/cds-blueprints-processor/resources/config/ONAP_RootCA.cer
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/resources/config/ONAP_RootCA.cer
rename to kubernetes/cds/components/cds-blueprints-processor/resources/config/ONAP_RootCA.cer
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/resources/config/application.properties b/kubernetes/cds/components/cds-blueprints-processor/resources/config/application.properties
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/resources/config/application.properties
rename to kubernetes/cds/components/cds-blueprints-processor/resources/config/application.properties
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/resources/config/error-messages_en.properties b/kubernetes/cds/components/cds-blueprints-processor/resources/config/error-messages_en.properties
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/resources/config/error-messages_en.properties
rename to kubernetes/cds/components/cds-blueprints-processor/resources/config/error-messages_en.properties
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/resources/config/hazelcast.yaml b/kubernetes/cds/components/cds-blueprints-processor/resources/config/hazelcast.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/resources/config/hazelcast.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/resources/config/hazelcast.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/resources/config/logback.xml b/kubernetes/cds/components/cds-blueprints-processor/resources/config/logback.xml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/resources/config/logback.xml
rename to kubernetes/cds/components/cds-blueprints-processor/resources/config/logback.xml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/configmap.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/configmap.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/configmap.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/configmap.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/deployment.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml
similarity index 96%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/deployment.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml
index c26d17e..f321e54 100755
--- a/kubernetes/cds/charts/cds-blueprints-processor/templates/deployment.yaml
+++ b/kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml
@@ -69,7 +69,7 @@
           subPath: application.properties
         - mountPath: /config
           name: processed-config
-        image: "{{ .Values.global.envsubstImage }}"
+        image: {{ include "repositoryGenerator.image.envsubst" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-update-config
 
@@ -88,7 +88,7 @@
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
-        image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
+        image: {{ include "repositoryGenerator.image.readiness" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
       - name: fix-permission
@@ -97,14 +97,14 @@
         - -R
         - 1000:1000
         - /opt/app/onap/blueprints/deploy
-        image: busybox:latest
+        image: {{ include "repositoryGenerator.image.busybox" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - mountPath: {{ .Values.persistence.deployedBlueprint }}
           name: {{ include "common.fullname" . }}-blueprints
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           env:
           - name: APP_CONFIG_HOME
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/ingress.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/ingress.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/ingress.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/ingress.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/pv.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/pv.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/pv.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/pv.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/pvc.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/pvc.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/pvc.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/pvc.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/secrets.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/secrets.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/secrets.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/secrets.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/templates/service.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/service.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-blueprints-processor/templates/service.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/templates/service.yaml
diff --git a/kubernetes/cds/charts/cds-blueprints-processor/values.yaml b/kubernetes/cds/components/cds-blueprints-processor/values.yaml
similarity index 94%
rename from kubernetes/cds/charts/cds-blueprints-processor/values.yaml
rename to kubernetes/cds/components/cds-blueprints-processor/values.yaml
index 6c5dfbb..629b825 100755
--- a/kubernetes/cds/charts/cds-blueprints-processor/values.yaml
+++ b/kubernetes/cds/components/cds-blueprints-processor/values.yaml
@@ -21,21 +21,12 @@
   # with other instances running within the same k8s cluster
   nodePortPrefixExt: 304
 
-  # image repositories
-  repository: nexus3.onap.org:10001
-
-  # readiness check
-  readinessImage: onap/oom/readiness:3.0.1
-
   # image pull policy
   pullPolicy: Always
 
   persistence:
     mountPath: /dockerdata-nfs
 
-  # envsusbt
-  envsubstImage: dibi/envsubst
-
   #This configuration specifies Service and port for SDNC OAM interface
   sdncOamService: sdnc-oam
   sdncOamPort: 8282
@@ -60,7 +51,6 @@
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/ccsdk-blueprintsprocessor:1.0.3
 pullPolicy: Always
 
@@ -81,8 +71,8 @@
     dbServer: cds-db
     dbPort: 3306
     dbName: sdnctl
-    # dbUser: sdnctl
-    # dbPassword: sdnctl
+    dbUser: sdnctl
+    dbPassword: sdnctl
     # dbCredsExternalSecret: <some secret name>
     # dbRootPassword: password
     # dbRootPassExternalSecret
diff --git a/kubernetes/cds/charts/cds-command-executor/Chart.yaml b/kubernetes/cds/components/cds-command-executor/Chart.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-command-executor/Chart.yaml
rename to kubernetes/cds/components/cds-command-executor/Chart.yaml
diff --git a/kubernetes/cds/charts/cds-command-executor/requirements.yaml b/kubernetes/cds/components/cds-command-executor/requirements.yaml
similarity index 89%
rename from kubernetes/cds/charts/cds-command-executor/requirements.yaml
rename to kubernetes/cds/components/cds-command-executor/requirements.yaml
index b33ac70..7a0e74b 100755
--- a/kubernetes/cds/charts/cds-command-executor/requirements.yaml
+++ b/kubernetes/cds/components/cds-command-executor/requirements.yaml
@@ -15,4 +15,7 @@
 dependencies:
   - name: common
     version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
     repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/cds-command-executor/templates/deployment.yaml b/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml
similarity index 95%
rename from kubernetes/cds/charts/cds-command-executor/templates/deployment.yaml
rename to kubernetes/cds/components/cds-command-executor/templates/deployment.yaml
index 053e886..40238c2 100755
--- a/kubernetes/cds/charts/cds-command-executor/templates/deployment.yaml
+++ b/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml
@@ -47,12 +47,12 @@
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
-        image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
+        image: {{ include "repositoryGenerator.image.readiness" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.grpc.internalPort }}
diff --git a/kubernetes/cds/charts/cds-command-executor/templates/service.yaml b/kubernetes/cds/components/cds-command-executor/templates/service.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-command-executor/templates/service.yaml
rename to kubernetes/cds/components/cds-command-executor/templates/service.yaml
diff --git a/kubernetes/cds/charts/cds-command-executor/values.yaml b/kubernetes/cds/components/cds-command-executor/values.yaml
similarity index 93%
rename from kubernetes/cds/charts/cds-command-executor/values.yaml
rename to kubernetes/cds/components/cds-command-executor/values.yaml
index f7dc4cf..c9e4354 100755
--- a/kubernetes/cds/charts/cds-command-executor/values.yaml
+++ b/kubernetes/cds/components/cds-command-executor/values.yaml
@@ -22,12 +22,6 @@
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
 
-  # image repositories
-  repository: nexus3.onap.org:10001
-
-  # readiness check
-  readinessImage: onap/oom/readiness:3.0.1
-
   # image pull policy
   pullPolicy: Always
 
@@ -38,7 +32,6 @@
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/ccsdk-commandexecutor:1.0.3
 pullPolicy: Always
 
diff --git a/kubernetes/cds/charts/cds-py-executor/Chart.yaml b/kubernetes/cds/components/cds-py-executor/Chart.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-py-executor/Chart.yaml
rename to kubernetes/cds/components/cds-py-executor/Chart.yaml
diff --git a/kubernetes/cds/charts/cds-py-executor/requirements.yaml b/kubernetes/cds/components/cds-py-executor/requirements.yaml
similarity index 89%
rename from kubernetes/cds/charts/cds-py-executor/requirements.yaml
rename to kubernetes/cds/components/cds-py-executor/requirements.yaml
index 676fe8f..722ecad 100755
--- a/kubernetes/cds/charts/cds-py-executor/requirements.yaml
+++ b/kubernetes/cds/components/cds-py-executor/requirements.yaml
@@ -15,4 +15,7 @@
 dependencies:
   - name: common
     version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
     repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/cds-py-executor/templates/deployment.yaml b/kubernetes/cds/components/cds-py-executor/templates/deployment.yaml
similarity index 97%
rename from kubernetes/cds/charts/cds-py-executor/templates/deployment.yaml
rename to kubernetes/cds/components/cds-py-executor/templates/deployment.yaml
index 352b3cf..d7b2959 100755
--- a/kubernetes/cds/charts/cds-py-executor/templates/deployment.yaml
+++ b/kubernetes/cds/components/cds-py-executor/templates/deployment.yaml
@@ -25,7 +25,7 @@
     spec:
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           command:
             - bash
           args:
diff --git a/kubernetes/cds/charts/cds-py-executor/templates/secret.yaml b/kubernetes/cds/components/cds-py-executor/templates/secret.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-py-executor/templates/secret.yaml
rename to kubernetes/cds/components/cds-py-executor/templates/secret.yaml
diff --git a/kubernetes/cds/charts/cds-py-executor/templates/service.yaml b/kubernetes/cds/components/cds-py-executor/templates/service.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-py-executor/templates/service.yaml
rename to kubernetes/cds/components/cds-py-executor/templates/service.yaml
diff --git a/kubernetes/cds/charts/cds-py-executor/values.yaml b/kubernetes/cds/components/cds-py-executor/values.yaml
similarity index 94%
rename from kubernetes/cds/charts/cds-py-executor/values.yaml
rename to kubernetes/cds/components/cds-py-executor/values.yaml
index 5bff0be..8941909 100755
--- a/kubernetes/cds/charts/cds-py-executor/values.yaml
+++ b/kubernetes/cds/components/cds-py-executor/values.yaml
@@ -20,12 +20,6 @@
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
 
-  # image repositories
-  repository: nexus3.onap.org:10001
-
-  # readiness check
-  readinessImage: onap/oom/readiness:3.0.1
-
   # image pull policy
   pullPolicy: Always
 
@@ -36,7 +30,6 @@
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/ccsdk-py-executor:1.0.3
 pullPolicy: Always
 
diff --git a/kubernetes/cds/charts/cds-sdc-listener/Chart.yaml b/kubernetes/cds/components/cds-sdc-listener/Chart.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-sdc-listener/Chart.yaml
rename to kubernetes/cds/components/cds-sdc-listener/Chart.yaml
diff --git a/kubernetes/cds/charts/cds-command-executor/requirements.yaml b/kubernetes/cds/components/cds-sdc-listener/requirements.yaml
similarity index 89%
copy from kubernetes/cds/charts/cds-command-executor/requirements.yaml
copy to kubernetes/cds/components/cds-sdc-listener/requirements.yaml
index b33ac70..7a0e74b 100755
--- a/kubernetes/cds/charts/cds-command-executor/requirements.yaml
+++ b/kubernetes/cds/components/cds-sdc-listener/requirements.yaml
@@ -15,4 +15,7 @@
 dependencies:
   - name: common
     version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
     repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/cds-sdc-listener/resources/config/application.yaml b/kubernetes/cds/components/cds-sdc-listener/resources/config/application.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-sdc-listener/resources/config/application.yaml
rename to kubernetes/cds/components/cds-sdc-listener/resources/config/application.yaml
diff --git a/kubernetes/cds/charts/cds-sdc-listener/resources/config/logback.xml b/kubernetes/cds/components/cds-sdc-listener/resources/config/logback.xml
similarity index 100%
rename from kubernetes/cds/charts/cds-sdc-listener/resources/config/logback.xml
rename to kubernetes/cds/components/cds-sdc-listener/resources/config/logback.xml
diff --git a/kubernetes/cds/charts/cds-sdc-listener/templates/configmap.yaml b/kubernetes/cds/components/cds-sdc-listener/templates/configmap.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-sdc-listener/templates/configmap.yaml
rename to kubernetes/cds/components/cds-sdc-listener/templates/configmap.yaml
diff --git a/kubernetes/cds/charts/cds-sdc-listener/templates/deployment.yaml b/kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml
similarity index 95%
rename from kubernetes/cds/charts/cds-sdc-listener/templates/deployment.yaml
rename to kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml
index ab544f0..7dca49c 100644
--- a/kubernetes/cds/charts/cds-sdc-listener/templates/deployment.yaml
+++ b/kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml
@@ -51,12 +51,12 @@
               fieldRef:
                 apiVersion: v1
                 fieldPath: metadata.namespace
-          image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
+          image: {{ include "repositoryGenerator.image.readiness" . }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           env:
           - name: APP_CONFIG_HOME
diff --git a/kubernetes/cds/charts/cds-sdc-listener/templates/service.yaml b/kubernetes/cds/components/cds-sdc-listener/templates/service.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-sdc-listener/templates/service.yaml
rename to kubernetes/cds/components/cds-sdc-listener/templates/service.yaml
diff --git a/kubernetes/cds/charts/cds-sdc-listener/values.yaml b/kubernetes/cds/components/cds-sdc-listener/values.yaml
similarity index 93%
rename from kubernetes/cds/charts/cds-sdc-listener/values.yaml
rename to kubernetes/cds/components/cds-sdc-listener/values.yaml
index c830d1d..105e634 100644
--- a/kubernetes/cds/charts/cds-sdc-listener/values.yaml
+++ b/kubernetes/cds/components/cds-sdc-listener/values.yaml
@@ -19,12 +19,6 @@
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
 
-  # image repositories
-  repository: nexus3.onap.org:10001
-
-  # readiness check
-  readinessImage: onap/oom/readiness:3.0.1
-
   # image pull policy
   pullPolicy: Always
 
@@ -35,7 +29,6 @@
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/ccsdk-sdclistener:1.0.3
 name: sdc-listener
 pullPolicy: Always
diff --git a/kubernetes/cds/charts/cds-ui/Chart.yaml b/kubernetes/cds/components/cds-ui/Chart.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-ui/Chart.yaml
rename to kubernetes/cds/components/cds-ui/Chart.yaml
diff --git a/kubernetes/cds/charts/cds-command-executor/requirements.yaml b/kubernetes/cds/components/cds-ui/requirements.yaml
old mode 100755
new mode 100644
similarity index 89%
copy from kubernetes/cds/charts/cds-command-executor/requirements.yaml
copy to kubernetes/cds/components/cds-ui/requirements.yaml
index b33ac70..7a0e74b
--- a/kubernetes/cds/charts/cds-command-executor/requirements.yaml
+++ b/kubernetes/cds/components/cds-ui/requirements.yaml
@@ -15,4 +15,7 @@
 dependencies:
   - name: common
     version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
     repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/cds-ui/templates/deployment.yaml b/kubernetes/cds/components/cds-ui/templates/deployment.yaml
similarity index 97%
rename from kubernetes/cds/charts/cds-ui/templates/deployment.yaml
rename to kubernetes/cds/components/cds-ui/templates/deployment.yaml
index 4d3d834..1c88f56 100644
--- a/kubernetes/cds/charts/cds-ui/templates/deployment.yaml
+++ b/kubernetes/cds/components/cds-ui/templates/deployment.yaml
@@ -39,7 +39,7 @@
     spec:
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
             - containerPort: {{ .Values.service.internalPort }}
diff --git a/kubernetes/cds/charts/cds-ui/templates/ingress.yaml b/kubernetes/cds/components/cds-ui/templates/ingress.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-ui/templates/ingress.yaml
rename to kubernetes/cds/components/cds-ui/templates/ingress.yaml
diff --git a/kubernetes/cds/charts/cds-ui/templates/service.yaml b/kubernetes/cds/components/cds-ui/templates/service.yaml
similarity index 100%
rename from kubernetes/cds/charts/cds-ui/templates/service.yaml
rename to kubernetes/cds/components/cds-ui/templates/service.yaml
diff --git a/kubernetes/cds/charts/cds-ui/values.yaml b/kubernetes/cds/components/cds-ui/values.yaml
similarity index 95%
rename from kubernetes/cds/charts/cds-ui/values.yaml
rename to kubernetes/cds/components/cds-ui/values.yaml
index 496aa85..1c7f628 100644
--- a/kubernetes/cds/charts/cds-ui/values.yaml
+++ b/kubernetes/cds/components/cds-ui/values.yaml
@@ -18,14 +18,11 @@
 #################################################################
 global:
   nodePortPrefixExt: 304
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
 
 subChartsOnly:
   enabled: true
 
 # application image
-repository: nexus3.onap.org:10001
 image: onap/ccsdk-cds-ui-server:1.0.3
 pullPolicy: Always
 
diff --git a/kubernetes/cds/requirements.yaml b/kubernetes/cds/requirements.yaml
index eafe110..122e403 100644
--- a/kubernetes/cds/requirements.yaml
+++ b/kubernetes/cds/requirements.yaml
@@ -19,4 +19,24 @@
     repository: '@local'
   - name: mariadb-galera
     version: ~6.x-0
-    repository: '@local'
\ No newline at end of file
+    repository: '@local'
+  - name: cds-blueprints-processor
+    version: ~6.x-0
+    repository: 'file://components/cds-blueprints-processor'
+    condition: cds-blueprints-processor.enabled
+  - name: cds-blueprints-processor
+    version: ~6.x-0
+    repository: 'file://components/cds-command-executor'
+    condition: cds-command-executor.enabled
+  - name: cds-py-executor
+    version: ~6.x-0
+    repository: 'file://components/cds-py-executor'
+    condition: cds-py-executor.enabled
+  - name: cds-sdc-listener
+    version: ~6.x-0
+    repository: 'file://components/cds-sdc-listener'
+    condition: cds-sdc-listener.enabled
+  - name: cds-ui
+    version: ~6.x-0
+    repository: 'file://components/cds-ui'
+    condition: cds-ui.enabled
\ No newline at end of file
diff --git a/kubernetes/cds/values.yaml b/kubernetes/cds/values.yaml
index e5e7b83..0b7403e 100644
--- a/kubernetes/cds/values.yaml
+++ b/kubernetes/cds/values.yaml
@@ -20,10 +20,6 @@
 global:
   nodePortPrefix: 302
   nodePortPrefixExt: 304
-  repository: nexus3.onap.org:10001
-  readinessImage: onap/oom/readiness:3.0.1
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
   persistence:
     mountPath: /dockerdata-nfs
 
@@ -42,7 +38,6 @@
 # Application configuration defaults.
 #################################################################
 # application images
-repository: nexus3.onap.org:10001
 pullPolicy: Always
 
 
@@ -91,6 +86,7 @@
     mountSubPath: cds/data
 
 cds-blueprints-processor:
+  enabled: true
   config:
     cdsDB:
       dbServer: *dbServer
@@ -98,6 +94,19 @@
       dbName: *mysqlDbName
       dbCredsExternalSecret: *dbUserSecretName
 
+cds-command-executor:
+  enabled: true
+
+cds-py-executor:
+  enabled: true
+
+cds-sdc-listener:
+  enabled: true
+
+cds-ui:
+  enabled: true
+
+
 #Resource Limit flavor -By Default using small
 flavor: small
 #segregation for different envionment (Small and Large)