[MULTICLOUD] Uses new tpls for repos / images 52/115252/2
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Sat, 21 Nov 2020 21:46:57 +0000 (22:46 +0100)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Mon, 23 Nov 2020 16:39:23 +0000 (17:39 +0100)
This commit makes Multicloud 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: I34049a733bddc6faf7a68e4c768c447b6c2e34b1

99 files changed:
kubernetes/multicloud/Makefile
kubernetes/multicloud/charts/multicloud-starlingx/templates/deployment.yaml [deleted file]
kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml [deleted file]
kubernetes/multicloud/components/Makefile [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-azure/.helmignore [moved from kubernetes/multicloud/charts/multicloud-azure/.helmignore with 100% similarity]
kubernetes/multicloud/components/multicloud-azure/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-azure/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-azure/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-azure/resources/config/log/log.yml [moved from kubernetes/multicloud/charts/multicloud-azure/resources/config/log/log.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-azure/templates/NOTES.txt [moved from kubernetes/multicloud/charts/multicloud-azure/templates/NOTES.txt with 100% similarity]
kubernetes/multicloud/components/multicloud-azure/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-azure/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-azure/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-azure/templates/deployment.yaml with 96% similarity]
kubernetes/multicloud/components/multicloud-azure/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-azure/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-azure/values.yaml [moved from kubernetes/multicloud/charts/multicloud-azure/values.yaml with 98% similarity]
kubernetes/multicloud/components/multicloud-fcaps/.helmignore [moved from kubernetes/multicloud/charts/multicloud-fcaps/.helmignore with 100% similarity]
kubernetes/multicloud/components/multicloud-fcaps/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-fcaps/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-fcaps/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-fcaps/resources/config/log/log.yml [moved from kubernetes/multicloud/charts/multicloud-fcaps/resources/config/log/log.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-fcaps/templates/NOTES.txt [moved from kubernetes/multicloud/charts/multicloud-fcaps/templates/NOTES.txt with 100% similarity]
kubernetes/multicloud/components/multicloud-fcaps/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-fcaps/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-fcaps/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-fcaps/templates/deployment.yaml with 94% similarity]
kubernetes/multicloud/components/multicloud-fcaps/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-fcaps/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-fcaps/values.yaml [moved from kubernetes/multicloud/charts/multicloud-fcaps/values.yaml with 98% similarity]
kubernetes/multicloud/components/multicloud-k8s/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-k8s/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-k8s/requirements.yaml [moved from kubernetes/multicloud/charts/multicloud-k8s/requirements.yaml with 92% similarity]
kubernetes/multicloud/components/multicloud-k8s/resources/config/config.json [moved from kubernetes/multicloud/charts/multicloud-k8s/resources/config/config.json with 100% similarity]
kubernetes/multicloud/components/multicloud-k8s/resources/config/k8sconfig.json [moved from kubernetes/multicloud/charts/multicloud-k8s/resources/config/k8sconfig.json with 100% similarity]
kubernetes/multicloud/components/multicloud-k8s/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-k8s/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-k8s/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-k8s/templates/deployment.yaml with 94% similarity]
kubernetes/multicloud/components/multicloud-k8s/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-k8s/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-k8s/values.yaml [moved from kubernetes/multicloud/charts/multicloud-k8s/values.yaml with 95% similarity]
kubernetes/multicloud/components/multicloud-pike/.helmignore [moved from kubernetes/multicloud/charts/multicloud-pike/.helmignore with 100% similarity]
kubernetes/multicloud/components/multicloud-pike/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-pike/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-pike/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-pike/resources/config/log/log.yml [moved from kubernetes/multicloud/charts/multicloud-pike/resources/config/log/log.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-pike/templates/NOTES.txt [moved from kubernetes/multicloud/charts/multicloud-pike/templates/NOTES.txt with 100% similarity]
kubernetes/multicloud/components/multicloud-pike/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-pike/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-pike/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-pike/templates/deployment.yaml with 96% similarity]
kubernetes/multicloud/components/multicloud-pike/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-pike/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-pike/values.yaml [moved from kubernetes/multicloud/charts/multicloud-pike/values.yaml with 98% similarity]
kubernetes/multicloud/components/multicloud-prometheus/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/resources/config/alertmanager.yml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/resources/config/alertmanager.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/templates/deployment.yaml with 92% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/templates/pv.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/templates/pv.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/templates/pvc.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/templates/pvc.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-alertmanager/values.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/values.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/resources/config/grafana.ini [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/resources/config/grafana.ini with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/templates/deployment.yaml with 94% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/templates/pv.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/templates/pv.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/templates/pvc.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/templates/pvc.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/charts/prometheus-grafana/values.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/values.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-prometheus/resources/config/prometheus.yml [moved from kubernetes/multicloud/charts/multicloud-prometheus/resources/config/prometheus.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-prometheus/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/templates/configmap.yaml with 94% similarity]
kubernetes/multicloud/components/multicloud-prometheus/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/templates/deployment.yaml with 92% similarity]
kubernetes/multicloud/components/multicloud-prometheus/templates/pv.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/templates/pv.yaml with 96% similarity]
kubernetes/multicloud/components/multicloud-prometheus/templates/pvc.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/templates/pvc.yaml with 95% similarity]
kubernetes/multicloud/components/multicloud-prometheus/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/templates/service.yaml with 93% similarity]
kubernetes/multicloud/components/multicloud-prometheus/values.yaml [moved from kubernetes/multicloud/charts/multicloud-prometheus/values.yaml with 92% similarity]
kubernetes/multicloud/components/multicloud-starlingx/.helmignore [moved from kubernetes/multicloud/charts/multicloud-starlingx/.helmignore with 100% similarity]
kubernetes/multicloud/components/multicloud-starlingx/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-starlingx/Chart.yaml with 97% similarity]
kubernetes/multicloud/components/multicloud-starlingx/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-starlingx/resources/config/log/config.json [moved from kubernetes/multicloud/charts/multicloud-starlingx/resources/config/log/config.json with 100% similarity]
kubernetes/multicloud/components/multicloud-starlingx/resources/config/log/log.yml [moved from kubernetes/multicloud/charts/multicloud-starlingx/resources/config/log/log.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-starlingx/templates/NOTES.txt [moved from kubernetes/multicloud/charts/multicloud-starlingx/templates/NOTES.txt with 100% similarity]
kubernetes/multicloud/components/multicloud-starlingx/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-starlingx/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-starlingx/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-starlingx/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-starlingx/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-starlingx/values.yaml [moved from kubernetes/multicloud/charts/multicloud-starlingx/values.yaml with 97% similarity]
kubernetes/multicloud/components/multicloud-vio/.helmignore [moved from kubernetes/multicloud/charts/multicloud-vio/.helmignore with 100% similarity]
kubernetes/multicloud/components/multicloud-vio/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-vio/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-vio/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-vio/resources/config/log/log.yml [moved from kubernetes/multicloud/charts/multicloud-vio/resources/config/log/log.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-vio/templates/NOTES.txt [moved from kubernetes/multicloud/charts/multicloud-vio/templates/NOTES.txt with 100% similarity]
kubernetes/multicloud/components/multicloud-vio/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-vio/templates/deployment.yaml [moved from kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml with 96% similarity]
kubernetes/multicloud/components/multicloud-vio/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-vio/values.yaml [moved from kubernetes/multicloud/charts/multicloud-vio/values.yaml with 98% similarity]
kubernetes/multicloud/components/multicloud-windriver/.helmignore [moved from kubernetes/multicloud/charts/multicloud-windriver/.helmignore with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/Chart.yaml [moved from kubernetes/multicloud/charts/multicloud-windriver/Chart.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-windriver/resources/config/log/config.json [moved from kubernetes/multicloud/charts/multicloud-windriver/resources/config/log/config.json with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/resources/config/log/log.yml [moved from kubernetes/multicloud/charts/multicloud-windriver/resources/config/log/log.yml with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/resources/config/log/test.txt [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-windriver/templates/NOTES.txt [moved from kubernetes/multicloud/charts/multicloud-windriver/templates/NOTES.txt with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/templates/configmap.yaml [moved from kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/components/multicloud-windriver/templates/pv.yaml [moved from kubernetes/multicloud/charts/multicloud-windriver/templates/pv.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/templates/pvc.yaml [moved from kubernetes/multicloud/charts/multicloud-windriver/templates/pvc.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/templates/service.yaml [moved from kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml with 100% similarity]
kubernetes/multicloud/components/multicloud-windriver/values.yaml [moved from kubernetes/multicloud/charts/multicloud-windriver/values.yaml with 95% similarity]
kubernetes/multicloud/requirements.yaml
kubernetes/multicloud/templates/deployment.yaml
kubernetes/multicloud/values.yaml

index 027e2af..4c79718 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2019 Intel Corporation, Inc
+# 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.
 # 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
 
-make-multicloud: make-multicloud-k8s
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
 
-make-multicloud-k8s:
-       cd charts && $(HELM_BIN) dep up multicloud-k8s && $(HELM_BIN) lint multicloud-k8s
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-starlingx/templates/deployment.yaml
deleted file mode 100644 (file)
index 80e9a97..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-{{/*
-# Copyright (c) 2019 Intel Corporation.
-#
-# 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: apps/v1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ include "common.release" . }}
-      name: {{ include "common.name" . }}
-      annotations:
-        sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
-    spec:
-     containers:
-     - env:
-       - name: MSB_PROTO
-         value: {{ .Values.config.msbprotocol }}
-       - name: MSB_ADDR
-         value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
-       - name: MSB_PORT
-         value: "{{ .Values.config.msbPort }}"
-       - name: AAI_ADDR
-         value: aai.{{ include "common.namespace" . }}
-       - name: AAI_PORT
-         value: "{{ .Values.config.aai.port }}"
-       - name: AAI_SCHEMA_VERSION
-         value: "{{ .Values.config.aai.schemaVersion }}"
-       - name: AAI_USERNAME
-         value: "{{ .Values.config.aai.username }}"
-       - name: AAI_PASSWORD
-         value: "{{ .Values.config.aai.password }}"
-       - name: SSL_ENABLED
-         value: "{{ .Values.config.ssl_enabled }}"
-       name: {{ include "common.name" . }}
-       volumeMounts:
-       - mountPath: /var/log/onap
-         name: starlingx-log
-       - mountPath: /opt/starlingx/starlingx/pub/config/log.yml
-         name: starlingx-logconfig
-         subPath: log.yml
-       - mountPath: /opt/artifacts/
-         name: artifact-data
-       resources:
-{{ include "common.resources" . | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-       ports:
-       - containerPort: {{ .Values.service.internalPort }}
-       # disable liveness probe when breakpoints set in debugger
-       # so K8s doesn't restart unresponsive container
-       {{ if .Values.liveness.enabled }}
-       livenessProbe:
-         httpGet:
-           path: /api/multicloud-starlingx/v0/swagger.json
-           port: {{ .Values.service.internalPort }}
-           scheme: HTTPS
-         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
-         periodSeconds: {{ .Values.liveness.periodSeconds }}
-         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
-         successThreshold: {{ .Values.liveness.successThreshold }}
-         failureThreshold: {{ .Values.liveness.failureThreshold }}
-       {{ end }}
-     # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
-       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-       name: filebeat-onap
-       volumeMounts:
-       - mountPath: /usr/share/filebeat/filebeat.yml
-         name: filebeat-conf
-         subPath: filebeat.yml
-       - mountPath: /var/log/onap
-         name: starlingx-log
-       - mountPath: /usr/share/filebeat/data
-         name: starlingx-data-filebeat
-     - image: "{{ include "common.repository" . }}/{{ .Values.global.artifactImage }}"
-       name: framework-artifactbroker
-       command: ["/opt/app/distribution/bin/artifact-dist.sh"]
-       args: ["/opt/app/distribution/etc/mounted/config.json"]
-       ports:
-       - containerPort: 9014
-         protocol: TCP
-       volumeMounts:
-       - mountPath: /opt/app/distribution/etc/mounted/config.json
-         name: starlingx-logconfig
-         subPath: config.json
-       - mountPath: /data
-         name: artifact-data
-
-     volumes:
-     - name: starlingx-log
-       emptyDir: {}
-     - name: starlingx-data-filebeat
-       emptyDir: {}
-     - name: filebeat-conf
-       configMap:
-         name: multicloud-filebeat-configmap
-     - name: starlingx-logconfig
-       configMap:
-         name: {{ include "common.fullname" . }}-log-configmap
-     - name: artifact-data
-       emptyDir: {}
-     imagePullSecrets:
-     - name: "{{ include "common.namespace" . }}-docker-registry-key"
-     restartPolicy: Always
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml
deleted file mode 100644 (file)
index b6773a5..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
-#
-# 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: apps/v1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ include "common.release" . }}
-      name: {{ include "common.name" . }}
-      annotations:
-        sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
-    spec:
-     initContainers:
-     - command: ["sh", "-c", "chown -R 100:101 /data"]
-       image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.global.ubuntuInitImage }}"
-       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-       name: {{ include "common.name" . }}-init
-       volumeMounts:
-       - mountPath: /data
-         name: artifact-data
-     containers:
-     - env:
-       - name: MSB_PROTO
-         value: {{ .Values.config.msbprotocol }}
-       - name: MSB_ADDR
-         value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
-       - name: MSB_PORT
-         value: "{{ .Values.config.msbPort }}"
-       - name: AAI_ADDR
-         value: aai.{{ include "common.namespace" . }}
-       - name: AAI_PORT
-         value: "{{ .Values.config.aai.port }}"
-       - name: AAI_SCHEMA_VERSION
-         value: "{{ .Values.config.aai.schemaVersion }}"
-       - name: AAI_USERNAME
-         value: "{{ .Values.config.aai.username }}"
-       - name: AAI_PASSWORD
-         value: "{{ .Values.config.aai.password }}"
-       - name: SSL_ENABLED
-         value: "{{ .Values.config.ssl_enabled }}"
-       name: {{ include "common.name" . }}
-       volumeMounts:
-       - mountPath: /var/log/onap
-         name: windriver-log
-       - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
-         name: windriver-logconfig
-         subPath: log.yml
-       - mountPath: /opt/artifacts/
-         name: artifact-data
-       resources:
-{{ include "common.resources" . | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-       ports:
-       - containerPort: {{ .Values.service.internalPort }}
-       # disable liveness probe when breakpoints set in debugger
-       # so K8s doesn't restart unresponsive container
-       {{ if .Values.liveness.enabled }}
-       livenessProbe:
-         httpGet:
-           path: /api/multicloud-titaniumcloud/v1/swagger.json
-           port: {{ .Values.service.internalPort }}
-           scheme: HTTPS
-         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
-         periodSeconds: {{ .Values.liveness.periodSeconds }}
-         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
-         successThreshold: {{ .Values.liveness.successThreshold }}
-         failureThreshold: {{ .Values.liveness.failureThreshold }}
-       {{ end }}
-     # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
-       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-       name: filebeat-onap
-       volumeMounts:
-       - mountPath: /usr/share/filebeat/filebeat.yml
-         name: filebeat-conf
-         subPath: filebeat.yml
-       - mountPath: /var/log/onap
-         name: windriver-log
-       - mountPath: /usr/share/filebeat/data
-         name: windriver-data-filebeat
-     - image: "{{ include "common.repository" . }}/{{ .Values.global.artifactImage }}"
-       name: framework-artifactbroker
-       command: ["/opt/app/distribution/bin/artifact-dist.sh"]
-       args: ["/opt/app/distribution/etc/mounted/config.json"]
-       ports:
-       - containerPort: 9014
-         protocol: TCP
-       volumeMounts:
-       - mountPath: /opt/app/distribution/etc/mounted/config.json
-         name: windriver-logconfig
-         subPath: config.json
-       - mountPath: /data
-         name: artifact-data
-
-     volumes:
-     - name: windriver-log
-       emptyDir: {}
-     - name: windriver-data-filebeat
-       emptyDir: {}
-     - name: filebeat-conf
-       configMap:
-         name: multicloud-filebeat-configmap
-     - name: windriver-logconfig
-       configMap:
-         name: {{ include "common.fullname" . }}-log-configmap
-     - name: artifact-data
-     {{- if .Values.persistence.enabled }}
-       persistentVolumeClaim:
-         claimName: {{ include "common.fullname" . }}
-     {{- else }}
-       emptyDir: {}
-     {{- end }}
-     imagePullSecrets:
-     - name: "{{ include "common.namespace" . }}-docker-registry-key"
-     restartPolicy: Always
diff --git a/kubernetes/multicloud/components/Makefile b/kubernetes/multicloud/components/Makefile
new file mode 100644 (file)
index 0000000..f2e7a1f
--- /dev/null
@@ -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/multicloud/components/multicloud-azure/requirements.yaml b/kubernetes/multicloud/components/multicloud-azure/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
@@ -64,7 +64,7 @@ spec:
          subPath: log.yml
        resources:
 {{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+       image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
        - containerPort: {{ .Values.service.internalPort }}
@@ -83,7 +83,7 @@ spec:
          failureThreshold: {{ .Values.liveness.failureThreshold }}
        {{ end -}}
        # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+     - image: {{ include "repositoryGenerator.image.logging" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: filebeat-onap
        volumeMounts:
@@ -23,7 +23,6 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/azure:1.2.4
 pullPolicy: Always
 
diff --git a/kubernetes/multicloud/components/multicloud-fcaps/requirements.yaml b/kubernetes/multicloud/components/multicloud-fcaps/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
@@ -67,7 +67,7 @@ spec:
          subPath: log.yml
        resources:
 {{ include "common.resources" . | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+       image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
        - containerPort: {{ .Values.service.internalPort }}
@@ -86,7 +86,7 @@ spec:
          failureThreshold: {{ .Values.liveness.failureThreshold }}
        {{ end }}
      # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+     - image: {{ include "repositoryGenerator.image.logging" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: filebeat-onap
        volumeMounts:
@@ -97,7 +97,7 @@ spec:
          name: fcaps-log
        - mountPath: /usr/share/filebeat/data
          name: fcaps-data-filebeat
-     - image: {{ .Values.rabbitmq }}
+     - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.rabbitmq }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: rabbit-mq
 
@@ -22,7 +22,6 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/openstack-fcaps:1.5.5
 pullPolicy: Always
 
@@ -25,3 +25,6 @@ dependencies:
   - name: etcd
     version: ~6.x-0
     repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
@@ -36,7 +36,7 @@ spec:
         release: {{ include "common.release" . }}
     spec:
       containers:
-      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}
         command: ["/opt/multicloud/k8splugin/k8plugin"]
@@ -72,7 +72,7 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
-      - image: "{{ include "common.repository" . }}/{{ .Values.global.artifactImage }}"
+      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
         name: framework-artifactbroker
         command: ["/opt/app/distribution/bin/artifact-dist.sh"]
         args: ["/opt/app/distribution/etc/mounted/config.json"]
 #################################################################
 global:
   nodePortPrefixExt: 304
-  readinessImage: onap/oom/readiness:3.0.1
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
   persistence: {}
+  artifactImage: onap/multicloud/framework-artifactbroker:1.6.0
+
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/k8s:0.7.0
 pullPolicy: Always
 
diff --git a/kubernetes/multicloud/components/multicloud-pike/requirements.yaml b/kubernetes/multicloud/components/multicloud-pike/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
@@ -67,7 +67,7 @@ spec:
          subPath: log.yml
        resources:
 {{ include "common.resources" . | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+       image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
        - containerPort: {{ .Values.service.internalPort }}
@@ -86,7 +86,7 @@ spec:
          failureThreshold: {{ .Values.liveness.failureThreshold }}
        {{ end }}
      # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+     - image: {{ include "repositoryGenerator.image.logging" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: filebeat-onap
        volumeMounts:
@@ -22,7 +22,6 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/openstack-pike:1.5.5
 pullPolicy: Always
 
@@ -40,7 +40,7 @@ spec:
     spec:
       containers:
       - name: {{ include "common.name" . }}-configmap-reload
-        image: "{{ .Values.global.configmapReload.image.repository }}:{{ .Values.global.configmapReload.image.tag }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.global.configmapReload.image.repository }}:{{ .Values.global.configmapReload.image.tag }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         args:
           - --volume-dir=/etc/config
@@ -51,7 +51,7 @@ spec:
             readOnly: true
 
       - name: {{ include "common.name" . }}
-        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         args:
           - --config.file=/etc/config/alertmanager.yml
@@ -41,7 +41,7 @@ spec:
       {{- if .Values.dashboards }}
       initContainers:
       - name: {{ include "common.name" . }}-download-dashboards
-        image: "{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["sh", "/etc/grafana/download_dashboards.sh"]
         volumeMounts:
@@ -54,7 +54,7 @@ spec:
 
       containers:
       - name: {{ include "common.name" . }}
-        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         resources:
 {{ toYaml .Values.resources | indent 10 }}
diff --git a/kubernetes/multicloud/components/multicloud-prometheus/requirements.yaml b/kubernetes/multicloud/components/multicloud-prometheus/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
@@ -14,8 +14,6 @@
 # limitations under the License.
 */}}
 
-{{- if .Values.global.prometheus.enabled -}}
-
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -27,6 +25,4 @@ metadata:
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
-
-{{- end -}}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
@@ -14,8 +14,6 @@
 # limitations under the License.
 */}}
 
-{{- if .Values.global.prometheus.enabled -}}
-
 apiVersion: apps/v1
 kind: Deployment
 metadata:
@@ -39,7 +37,7 @@ spec:
       name: {{ include "common.name" . }}
     spec:
       initContainers:
-      - image: "{{ .Values.global.busyboxRepository }}/{{ .Values.global.busyboxImage }}"
+      - image: {{ include "repositoryGenerator.image.busybox" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-chown-init
         command: ["chown", "-R", "65534:65534", "{{ .Values.persistence.containerMountPath }}"]
@@ -48,7 +46,7 @@ spec:
           mountPath: {{ .Values.persistence.containerMountPath }}
       containers:
       - name: {{ include "common.name" . }}-configmap-reload
-        image: "{{ .Values.global.configmapReload.image.repository }}:{{ .Values.global.configmapReload.image.tag }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.global.configmapReload.image.repository }}:{{ .Values.global.configmapReload.image.tag }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         args:
           - --volume-dir=/etc/config
@@ -59,7 +57,7 @@ spec:
             readOnly: true
 
       - name: {{ include "common.name" . }}-server
-        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         args:
           - --config.file=/etc/config/prometheus.yml
@@ -121,5 +119,3 @@ spec:
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
       restartPolicy: Always
-
-{{- end -}}
@@ -14,7 +14,6 @@
 # limitations under the License.
 */}}
 
-{{- if .Values.global.prometheus.enabled -}}
 {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
 {{- if eq "True" (include "common.needPV" .) -}}
 kind: PersistentVolume
@@ -39,4 +38,3 @@ spec:
     path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
 {{- end -}}
 {{- end -}}
-{{- end -}}
@@ -14,8 +14,6 @@
 # limitations under the License.
 */}}
 
-{{- if .Values.global.prometheus.enabled -}}
-
 {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
 kind: PersistentVolumeClaim
 apiVersion: v1
@@ -39,5 +37,3 @@ spec:
     requests:
       storage: {{ .Values.persistence.size }}
 {{- end -}}
-
-{{- end -}}
@@ -14,8 +14,6 @@
 # limitations under the License.
 */}}
 
-{{- if .Values.global.prometheus.enabled -}}
-
 apiVersion: v1
 kind: Service
 metadata:
@@ -41,6 +39,4 @@ spec:
     protocol: TCP
   selector:
     app: {{ include "common.name" . }}
-    release: {{ include "common.release" . }}
-
-{{- end -}}
\ No newline at end of file
+    release: {{ include "common.release" . }}
\ No newline at end of file
 #################################################################
 global:
   nodePortPrefix: 302
-  readinessImage: onap/oom/readiness:3.0.1
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-  busyboxRepository: docker.io
-  busyboxImage: library/busybox:latest
   alertmanager:
     enabled: false
   grafana:
diff --git a/kubernetes/multicloud/components/multicloud-starlingx/requirements.yaml b/kubernetes/multicloud/components/multicloud-starlingx/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
diff --git a/kubernetes/multicloud/components/multicloud-starlingx/templates/deployment.yaml b/kubernetes/multicloud/components/multicloud-starlingx/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..5413327
--- /dev/null
@@ -0,0 +1,130 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+#
+# 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: apps/v1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ include "common.release" . }}
+      name: {{ include "common.name" . }}
+      annotations:
+        sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+    spec:
+      containers:
+      - env:
+        - name: MSB_PROTO
+          value: {{ .Values.config.msbprotocol }}
+        - name: MSB_ADDR
+          value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+        - name: MSB_PORT
+          value: "{{ .Values.config.msbPort }}"
+        - name: AAI_ADDR
+          value: aai.{{ include "common.namespace" . }}
+        - name: AAI_PORT
+          value: "{{ .Values.config.aai.port }}"
+        - name: AAI_SCHEMA_VERSION
+          value: "{{ .Values.config.aai.schemaVersion }}"
+        - name: AAI_USERNAME
+          value: "{{ .Values.config.aai.username }}"
+        - name: AAI_PASSWORD
+          value: "{{ .Values.config.aai.password }}"
+        - name: SSL_ENABLED
+          value: "{{ .Values.config.ssl_enabled }}"
+        name: {{ include "common.name" . }}
+        volumeMounts:
+        - mountPath: /var/log/onap
+          name: starlingx-log
+        - mountPath: /opt/starlingx/starlingx/pub/config/log.yml
+          name: starlingx-logconfig
+          subPath: log.yml
+        - mountPath: /opt/artifacts/
+          name: artifact-data
+        resources: {{ include "common.resources" . | nindent 12 }}
+        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{ if .Values.liveness.enabled }}
+        livenessProbe:
+          httpGet:
+            path: /api/multicloud-starlingx/v0/swagger.json
+            port: {{ .Values.service.internalPort }}
+            scheme: HTTPS
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+          timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+          successThreshold: {{ .Values.liveness.successThreshold }}
+          failureThreshold: {{ .Values.liveness.failureThreshold }}
+        {{ end }}
+      # side car containers
+      - image: {{ include "repositoryGenerator.image.logging" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: filebeat-onap
+        volumeMounts:
+        - mountPath: /usr/share/filebeat/filebeat.yml
+          name: filebeat-conf
+          subPath: filebeat.yml
+        - mountPath: /var/log/onap
+          name: starlingx-log
+        - mountPath: /usr/share/filebeat/data
+          name: starlingx-data-filebeat
+      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
+        name: framework-artifactbroker
+        command: ["/opt/app/distribution/bin/artifact-dist.sh"]
+        args: ["/opt/app/distribution/etc/mounted/config.json"]
+        ports:
+        - containerPort: 9014
+          protocol: TCP
+        volumeMounts:
+        - mountPath: /opt/app/distribution/etc/mounted/config.json
+          name: starlingx-logconfig
+          subPath: config.json
+        - mountPath: /data
+          name: artifact-data
+
+      volumes:
+      - name: starlingx-log
+        emptyDir: {}
+      - name: starlingx-data-filebeat
+        emptyDir: {}
+      - name: filebeat-conf
+        configMap:
+          name: multicloud-filebeat-configmap
+      - name: starlingx-logconfig
+        configMap:
+          name: {{ include "common.fullname" . }}-log-configmap
+      - name: artifact-data
+        emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      restartPolicy: Always
@@ -17,6 +17,7 @@
 #################################################################
 global:
   nodePortPrefixExt: 304
+  artifactImage: onap/multicloud/framework-artifactbroker:1.6.0
 
 #################################################################
 # Application configuration defaults.
diff --git a/kubernetes/multicloud/components/multicloud-vio/requirements.yaml b/kubernetes/multicloud/components/multicloud-vio/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
@@ -64,7 +64,7 @@ spec:
          subPath: log.yml
        resources:
 {{ include "common.resources" . | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+       image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
        - containerPort: {{ .Values.service.internalPort }}
@@ -83,7 +83,7 @@ spec:
          failureThreshold: {{ .Values.liveness.failureThreshold }}
        {{ end -}}
        # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+     - image: {{ include "repositoryGenerator.image.logging" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: filebeat-onap
        volumeMounts:
@@ -23,7 +23,6 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/vio:1.4.1
 pullPolicy: Always
 
diff --git a/kubernetes/multicloud/components/multicloud-windriver/requirements.yaml b/kubernetes/multicloud/components/multicloud-windriver/requirements.yaml
new file mode 100644 (file)
index 0000000..bdc1920
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
diff --git a/kubernetes/multicloud/components/multicloud-windriver/resources/config/log/test.txt b/kubernetes/multicloud/components/multicloud-windriver/resources/config/log/test.txt
new file mode 100644 (file)
index 0000000..6c1e709
--- /dev/null
@@ -0,0 +1 @@
+resources: {{ include "common.resources" . | indent 12 | trim}}
\ No newline at end of file
diff --git a/kubernetes/multicloud/components/multicloud-windriver/templates/deployment.yaml b/kubernetes/multicloud/components/multicloud-windriver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..2ed0b13
--- /dev/null
@@ -0,0 +1,144 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# 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: apps/v1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ include "common.release" . }}
+      name: {{ include "common.name" . }}
+      annotations:
+        sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+    spec:
+      initContainers:
+      - command: ["sh", "-c", "chown -R 100:101 /data"]
+        image: {{ include "repositoryGenerator.image.busybox" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-init
+        volumeMounts:
+        - mountPath: /data
+          name: artifact-data
+      containers:
+      - env:
+        - name: MSB_PROTO
+          value: {{ .Values.config.msbprotocol }}
+        - name: MSB_ADDR
+          value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+        - name: MSB_PORT
+          value: "{{ .Values.config.msbPort }}"
+        - name: AAI_ADDR
+          value: aai.{{ include "common.namespace" . }}
+        - name: AAI_PORT
+          value: "{{ .Values.config.aai.port }}"
+        - name: AAI_SCHEMA_VERSION
+          value: "{{ .Values.config.aai.schemaVersion }}"
+        - name: AAI_USERNAME
+          value: "{{ .Values.config.aai.username }}"
+        - name: AAI_PASSWORD
+          value: "{{ .Values.config.aai.password }}"
+        - name: SSL_ENABLED
+          value: "{{ .Values.config.ssl_enabled }}"
+        name: {{ include "common.name" . }}
+        volumeMounts:
+        - mountPath: /var/log/onap
+          name: windriver-log
+        - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
+          name: windriver-logconfig
+          subPath: log.yml
+        - mountPath: /opt/artifacts/
+          name: artifact-data
+        resources: {{ include "common.resources" . | nindent 12 }}
+        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{ if .Values.liveness.enabled }}
+        livenessProbe:
+          httpGet:
+            path: /api/multicloud-titaniumcloud/v1/swagger.json
+            port: {{ .Values.service.internalPort }}
+            scheme: HTTPS
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+          timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+          successThreshold: {{ .Values.liveness.successThreshold }}
+          failureThreshold: {{ .Values.liveness.failureThreshold }}
+        {{ end }}
+      # side car containers
+      - image: {{ include "repositoryGenerator.image.logging" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: filebeat-onap
+        volumeMounts:
+        - mountPath: /usr/share/filebeat/filebeat.yml
+          name: filebeat-conf
+          subPath: filebeat.yml
+        - mountPath: /var/log/onap
+          name: windriver-log
+        - mountPath: /usr/share/filebeat/data
+          name: windriver-data-filebeat
+      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
+        name: framework-artifactbroker
+        command: ["/opt/app/distribution/bin/artifact-dist.sh"]
+        args: ["/opt/app/distribution/etc/mounted/config.json"]
+        ports:
+        - containerPort: 9014
+          protocol: TCP
+        volumeMounts:
+        - mountPath: /opt/app/distribution/etc/mounted/config.json
+          name: windriver-logconfig
+          subPath: config.json
+        - mountPath: /data
+          name: artifact-data
+
+      volumes:
+      - name: windriver-log
+        emptyDir: {}
+      - name: windriver-data-filebeat
+        emptyDir: {}
+      - name: filebeat-conf
+        configMap:
+          name: multicloud-filebeat-configmap
+      - name: windriver-logconfig
+        configMap:
+          name: {{ include "common.fullname" . }}-log-configmap
+      - name: artifact-data
+      {{- if .Values.persistence.enabled }}
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
+      {{- else }}
+        emptyDir: {}
+      {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      restartPolicy: Always
 #################################################################
 global:
   nodePortPrefix: 302
-  ubuntuInitRepository: oomk8s
-  ubuntuInitImage: ubuntu-init:1.0.0
+  artifactImage: onap/multicloud/framework-artifactbroker:1.6.0
+  persistence: {}
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/openstack-windriver:1.5.5
 pullPolicy: Always
 
index caff1e5..a37b9f7 100644 (file)
@@ -17,3 +17,38 @@ dependencies:
   - name: common
     version: ~6.x-0
     repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
+  - name: multicloud-azure
+    version: ~6.x-0
+    repository: 'file://components/multicloud-azure'
+    condition: multicloud-azure.enabled
+  - name: multicloud-fcaps
+    version: ~6.x-0
+    repository: 'file://components/multicloud-fcaps'
+    condition: multicloud-fcaps.enabled
+  - name: multicloud-k8s
+    version: ~6.x-0
+    repository: 'file://components/multicloud-k8s'
+    condition: multicloud-k8s.enabled
+  - name: multicloud-pike
+    version: ~6.x-0
+    repository: 'file://components/multicloud-pike'
+    condition: multicloud-pike.enabled
+  - name: multicloud-prometheus
+    version: ~6.x-0
+    repository: 'file://components/multicloud-prometheus'
+    condition: multicloud-prometheus.enabled
+  - name: multicloud-starlingx
+    version: ~6.x-0
+    repository: 'file://components/multicloud-starlingx'
+    condition: multicloud-starlingx.enabled
+  - name: multicloud-vio
+    version: ~6.x-0
+    repository: 'file://components/multicloud-vio'
+    condition: multicloud-vio.enabled
+  - name: multicloud-windriver
+    version: ~6.x-0
+    repository: 'file://components/multicloud-windriver'
+    condition: multicloud-windriver.enabled
index 8cae0b6..a5b8297 100644 (file)
@@ -59,7 +59,7 @@ spec:
          value: "{{ .Values.config.ssl_enabled }}"
        resources:
 {{ include "common.resources" . | indent 12 }}
-       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+       image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: {{ include "common.name" . }}
        volumeMounts:
@@ -89,7 +89,7 @@ spec:
        {{ end -}}
 
       # side car containers
-     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+     - image: {{ include "repositoryGenerator.image.logging" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: filebeat-onap
        volumeMounts:
index 0ff561c..12d5d6a 100644 (file)
@@ -18,8 +18,6 @@
 #################################################################
 global:
   nodePortPrefix: 302
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
   artifactImage: onap/multicloud/framework-artifactbroker:1.6.0
   prometheus:
     enabled: false
@@ -29,13 +27,29 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: nexus3.onap.org:10001
 image: onap/multicloud/framework:1.6.0
 pullPolicy: Always
 
 #Istio sidecar injection policy
 istioSidecar: true
 
+multicloud-azure:
+  enabled: true
+multicloud-fcaps:
+  enabled: true
+multicloud-k8s:
+  enabled: true
+multicloud-pike:
+  enabled: true
+multicloud-prometheus:
+  enabled: false
+multicloud-starlingx:
+  enabled: true
+multicloud-vio:
+  enabled: true
+multicloud-windriver:
+  enabled: true
+
 # application configuration
 config:
   ssl_enabled: true