Merge "[MULTICLOUD] Uses new tpls for repos / images"
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Thu, 26 Nov 2020 10:02:50 +0000 (10:02 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 26 Nov 2020 10:02:50 +0000 (10:02 +0000)
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