Merge "[CONTRIB] Uses new tpls for repos / images"
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 30 Nov 2020 08:11:12 +0000 (08:11 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 30 Nov 2020 08:11:12 +0000 (08:11 +0000)
73 files changed:
kubernetes/contrib/Makefile
kubernetes/contrib/components/Makefile [new file with mode: 0644]
kubernetes/contrib/components/awx/Makefile
kubernetes/contrib/components/awx/charts/awx/values.yaml [deleted file]
kubernetes/contrib/components/awx/components/Makefile [new file with mode: 0644]
kubernetes/contrib/components/awx/components/awx-postgres/Chart.yaml [moved from kubernetes/contrib/components/awx/charts/awx-postgres/Chart.yaml with 100% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/requirements.yaml [moved from kubernetes/contrib/components/awx/charts/awx/Chart.yaml with 79% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/templates/NOTES.txt [moved from kubernetes/contrib/components/awx/charts/awx-postgres/templates/NOTES.txt with 100% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/templates/deployment.yaml [moved from kubernetes/contrib/components/awx/charts/awx-postgres/templates/deployment.yaml with 96% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/templates/pv.yaml [moved from kubernetes/contrib/components/awx/charts/awx-postgres/templates/pv.yaml with 100% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/templates/pvc.yaml [moved from kubernetes/contrib/components/awx/charts/awx-postgres/templates/pvc.yaml with 100% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/templates/service.yaml [moved from kubernetes/contrib/components/awx/charts/awx-postgres/templates/service.yaml with 100% similarity]
kubernetes/contrib/components/awx/components/awx-postgres/values.yaml [moved from kubernetes/contrib/components/awx/charts/awx-postgres/values.yaml with 98% similarity]
kubernetes/contrib/components/awx/requirements.yaml
kubernetes/contrib/components/awx/resources/config/credentials.py [moved from kubernetes/contrib/components/awx/charts/awx/resources/config/credentials.py with 100% similarity]
kubernetes/contrib/components/awx/resources/config/environment.sh [moved from kubernetes/contrib/components/awx/charts/awx/resources/config/environment.sh with 100% similarity]
kubernetes/contrib/components/awx/templates/configmap.yaml [moved from kubernetes/contrib/components/awx/charts/awx/templates/configmap.yaml with 100% similarity]
kubernetes/contrib/components/awx/templates/job.yaml [moved from kubernetes/contrib/components/awx/charts/awx/templates/job.yaml with 95% similarity]
kubernetes/contrib/components/awx/templates/secret.yaml [moved from kubernetes/contrib/components/awx/charts/awx/templates/secret.yaml with 100% similarity]
kubernetes/contrib/components/awx/templates/service.yaml [moved from kubernetes/contrib/components/awx/charts/awx/templates/service.yaml with 100% similarity]
kubernetes/contrib/components/awx/templates/serviceaccout.yaml [moved from kubernetes/contrib/components/awx/charts/awx/templates/serviceaccout.yaml with 100% similarity]
kubernetes/contrib/components/awx/templates/statefulset.yaml [moved from kubernetes/contrib/components/awx/charts/awx/templates/statefulset.yaml with 93% similarity]
kubernetes/contrib/components/awx/values.yaml
kubernetes/contrib/components/ejbca/requirements.yaml
kubernetes/contrib/components/ejbca/templates/deployment.yaml
kubernetes/contrib/components/ejbca/values.yaml
kubernetes/contrib/components/netbox/Makefile
kubernetes/contrib/components/netbox/components/Makefile [new file with mode: 0644]
kubernetes/contrib/components/netbox/components/netbox-app/.helmignore [moved from kubernetes/contrib/components/netbox/charts/netbox-app/.helmignore with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/Chart.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/Chart.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/requirements.yaml [new file with mode: 0755]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/configuration/configuration.py [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/configuration/configuration.py with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/configuration/gunicorn_config.py [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/configuration/gunicorn_config.py with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/configuration/ldap_config.py [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/configuration/ldap_config.py with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/initializers/custom_fields.yml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/initializers/custom_fields.yml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/initializers/groups.yml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/initializers/groups.yml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/initializers/users.yml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/initializers/users.yml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/provisioning/provision.sh [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/provisioning/provision.sh with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/startup_scripts/00_users.py [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/00_users.py with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/startup_scripts/10_groups.py [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/10_groups.py with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/resources/config/startup_scripts/20_custom_fields.py [moved from kubernetes/contrib/components/netbox/charts/netbox-app/resources/config/startup_scripts/20_custom_fields.py with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/NOTES.txt [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/NOTES.txt with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/configmap.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/configmap.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/deployment.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/deployment.yaml with 98% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/job.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/job.yaml with 92% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/pv.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/pv.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/pvc.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/pvc.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/secrets.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/secrets.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/templates/service.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/templates/service.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-app/values.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-app/values.yaml with 95% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/.helmignore [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/.helmignore with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/Chart.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/Chart.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/requirements.yaml [new file with mode: 0755]
kubernetes/contrib/components/netbox/components/netbox-nginx/resources/config/nginx.conf [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/resources/config/nginx.conf with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/templates/NOTES.txt [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/templates/NOTES.txt with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/templates/configmap.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/templates/configmap.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/templates/deployment.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/templates/deployment.yaml with 96% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/templates/service.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/templates/service.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-nginx/values.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-nginx/values.yaml with 99% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/.helmignore [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/.helmignore with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/Chart.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/Chart.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/requirements.yaml [new file with mode: 0755]
kubernetes/contrib/components/netbox/components/netbox-postgres/templates/NOTES.txt [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/templates/NOTES.txt with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/templates/configmap.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/templates/configmap.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/templates/deployment.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/templates/deployment.yaml with 96% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/templates/pv.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/templates/pv.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/templates/pvc.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/templates/pvc.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/templates/service.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/templates/service.yaml with 100% similarity]
kubernetes/contrib/components/netbox/components/netbox-postgres/values.yaml [moved from kubernetes/contrib/components/netbox/charts/netbox-postgres/values.yaml with 98% similarity]
kubernetes/contrib/components/netbox/requirements.yaml
kubernetes/contrib/components/netbox/values.yaml
kubernetes/contrib/dns-server-for-vhost-ingress-testing/bind9dns/templates/deployment.yaml
kubernetes/contrib/requirements.yaml

index 32386fc..4d35146 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+# 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 := dns-server-for-vhost-ingress-testing ingress-nginx-post-inst metallb-loadbalancer-inst tools
 HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
 
-make-contrib: make-contrib-awx make-contrib-netbox make-contrib-ejbca make-contrib-core
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
 
-make-contrib-awx:
-       cd components && $(HELM_BIN) dep up awx && $(HELM_BIN) lint awx
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
 
-make-contrib-ejbca:
-       cd components && $(HELM_BIN) dep up ejbca && $(HELM_BIN) lint ejbca
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
 
-make-contrib-netbox:
-       cd components && $(HELM_BIN) dep up netbox && $(HELM_BIN) lint netbox
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
 
-make-contrib-core:
-       $(HELM_BIN) dep up . && $(HELM_BIN) lint .
+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:
-       @find . -type f -name '*.tgz' -delete
-       @find . -type f -name '*.lock' -delete
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/contrib/components/Makefile b/kubernetes/contrib/components/Makefile
new file mode 100644 (file)
index 0000000..bf267b7
--- /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 :=
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
index cb88b57..4c79718 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2019 Bell Canada
+# 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
+
+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-awx:
-       cd charts && $(HELM_BIN) dep up awx-postgres
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/contrib/components/awx/charts/awx/values.yaml b/kubernetes/contrib/components/awx/charts/awx/values.yaml
deleted file mode 100755 (executable)
index fd77a12..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright © 2019 Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Default values for mariadb.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-
-global: # global defaults
-  nodePortPrefixExt: 304
-  persistence: {}
-
-# application image
-repository: ansible
-image:
-  web: awx_web:9.0.1
-  task: awx_task:9.0.1
-  rabbitmq: awx_rabbitmq:3.7.4
-  memcached: memcached:1.5.20
-pullPolicy: Always
-
-# application configuration
-config:
-  postgresUser: awx
-  postgresPassword: awx
-  postgresDB: awx
-# RabbitMQ Configuration
-  rabbitmqUser: awx
-  rabbitmqPassword: awxpass
-  rabbitmqVhost: awx
-  rabbitmqErlangCookie: cookiemonster3
-# This will create or update a default admin (superuser) account in AWX, if not provided
-# then these default values are used
-  awxAdminUser: admin
-  awxAdminPassword: password
-  awxAdminEmail: cds@onap.org
-# AWX Secret key
-# It's *very* important that this stay the same between upgrades or you will lose the ability to decrypt
-# your credentials
-  secretKey: awxsecret
-
-ingress:
-  enabled: false
-
-# default number of instances
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  enabled: true
-
-## Persist data to a persitent volume
-persistence:
-  enabled: true
-  volumeReclaimPolicy: Retain
-
-  # Uncomment the storageClass parameter to use an existing PV
-  # that will match the following class.
-  # When uncomment the storageClass, the PV is not created anymore.
-
-  # storageClass: "nfs-dev-sc"
-
-  accessMode: ReadWriteOnce
-  size: 5Gi
-
-  # When using storage class, mountPath and mountSubPath are
-  # simply ignored.
-
-  mountPath: /dockerdata-nfs
-  mountSubPath: awx/pgdata
-
-service:
-  rmqmgmt:
-    type: ClusterIP
-    portName: rmqmgmt
-    internalPort: 15672
-    externalPort: 15672
-  web:
-    type: NodePort
-    portName: web
-    internalPort: 8052
-    externalPort: 80
-    nodePort: 78
-  rabbitmq:
-    type: ClusterIP
-    http:
-      portName: http
-      internalPort: 15672
-      externalPort: 15672
-    amqp:
-      portName: amqp
-      internalPort: 5672
-      externalPort: 5672
-
-resources: {}
diff --git a/kubernetes/contrib/components/awx/components/Makefile b/kubernetes/contrib/components/awx/components/Makefile
new file mode 100644 (file)
index 0000000..bf267b7
--- /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 :=
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-description: Ansible AWX application
-name: awx
-version: 6.0.0
+dependencies:
+  - name: common
+    version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
\ No newline at end of file
@@ -37,7 +37,7 @@ spec:
     spec:
       containers:
       - name: {{ include "common.name" . }}
-        image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
index a748aff..5eda4db 100755 (executable)
 dependencies:
   - name: common
     version: ~6.x-0
-    repository: '@local'
\ No newline at end of file
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
+  - name: awx-postgres    
+    version: ~6.x-0
+    repository: 'file://components/awx-postgres'
@@ -37,7 +37,7 @@ spec:
       restartPolicy: Never
       initContainers:
       - name: {{ include "common.name" . }}-init-readiness
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        image: {{ include "repositoryGenerator.image.readiness" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command:
         - /app/ready.py
@@ -53,7 +53,7 @@ spec:
       containers:
       - command: ["/bin/sh","-c"]
         args: ["/etc/tower/job-entrypoint.sh"]
-        image: "{{ .Values.repository }}/{{ .Values.image.task }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.task }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-mgnt
         resources:
@@ -44,7 +44,7 @@ spec:
 
       initContainers:
       - name: {{ include "common.name" . }}-init-readiness
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        image: {{ include "repositoryGenerator.image.readiness" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command:
         - /app/ready.py
@@ -60,7 +60,7 @@ spec:
 
       containers:
 
-      - image: "{{ .Values.repository }}/{{ .Values.image.web }}"
+      - image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.web }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-web
         ports:
@@ -88,7 +88,7 @@ spec:
         - name: AWX_SKIP_MIGRATIONS
           value: "1"
 
-        image: "{{ .Values.repository }}/{{ .Values.image.task }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.task }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-celery
         resources:
@@ -127,7 +127,7 @@ spec:
         - name: K8S_SERVICE_NAME
           value: {{ include "common.servicename" . }}-rabbitmq
 
-        image: "{{ .Values.repository }}/{{ .Values.image.rabbitmq }}"
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.rabbitmq }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-rabbit
         livenessProbe:
@@ -165,7 +165,7 @@ spec:
         - mountPath: /etc/rabbitmq
           name: rabbitmq-config
 
-      - image: "{{ .Values.image.memcached }}"
+      - image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.memcached }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-memcached
         resources:
index 1ed35c2..a29866d 100755 (executable)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  readinessRepository: nexus3.onap.org:10001
+# Default values for mariadb.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+global: # global defaults
   nodePortPrefixExt: 304
   commonConfigPrefix: awx
-  readinessImage: onap/oom/readiness:3.0.1
+  persistence: {}
 
-#################################################################
-# Application configuration defaults.
-#################################################################
 # application image
-repository: hub.docker.io
+image:
+  web: ansible/awx_web:9.0.1
+  task: ansible/awx_task:9.0.1
+  rabbitmq: ansible/awx_rabbitmq:3.7.4
+  memcached: memcached:1.5.20
 pullPolicy: Always
 
+# application configuration
+config:
+  postgresUser: awx
+  postgresPassword: awx
+  postgresDB: awx
+# RabbitMQ Configuration
+  rabbitmqUser: awx
+  rabbitmqPassword: awxpass
+  rabbitmqVhost: awx
+  rabbitmqErlangCookie: cookiemonster3
+# This will create or update a default admin (superuser) account in AWX, if not provided
+# then these default values are used
+  awxAdminUser: admin
+  awxAdminPassword: password
+  awxAdminEmail: cds@onap.org
+# AWX Secret key
+# It's *very* important that this stay the same between upgrades or you will lose the ability to decrypt
+# your credentials
+  secretKey: awxsecret
+
+ingress:
+  enabled: false
+
 # default number of instances
 replicaCount: 1
+
 nodeSelector: {}
+
 affinity: {}
 
-ingress:
-  enabled: false
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  enabled: true
+
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+  volumeReclaimPolicy: Retain
+
+  # Uncomment the storageClass parameter to use an existing PV
+  # that will match the following class.
+  # When uncomment the storageClass, the PV is not created anymore.
+
+  # storageClass: "nfs-dev-sc"
+
+  accessMode: ReadWriteOnce
+  size: 5Gi
+
+  # When using storage class, mountPath and mountSubPath are
+  # simply ignored.
+
+  mountPath: /dockerdata-nfs
+  mountSubPath: awx/pgdata
+
+service:
+  rmqmgmt:
+    type: ClusterIP
+    portName: rmqmgmt
+    internalPort: 15672
+    externalPort: 15672
+  web:
+    type: NodePort
+    portName: web
+    internalPort: 8052
+    externalPort: 80
+    nodePort: 78
+  rabbitmq:
+    type: ClusterIP
+    http:
+      portName: http
+      internalPort: 15672
+      externalPort: 15672
+    amqp:
+      portName: amqp
+      internalPort: 5672
+      externalPort: 5672
 
 resources: {}
index e87bc08..0054203 100644 (file)
@@ -23,3 +23,6 @@ dependencies:
     version: ~6.x-0
     repository: '@local'
     condition: not global.mariadbGalera.localCluster
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
index 55de54f..a10b059 100644 (file)
@@ -40,11 +40,11 @@ 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 }}
       containers:
       - name: {{ include "common.name" . }}-ejbca
-        image: {{ .Values.ejbca.image }}
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.ejbca.image }}
         imagePullPolicy: {{ .Values.pullPolicy }}
         lifecycle:
           postStart:
index 35160e4..c26bfe2 100644 (file)
@@ -12,8 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 global:
-  readinessImage: onap/oom/readiness:3.0.1
-  mariadbGalera: &mariadbGalera 
+  mariadbGalera: &mariadbGalera
     #This flag allows EJBCA to instantiate its own mariadb-galera cluster
     localCluster: false
     service: mariadb-galera
@@ -37,7 +36,6 @@ secrets:
     password: '{{ .Values.config.ejbca.clientIak }}'
 
 # application configuration
-repository: nexus3.onap.org:10001
 config:
   db:
     userName: ejbca
index da18203..4c79718 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada
+# 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
+
+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-netbox:
-       cd charts && $(HELM_BIN) dep up netbox-postgres && $(HELM_BIN) dep up netbox-nginx && $(HELM_BIN) dep up netbox-app
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/contrib/components/netbox/components/Makefile b/kubernetes/contrib/components/netbox/components/Makefile
new file mode 100644 (file)
index 0000000..bf267b7
--- /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 :=
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/contrib/components/netbox/components/netbox-app/requirements.yaml b/kubernetes/contrib/components/netbox/components/netbox-app/requirements.yaml
new file mode 100755 (executable)
index 0000000..9a0c10d
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
\ No newline at end of file
@@ -37,7 +37,7 @@ spec:
     spec:
       containers:
       - name: {{ include "common.name" . }}
-        image: {{ .Values.repository }}/{{ .Values.image }}
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
@@ -35,7 +35,7 @@ spec:
       restartPolicy: Never
       initContainers:
       - name: {{ include "common.name" . }}-init-readiness
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        image: {{ include "repositoryGenerator.image.readiness" . }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command:
         - /app/ready.py
@@ -50,7 +50,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - name: {{ include "common.name" . }}-provisioning-job
-        image: "{{ .Values.global.dockerHubRepository }}/{{ .Values.global.curlImage }}"
+        image: {{ include "repositoryGenerator.image.curl" . }}
         volumeMounts:
         - name: {{ include "common.fullname" . }}-provisioning
           mountPath: /tmp
@@ -42,11 +42,7 @@ config:
   superuserName: admin
   superuserEmail: admin@onap.org
 
-  curlImage: curlimages/curl:7.69.1
-  dockerHubRepository: docker.io
-
-repository: netboxcommunity
-image: netbox:v2.5.8
+image: netboxcommunity/netbox:v2.5.8
 
 # probe configuration parameters
 liveness:
diff --git a/kubernetes/contrib/components/netbox/components/netbox-nginx/requirements.yaml b/kubernetes/contrib/components/netbox/components/netbox-nginx/requirements.yaml
new file mode 100755 (executable)
index 0000000..9a0c10d
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
\ No newline at end of file
@@ -37,7 +37,7 @@ spec:
     spec:
       containers:
       - name: {{ include "common.name" . }}
-        image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["nginx"]
         args: ["-c", "/etc/netbox-nginx/nginx.conf","-g", "daemon off;"]
diff --git a/kubernetes/contrib/components/netbox/components/netbox-postgres/requirements.yaml b/kubernetes/contrib/components/netbox/components/netbox-postgres/requirements.yaml
new file mode 100755 (executable)
index 0000000..9a0c10d
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~6.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
\ No newline at end of file
@@ -37,7 +37,7 @@ spec:
     spec:
       containers:
       - name: {{ include "common.name" . }}
-        image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+        image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
index 6e0025e..29cf5e2 100755 (executable)
 dependencies:
   - name: common
     version: ~6.x-0
-    repository: '@local'
\ No newline at end of file
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'
+  - name: netbox-app
+    version: ~6.x-0
+    repository: 'file://components/netbox-app'
+  - name: netbox-nginx
+    version: ~6.x-0
+    repository: 'file://components/netbox-nginx'
+  - name: netbox-postgres
+    version: ~6.x-0
+    repository: 'file://components/netbox-postgres'
\ No newline at end of file
index 5dc4535..04d2f27 100755 (executable)
 # Global configuration defaults.
 #################################################################
 global:
-  readinessRepository: nexus3.onap.org:10001
   nodePortPrefixExt: 304
   commonConfigPrefix: netbox
-  readinessImage: onap/oom/readiness:3.0.1
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-repository: hub.docker.io
 pullPolicy: Always
 
 # default number of instances
index 1a76ba0..7640be6 100644 (file)
@@ -36,7 +36,7 @@ spec:
     spec:
       containers:
         - name: {{ .Chart.Name }}
-          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+          image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
           imagePullPolicy: {{ .Values.image.pullPolicy }}
           env:
             - name: DNS_FORWARDER
index b173931..7e60bfa 100644 (file)
@@ -28,3 +28,6 @@ dependencies:
     version: ~6.x-0
     repository: 'file://components/netbox'
     condition: netbox.enabled
+  - name: repositoryGenerator
+    version: ~6.x-0
+    repository: '@local'