From: Sylvain Desbureaux Date: Sat, 21 Nov 2020 21:25:10 +0000 (+0100) Subject: [LOG] Uses new tpls for repos / images X-Git-Tag: 8.0.0~254^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=9a994243c2da301f63270776bf613c329d1ff588;hp=-c;p=oom.git [LOG] Uses new tpls for repos / images This commit makes Log chart to use the new generator for repositories and images. Issue-ID: OOM-2364 Change-Id: Ie93c5fccc2c9ed6026cd8dd93a3d7e141d1bed83 Signed-off-by: Jakub Latusek --- 9a994243c2da301f63270776bf613c329d1ff588 diff --git a/kubernetes/log/Makefile b/kubernetes/log/Makefile new file mode 100644 index 0000000000..89b2f465ec --- /dev/null +++ b/kubernetes/log/Makefile @@ -0,0 +1,56 @@ +# Copyright © 2020 Samsung Electronics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) +OUTPUT_DIR := $(ROOT_DIR)/../dist +PACKAGE_DIR := $(OUTPUT_DIR)/packages +SECRET_DIR := $(OUTPUT_DIR)/secrets + +EXCLUDES := dist resources templates charts docker +HELM_BIN := helm +HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) +HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}") + +.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) +ifeq "$(findstring v3,$(HELM_VER))" "v3" + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME local; fi +else + @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi +endif + @$(HELM_BIN) repo index $(PACKAGE_DIR) + +clean: + @rm -f */requirements.lock + @rm -f *tgz */charts/*tgz + @rm -rf $(PACKAGE_DIR) +%: + @: diff --git a/kubernetes/log/components/Makefile b/kubernetes/log/components/Makefile new file mode 100644 index 0000000000..d62cb0b700 --- /dev/null +++ b/kubernetes/log/components/Makefile @@ -0,0 +1,56 @@ +# 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 := +HELM_BIN := helm +HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) +HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}") + +.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) +ifeq "$(findstring v3,$(HELM_VER))" "v3" + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME local; fi +else + @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi +endif + @$(HELM_BIN) repo index $(PACKAGE_DIR) + +clean: + @rm -f */requirements.lock + @rm -f *tgz */charts/*tgz + @rm -rf $(PACKAGE_DIR) +%: + @: diff --git a/kubernetes/log/charts/log-elasticsearch/Chart.yaml b/kubernetes/log/components/log-elasticsearch/Chart.yaml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/Chart.yaml rename to kubernetes/log/components/log-elasticsearch/Chart.yaml diff --git a/kubernetes/log/charts/log-logstash/requirements.yaml b/kubernetes/log/components/log-elasticsearch/requirements.yaml similarity index 90% rename from kubernetes/log/charts/log-logstash/requirements.yaml rename to kubernetes/log/components/log-elasticsearch/requirements.yaml index caff1e5dc4..bdc19209e7 100644 --- a/kubernetes/log/charts/log-logstash/requirements.yaml +++ b/kubernetes/log/components/log-elasticsearch/requirements.yaml @@ -17,3 +17,6 @@ dependencies: - name: common version: ~6.x-0 repository: '@local' + - name: repositoryGenerator + version: ~6.x-0 + repository: '@local' diff --git a/kubernetes/log/charts/log-elasticsearch/resources/config/elasticsearch.yml b/kubernetes/log/components/log-elasticsearch/resources/config/elasticsearch.yml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/resources/config/elasticsearch.yml rename to kubernetes/log/components/log-elasticsearch/resources/config/elasticsearch.yml diff --git a/kubernetes/log/charts/log-elasticsearch/templates/NOTES.txt b/kubernetes/log/components/log-elasticsearch/templates/NOTES.txt similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/templates/NOTES.txt rename to kubernetes/log/components/log-elasticsearch/templates/NOTES.txt diff --git a/kubernetes/log/charts/log-elasticsearch/templates/configmap.yaml b/kubernetes/log/components/log-elasticsearch/templates/configmap.yaml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/templates/configmap.yaml rename to kubernetes/log/components/log-elasticsearch/templates/configmap.yaml diff --git a/kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml b/kubernetes/log/components/log-elasticsearch/templates/deployment.yaml similarity index 94% rename from kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml rename to kubernetes/log/components/log-elasticsearch/templates/deployment.yaml index 05a9b18ac9..6a0e6d2e3d 100644 --- a/kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml +++ b/kubernetes/log/components/log-elasticsearch/templates/deployment.yaml @@ -15,7 +15,7 @@ # limitations under the License. */}} -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "common.fullname" . }} @@ -51,7 +51,7 @@ spec: fieldPath: metadata.namespace securityContext: privileged: true - image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.busyboxImage }} + image: {{ include "repositoryGenerator.image.busybox" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: init-sysctl volumeMounts: @@ -59,7 +59,7 @@ spec: mountPath: /logroot/ containers: - name: {{ include "common.name" . }} - image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}" + image: {{ include "repositoryGenerator.elasticRepository" . }}/{{ .Values.image }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} resources: {{ include "common.resources" . | indent 12 }} diff --git a/kubernetes/log/charts/log-elasticsearch/templates/ingress.yaml b/kubernetes/log/components/log-elasticsearch/templates/ingress.yaml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/templates/ingress.yaml rename to kubernetes/log/components/log-elasticsearch/templates/ingress.yaml diff --git a/kubernetes/log/charts/log-elasticsearch/templates/pv.yaml b/kubernetes/log/components/log-elasticsearch/templates/pv.yaml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/templates/pv.yaml rename to kubernetes/log/components/log-elasticsearch/templates/pv.yaml diff --git a/kubernetes/log/charts/log-elasticsearch/templates/pvc.yaml b/kubernetes/log/components/log-elasticsearch/templates/pvc.yaml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/templates/pvc.yaml rename to kubernetes/log/components/log-elasticsearch/templates/pvc.yaml diff --git a/kubernetes/log/charts/log-elasticsearch/templates/service.yaml b/kubernetes/log/components/log-elasticsearch/templates/service.yaml similarity index 100% rename from kubernetes/log/charts/log-elasticsearch/templates/service.yaml rename to kubernetes/log/components/log-elasticsearch/templates/service.yaml diff --git a/kubernetes/log/charts/log-elasticsearch/values.yaml b/kubernetes/log/components/log-elasticsearch/values.yaml similarity index 93% rename from kubernetes/log/charts/log-elasticsearch/values.yaml rename to kubernetes/log/components/log-elasticsearch/values.yaml index 2e4f962d23..7919a0948e 100644 --- a/kubernetes/log/charts/log-elasticsearch/values.yaml +++ b/kubernetes/log/components/log-elasticsearch/values.yaml @@ -18,20 +18,13 @@ ################################################################# global: nodePortPrefix: 302 - loggingRepository: docker.elastic.co - loggingImage: beats/filebeat:5.5.0 persistence: {} ################################################################# # Application configuration defaults. ################################################################# -# BusyBox image -busyboxRepository: docker.io -busyboxImage: library/busybox:latest - # application image -loggingRepository: docker.elastic.co image: elasticsearch/elasticsearch:5.5.0 pullPolicy: Always diff --git a/kubernetes/log/charts/log-kibana/Chart.yaml b/kubernetes/log/components/log-kibana/Chart.yaml similarity index 100% rename from kubernetes/log/charts/log-kibana/Chart.yaml rename to kubernetes/log/components/log-kibana/Chart.yaml diff --git a/kubernetes/log/charts/log-elasticsearch/requirements.yaml b/kubernetes/log/components/log-kibana/requirements.yaml similarity index 90% rename from kubernetes/log/charts/log-elasticsearch/requirements.yaml rename to kubernetes/log/components/log-kibana/requirements.yaml index caff1e5dc4..bdc19209e7 100644 --- a/kubernetes/log/charts/log-elasticsearch/requirements.yaml +++ b/kubernetes/log/components/log-kibana/requirements.yaml @@ -17,3 +17,6 @@ dependencies: - name: common version: ~6.x-0 repository: '@local' + - name: repositoryGenerator + version: ~6.x-0 + repository: '@local' diff --git a/kubernetes/log/charts/log-kibana/resources/config/README.txt b/kubernetes/log/components/log-kibana/resources/config/README.txt similarity index 100% rename from kubernetes/log/charts/log-kibana/resources/config/README.txt rename to kubernetes/log/components/log-kibana/resources/config/README.txt diff --git a/kubernetes/log/charts/log-kibana/resources/config/kibana-onboarding.json b/kubernetes/log/components/log-kibana/resources/config/kibana-onboarding.json similarity index 100% rename from kubernetes/log/charts/log-kibana/resources/config/kibana-onboarding.json rename to kubernetes/log/components/log-kibana/resources/config/kibana-onboarding.json diff --git a/kubernetes/log/charts/log-kibana/resources/config/kibana.yml b/kubernetes/log/components/log-kibana/resources/config/kibana.yml similarity index 100% rename from kubernetes/log/charts/log-kibana/resources/config/kibana.yml rename to kubernetes/log/components/log-kibana/resources/config/kibana.yml diff --git a/kubernetes/log/charts/log-kibana/templates/NOTES.txt b/kubernetes/log/components/log-kibana/templates/NOTES.txt similarity index 100% rename from kubernetes/log/charts/log-kibana/templates/NOTES.txt rename to kubernetes/log/components/log-kibana/templates/NOTES.txt diff --git a/kubernetes/log/charts/log-kibana/templates/configmap.yaml b/kubernetes/log/components/log-kibana/templates/configmap.yaml similarity index 100% rename from kubernetes/log/charts/log-kibana/templates/configmap.yaml rename to kubernetes/log/components/log-kibana/templates/configmap.yaml diff --git a/kubernetes/log/charts/log-kibana/templates/deployment.yaml b/kubernetes/log/components/log-kibana/templates/deployment.yaml similarity index 92% rename from kubernetes/log/charts/log-kibana/templates/deployment.yaml rename to kubernetes/log/components/log-kibana/templates/deployment.yaml index 4b0dcf1d3d..a1824d2509 100644 --- a/kubernetes/log/charts/log-kibana/templates/deployment.yaml +++ b/kubernetes/log/components/log-kibana/templates/deployment.yaml @@ -15,7 +15,7 @@ # limitations under the License. */}} -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "common.fullname" . }} @@ -45,7 +45,7 @@ spec: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}" + image: {{ include "repositoryGenerator.image.readiness" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness - args: @@ -57,7 +57,7 @@ spec: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - image: "{{ .Values.elasticdumpRepository }}/{{ .Values.elasticdumpImage }}" + image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.elasticdumpImage }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-elasticdump volumeMounts: @@ -66,7 +66,7 @@ spec: subPath: kibana-onboarding.json containers: - name: {{ include "common.name" . }} - image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}" + image: {{ include "repositoryGenerator.elasticRepository" . }}/{{ .Values.image }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} resources: {{ include "common.resources" . | indent 12 }} diff --git a/kubernetes/log/charts/log-kibana/templates/ingress.yaml b/kubernetes/log/components/log-kibana/templates/ingress.yaml similarity index 100% rename from kubernetes/log/charts/log-kibana/templates/ingress.yaml rename to kubernetes/log/components/log-kibana/templates/ingress.yaml diff --git a/kubernetes/log/charts/log-kibana/templates/service.yaml b/kubernetes/log/components/log-kibana/templates/service.yaml similarity index 100% rename from kubernetes/log/charts/log-kibana/templates/service.yaml rename to kubernetes/log/components/log-kibana/templates/service.yaml diff --git a/kubernetes/log/charts/log-kibana/values.yaml b/kubernetes/log/components/log-kibana/values.yaml similarity index 92% rename from kubernetes/log/charts/log-kibana/values.yaml rename to kubernetes/log/components/log-kibana/values.yaml index 5cb2fb0a1c..767ea6ae99 100644 --- a/kubernetes/log/charts/log-kibana/values.yaml +++ b/kubernetes/log/components/log-kibana/values.yaml @@ -18,7 +18,6 @@ ################################################################# global: nodePortPrefix: 302 - readinessImage: onap/oom/readiness:3.0.1 persistence: {} ################################################################# @@ -26,15 +25,9 @@ global: ################################################################# # Elasticdump image -elasticdumpRepository: docker.io elasticdumpImage: taskrabbit/elasticsearch-dump -# BusyBox image -busyboxRepository: docker.io -busyboxImage: library/busybox:latest - # application image -loggingRepository: docker.elastic.co image: kibana/kibana:5.5.0 pullPolicy: Always diff --git a/kubernetes/log/charts/log-logstash/Chart.yaml b/kubernetes/log/components/log-logstash/Chart.yaml similarity index 100% rename from kubernetes/log/charts/log-logstash/Chart.yaml rename to kubernetes/log/components/log-logstash/Chart.yaml diff --git a/kubernetes/log/charts/log-kibana/requirements.yaml b/kubernetes/log/components/log-logstash/requirements.yaml similarity index 90% rename from kubernetes/log/charts/log-kibana/requirements.yaml rename to kubernetes/log/components/log-logstash/requirements.yaml index caff1e5dc4..bdc19209e7 100644 --- a/kubernetes/log/charts/log-kibana/requirements.yaml +++ b/kubernetes/log/components/log-logstash/requirements.yaml @@ -17,3 +17,6 @@ dependencies: - name: common version: ~6.x-0 repository: '@local' + - name: repositoryGenerator + version: ~6.x-0 + repository: '@local' diff --git a/kubernetes/log/charts/log-logstash/resources/config/logstash.yml b/kubernetes/log/components/log-logstash/resources/config/logstash.yml similarity index 100% rename from kubernetes/log/charts/log-logstash/resources/config/logstash.yml rename to kubernetes/log/components/log-logstash/resources/config/logstash.yml diff --git a/kubernetes/log/charts/log-logstash/resources/config/onap-pipeline.conf b/kubernetes/log/components/log-logstash/resources/config/onap-pipeline.conf similarity index 100% rename from kubernetes/log/charts/log-logstash/resources/config/onap-pipeline.conf rename to kubernetes/log/components/log-logstash/resources/config/onap-pipeline.conf diff --git a/kubernetes/log/charts/log-logstash/templates/NOTES.txt b/kubernetes/log/components/log-logstash/templates/NOTES.txt similarity index 100% rename from kubernetes/log/charts/log-logstash/templates/NOTES.txt rename to kubernetes/log/components/log-logstash/templates/NOTES.txt diff --git a/kubernetes/log/charts/log-logstash/templates/configmap.yaml b/kubernetes/log/components/log-logstash/templates/configmap.yaml similarity index 100% rename from kubernetes/log/charts/log-logstash/templates/configmap.yaml rename to kubernetes/log/components/log-logstash/templates/configmap.yaml diff --git a/kubernetes/log/charts/log-logstash/templates/deployment.yaml b/kubernetes/log/components/log-logstash/templates/deployment.yaml similarity index 94% rename from kubernetes/log/charts/log-logstash/templates/deployment.yaml rename to kubernetes/log/components/log-logstash/templates/deployment.yaml index dde6c5bc8f..566c7a3b10 100644 --- a/kubernetes/log/charts/log-logstash/templates/deployment.yaml +++ b/kubernetes/log/components/log-logstash/templates/deployment.yaml @@ -15,7 +15,7 @@ # limitations under the License. */}} -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "common.fullname" . }} @@ -45,12 +45,12 @@ spec: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}" + image: {{ include "repositoryGenerator.image.readiness" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness containers: - name: {{ include "common.name" . }} - image: "{{ .Values.global.loggingRepository| default .Values.loggingRepository }}/{{ .Values.image }}" + image: {{ include "repositoryGenerator.elasticRepository" . }}/{{ .Values.image }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} resources: {{ include "common.resources" . | indent 12 }} diff --git a/kubernetes/log/charts/log-logstash/templates/ingress.yaml b/kubernetes/log/components/log-logstash/templates/ingress.yaml similarity index 100% rename from kubernetes/log/charts/log-logstash/templates/ingress.yaml rename to kubernetes/log/components/log-logstash/templates/ingress.yaml diff --git a/kubernetes/log/charts/log-logstash/templates/service.yaml b/kubernetes/log/components/log-logstash/templates/service.yaml similarity index 100% rename from kubernetes/log/charts/log-logstash/templates/service.yaml rename to kubernetes/log/components/log-logstash/templates/service.yaml diff --git a/kubernetes/log/charts/log-logstash/values.yaml b/kubernetes/log/components/log-logstash/values.yaml similarity index 96% rename from kubernetes/log/charts/log-logstash/values.yaml rename to kubernetes/log/components/log-logstash/values.yaml index 483d1b721a..7a0674cdf5 100644 --- a/kubernetes/log/charts/log-logstash/values.yaml +++ b/kubernetes/log/components/log-logstash/values.yaml @@ -18,7 +18,6 @@ ################################################################# global: nodePortPrefix: 302 - readinessImage: onap/oom/readiness:3.0.1 persistence: {} ################################################################# @@ -26,7 +25,6 @@ global: ################################################################# # application image -loggingRepository: docker.elastic.co image: logstash/logstash:5.4.3 pullPolicy: Always diff --git a/kubernetes/log/requirements.yaml b/kubernetes/log/requirements.yaml index a7089ea6b3..ae81fc8441 100644 --- a/kubernetes/log/requirements.yaml +++ b/kubernetes/log/requirements.yaml @@ -16,3 +16,16 @@ dependencies: - name: common version: ~6.x-0 repository: '@local' + - name: repositoryGenerator + version: ~6.x-0 + repository: '@local' + - name: log-elasticsearch + version: ~6.x-0 + repository: 'file://components/log-elasticsearch' + - name: log-kibana + version: ~6.x-0 + repository: 'file://components/log-kibana' + - name: log-logstash + version: ~6.x-0 + repository: 'file://components/log-logstash' + diff --git a/kubernetes/log/values.yaml b/kubernetes/log/values.yaml index bb41a8717b..ddcf5235cd 100644 --- a/kubernetes/log/values.yaml +++ b/kubernetes/log/values.yaml @@ -18,4 +18,3 @@ ################################################################# global: nodePortPrefix: 302 - readinessImage: onap/oom/readiness:3.0.1