Initial delivery of helm charts to deploy mod2 components. Resolved all 88/118988/2
authormssivakumar01 <ss426e@att.com>
Tue, 9 Mar 2021 17:58:21 +0000 (12:58 -0500)
committermssivakumar01 <ss426e@att.com>
Fri, 12 Mar 2021 21:40:45 +0000 (16:40 -0500)
the comments.

Issue-ID: DCAEGEN2-2318
Change-Id: I4a5fee682d9cec03d96212b7f73f7b52a46819b0
Signed-off-by: mssivakumar01 <ss426e@att.com>
23 files changed:
mod2/assembly/docker-compose.yml
mod2/assembly/helm/Chart.yaml [new file with mode: 0644]
mod2/assembly/helm/Makefile [new file with mode: 0644]
mod2/assembly/helm/components/auth-service/Chart.yaml [new file with mode: 0644]
mod2/assembly/helm/components/auth-service/requirements.yaml [new file with mode: 0644]
mod2/assembly/helm/components/auth-service/templates/deployment.yaml [new file with mode: 0644]
mod2/assembly/helm/components/auth-service/templates/secrets.yaml [new file with mode: 0644]
mod2/assembly/helm/components/auth-service/templates/service.yaml [new file with mode: 0644]
mod2/assembly/helm/components/auth-service/values.yaml [new file with mode: 0644]
mod2/assembly/helm/components/catalog-service/Chart.yaml [new file with mode: 0644]
mod2/assembly/helm/components/catalog-service/requirements.yaml [new file with mode: 0644]
mod2/assembly/helm/components/catalog-service/templates/deployment.yaml [new file with mode: 0644]
mod2/assembly/helm/components/catalog-service/templates/secrets.yaml [new file with mode: 0644]
mod2/assembly/helm/components/catalog-service/templates/service.yaml [new file with mode: 0644]
mod2/assembly/helm/components/catalog-service/values.yaml [new file with mode: 0644]
mod2/assembly/helm/components/ui/Chart.yaml [new file with mode: 0644]
mod2/assembly/helm/components/ui/requirements.yaml [new file with mode: 0644]
mod2/assembly/helm/components/ui/templates/deployment.yaml [new file with mode: 0644]
mod2/assembly/helm/components/ui/templates/secrets.yaml [new file with mode: 0644]
mod2/assembly/helm/components/ui/templates/service.yaml [new file with mode: 0644]
mod2/assembly/helm/components/ui/values.yaml [new file with mode: 0644]
mod2/assembly/helm/requirements.yaml [new file with mode: 0644]
mod2/assembly/helm/values.yaml [new file with mode: 0644]

index f421e19..3e2a1ee 100644 (file)
@@ -47,10 +47,14 @@ services:
     image: 'nexus3.onap.org:10003/onap/org.onap.dcaegen2.platform.mod.catalog-service:latest'
     container_name: mod_catalog_service
        environment:
-         - DEV_SERVER=${DEV_SERVER}
-         - DEV_PORT=${DEV_PORT}
-         - DEV_USER=${DEV_USER}
-         - DEV_PASSWORD=${DEV_PASSWORD}          
+         - POLICYMODEL_DEV_SERVER=${POLICYMODEL_DEV_SERVER}
+         - POLICYMODEL_DEV_PORT=${POLICYMODEL_DEV_PORT}
+         - POLICYMODEL_DEV_USER=${POLICYMODEL_DEV_USER}
+         - POLICYMODEL_DEV_PASSWORD=${POLICYMODEL_DEV_PASSWORD}
+         - DCAE_PLATFORM_DEV_SERVER=${DCAE_PLATFORM_DEV_SERVER}
+         - DCAE_PLATFORM_DEV_PORT=${DCAE_PLATFORM__DEV_PORT}
+         - DCAE_PLATFORM_DEV_USER=${DCAE_PLATFORM_DEV_USER}
+         - DCAE_PLATFORM_DEV_PASSWORD=${DCAE_PLATFORM_DEV_PASSWORD}      
     ports:
       - 31001:8080
     links:
diff --git a/mod2/assembly/helm/Chart.yaml b/mod2/assembly/helm/Chart.yaml
new file mode 100644 (file)
index 0000000..0fe3f69
--- /dev/null
@@ -0,0 +1,4 @@
+apiVersion: v1
+name: dcaemod2
+description: Helm chart for dcaemod2
+version: 1.0.0
diff --git a/mod2/assembly/helm/Makefile b/mod2/assembly/helm/Makefile
new file mode 100644 (file)
index 0000000..25ff5d4
--- /dev/null
@@ -0,0 +1,43 @@
+
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+all: $(HELM_CHARTS)
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
+
diff --git a/mod2/assembly/helm/components/auth-service/Chart.yaml b/mod2/assembly/helm/components/auth-service/Chart.yaml
new file mode 100644 (file)
index 0000000..7623cd3
--- /dev/null
@@ -0,0 +1,5 @@
+apiVersion: v1
+name: auth-service
+description: A Helm chart for nsa-mic auth service
+type: application
+version: 1.0.0
diff --git a/mod2/assembly/helm/components/auth-service/requirements.yaml b/mod2/assembly/helm/components/auth-service/requirements.yaml
new file mode 100644 (file)
index 0000000..ed01649
--- /dev/null
@@ -0,0 +1,25 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~7.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~7.x-0
+    repository: '@local'
+
diff --git a/mod2/assembly/helm/components/auth-service/templates/deployment.yaml b/mod2/assembly/helm/components/auth-service/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..484d8fa
--- /dev/null
@@ -0,0 +1,74 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+  replicas: 1
+  selector: {{- include "common.selectors" . | nindent 4 }}
+  template:
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+    spec:
+      initContainers:
+        - name: {{ include "common.name" . }}-readiness
+          image: {{ include "repositoryGenerator.image.readiness" . }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          command:
+            - /app/ready.py
+          args:
+          - --container-name
+          - dcaemod2-mongo
+          - "-t"
+          - "15"
+          env:
+          - name: NAMESPACE
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports: {{ include "common.containerPorts" . | nindent 10  }}
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.liveness.port }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          {{- if eq .Values.readiness.enabled true }}
+          readinessProbe:
+            httpGet:
+              path: {{ .Values.readiness.path }}
+              port: {{ .Values.service.internalPort }}
+              scheme: {{ .Values.readiness.scheme }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          {{ end }}
+          resources: {{ include "common.resources" . | nindent 12 }}
+          env:
+            - name: SPRING_DATA_MONGODB_HOST
+              value: {{ .Values.config.mongoDb }}
+
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
+
diff --git a/mod2/assembly/helm/components/auth-service/templates/secrets.yaml b/mod2/assembly/helm/components/auth-service/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..3c527f8
--- /dev/null
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/mod2/assembly/helm/components/auth-service/templates/service.yaml b/mod2/assembly/helm/components/auth-service/templates/service.yaml
new file mode 100644 (file)
index 0000000..ff30393
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "common.service" . }}
diff --git a/mod2/assembly/helm/components/auth-service/values.yaml b/mod2/assembly/helm/components/auth-service/values.yaml
new file mode 100644 (file)
index 0000000..6ae86b3
--- /dev/null
@@ -0,0 +1,80 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  nodePortPrefixExt: 304
+
+config:
+  mongoDb: "dcaemod2-mongohost"
+
+service:
+  type: NodePort
+  name: auth-service
+  externalPort: 8082
+  internalPort: 8082
+  ports:
+    - name: http
+      port: 8082
+      port_protocol: http
+      nodePort: 3
+  nodePortPrefixOverride : 3100
+
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 30
+  port: http
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 20
+  path: /
+  scheme: HTTP
+  enabled: false
+  # Should have a proper readiness endpoint or script
+
+# application image
+image: onap/org.onap.dcaegen2.platform.mod.auth-service:latest
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+
diff --git a/mod2/assembly/helm/components/catalog-service/Chart.yaml b/mod2/assembly/helm/components/catalog-service/Chart.yaml
new file mode 100644 (file)
index 0000000..c4fc16c
--- /dev/null
@@ -0,0 +1,5 @@
+apiVersion: v1
+name: catalog-service
+description: A Helm chart for nsa-mic catalog service
+type: application
+version: 1.0.0
diff --git a/mod2/assembly/helm/components/catalog-service/requirements.yaml b/mod2/assembly/helm/components/catalog-service/requirements.yaml
new file mode 100644 (file)
index 0000000..ed01649
--- /dev/null
@@ -0,0 +1,25 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~7.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~7.x-0
+    repository: '@local'
+
diff --git a/mod2/assembly/helm/components/catalog-service/templates/deployment.yaml b/mod2/assembly/helm/components/catalog-service/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..3acbc58
--- /dev/null
@@ -0,0 +1,88 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+  replicas: 1
+  selector: {{- include "common.selectors" . | nindent 4 }}
+  template:
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+    spec:
+      initContainers:
+        - name: {{ include "common.name" . }}-readiness
+          image: {{ include "repositoryGenerator.image.readiness" . }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          command:
+            - /app/ready.py
+          args:
+          - --container-name
+          - dcaemod2-mongo
+          - "-t"
+          - "15"
+          env:
+          - name: NAMESPACE
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports: {{ include "common.containerPorts" . | nindent 10  }}
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.liveness.port }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            httpGet:
+              path: {{ .Values.readiness.path }}
+              port: {{ .Values.service.internalPort }}
+              scheme: {{ .Values.readiness.scheme }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          resources: {{ include "common.resources" . | nindent 12 }}
+          env:
+            - name: POLICYMODEL_DEV_SERVER
+              value: {{ .Values.config.policyModelDevServer }}
+            - name: POLICYMODEL_DEV_PORT
+              value: "30522"
+            - name: POLICYMODEL_DEV_User
+              value: {{ .Values.config.policyModelDevUser }}
+            - name: POLICYMODEL_DEV_PASSWORD
+              value: {{ .Values.config.policyModelDevPassword }}
+            - name: DCAE_PLATFORM_DEV_SERVER
+              value: {{ .Values.config.dcaePlatformDevServer }}
+            - name: DCAE_PLATFORM_DEV_PORT
+              value: "30418"
+            - name: DCAE_PLATFORM_DEV_User
+              value: {{ .Values.config.dcaePlatformDevUser }}
+            - name: DCAE_PLATFORM_DEV_PASSWORD
+              value: {{ .Values.config.dcaePlatformDevPassword }}
+            - name: SPRING_DATA_MONGODB_HOST
+              value: {{ .Values.config.mongoDb }}
+
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
+
diff --git a/mod2/assembly/helm/components/catalog-service/templates/secrets.yaml b/mod2/assembly/helm/components/catalog-service/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..3c527f8
--- /dev/null
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/mod2/assembly/helm/components/catalog-service/templates/service.yaml b/mod2/assembly/helm/components/catalog-service/templates/service.yaml
new file mode 100644 (file)
index 0000000..ff30393
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "common.service" . }}
diff --git a/mod2/assembly/helm/components/catalog-service/values.yaml b/mod2/assembly/helm/components/catalog-service/values.yaml
new file mode 100644 (file)
index 0000000..53b96f2
--- /dev/null
@@ -0,0 +1,90 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  nodePortPrefixExt: 304
+  repository: nexus3.onap.org:10001
+  readinessImage: onap/oom/readiness:3.0.1
+
+config:
+  policyModelDevServer: "<K8SNodeip>"
+  policyModelDevPort: "30522"
+  policyModelDevUser: "healthcheck"
+  policyModelDevPassword: "<PASSWORD>"
+  dcaePlatformDevServer: "<K8SNodeip>"
+  dcaePlatformDevPort: "30418"
+  dcaePlatformDevUser: "su1234"
+  dcaePlatformDevPassword: "<PASSWORD>"
+  mongoDb: "dcaemod2-mongohost"
+
+service:
+  type: NodePort
+  name: catalog-service
+  ports:
+    - name: http
+      port: 8080
+      port_protocol: http
+      nodePort: 1
+  nodePortPrefixOverride : 3100
+  externalPort: 8080
+  internalPort: 8080
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 30
+  port: http
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 20
+  path: /swagger-ui.html
+  #path: /
+  scheme: HTTP
+  # Should have a proper readiness endpoint or script
+
+# application image
+image: onap/org.onap.dcaegen2.platform.mod.catalog-service:1.0.1-SNAPSHOT
+#image: nginx
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+
diff --git a/mod2/assembly/helm/components/ui/Chart.yaml b/mod2/assembly/helm/components/ui/Chart.yaml
new file mode 100644 (file)
index 0000000..d695e1b
--- /dev/null
@@ -0,0 +1,5 @@
+apiVersion: v1
+name: dcaemod2-ui
+description: A Helm chart for dcaemod2 UI
+type: application
+version: 1.0.0
diff --git a/mod2/assembly/helm/components/ui/requirements.yaml b/mod2/assembly/helm/components/ui/requirements.yaml
new file mode 100644 (file)
index 0000000..ed01649
--- /dev/null
@@ -0,0 +1,25 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~7.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~7.x-0
+    repository: '@local'
+
diff --git a/mod2/assembly/helm/components/ui/templates/deployment.yaml b/mod2/assembly/helm/components/ui/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..90352d3
--- /dev/null
@@ -0,0 +1,52 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+  replicas: 1
+  selector: {{- include "common.selectors" . | nindent 4 }}
+  template:
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+    spec:
+      containers:
+        - name: {{ include "common.name" . }}
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports: {{ include "common.containerPorts" . | nindent 10  }}
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.liveness.port }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.readiness.port }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          resources: {{ include "common.resources" . | nindent 12 }}
+          env:
+            - name: DCAE_HOSTNAME
+              value: {{ .Values.config.dcaeHostname }}
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
+
diff --git a/mod2/assembly/helm/components/ui/templates/secrets.yaml b/mod2/assembly/helm/components/ui/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..3c527f8
--- /dev/null
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/mod2/assembly/helm/components/ui/templates/service.yaml b/mod2/assembly/helm/components/ui/templates/service.yaml
new file mode 100644 (file)
index 0000000..ff30393
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "common.service" . }}
diff --git a/mod2/assembly/helm/components/ui/values.yaml b/mod2/assembly/helm/components/ui/values.yaml
new file mode 100644 (file)
index 0000000..c5c2222
--- /dev/null
@@ -0,0 +1,100 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  nodePortPrefixExt: 304
+  repository: nexus3.onap.org:10001
+  readinessImage: onap/oom/readiness:3.0.1
+
+config:
+  dcaeHostname: <K8SNodeip>
+#   # The dashboard credentials aren't actually used, since
+#   # the inventory API and the dashboard pass-through to the
+#   # inventory API don't require authentication.
+#   # Since the password doesn't matter, we let it be
+#   # generated by the common secret template.
+#   dashboardUser: nobody
+#   #dashboardPassword: doesntmatter
+#   mrTopicURL: http://message-router:3904/events
+#   importCloudify: https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
+#   importK8S: plugin:k8splugin?version=3.4.2
+#   importPostgres: plugin:pgaas?version=1.3.0
+#   importClamp: plugin:clamppolicyplugin?version=1.1.0
+#   importDMaaP: plugin:dmaap?version=1.5.0
+#   useDmaapPlugin: false
+
+# secrets:
+#   - uid: "dashsecret"
+#     type: basicAuth
+#     login: '{{ .Values.config.dashboardUser }}'
+#     password: '{{ .Values.config.dashboardPassword }}'
+#     passwordPolicy: generate
+
+service:
+  type: NodePort
+  name: dcaemod2-ui
+  externalPort: 4200
+  internalPort: 4200
+  ports:
+    - name: http
+      port: 4200
+      port_protocol: http
+      nodePort: 9
+  nodePortPrefixOverride : 3100
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 30
+  port: http
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 20
+  port: 4200
+  # Should have a proper readiness endpoint or script
+
+# application image
+image: onap/org.onap.dcaegen2.platform.mod.ui:latest
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+
diff --git a/mod2/assembly/helm/requirements.yaml b/mod2/assembly/helm/requirements.yaml
new file mode 100644 (file)
index 0000000..0c6dd09
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright (c) 2020 AT&T Intellectual Property.  All rights reserved.
+#
+# 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: ~7.x-0
+      repository: '@local'
+    - name: catalog-service
+      version: ~1.x-0
+      repository: 'file://components/catalog-service'
+      condition: catalog-service.enabled
+    - name: auth-service
+      version: ~1.x-0
+      repository: 'file://components/auth-service'
+      condition: auth-service.enabled
+    - name: dcaemod2-ui
+      version: ~1.x-0
+      repository: 'file://components/ui'
+      condition: dcaemod2-ui.enabled
+    - name: mongo
+      version: ~7.x-0
+      repository: '@local'
+      condition: mongo.enabled
+    - name: repositoryGenerator
+      version: ~7.x-0
+      repository: '@local'
+
diff --git a/mod2/assembly/helm/values.yaml b/mod2/assembly/helm/values.yaml
new file mode 100644 (file)
index 0000000..1f04463
--- /dev/null
@@ -0,0 +1,35 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repository: nexus3.onap.org:10001
+  dockerHubRepository: &dockerHubRepository docker.io
+  elasticRepository: &elasticRepository docker.elastic.co
+  googleK8sRepository: k8s.gcr.io
+
+
+# Enable all DCAE MOD components by default
+mongo:
+  enabled: true
+catalog-service:
+  enabled: true
+auth-service:
+  enabled: true
+dcaemod2-ui:
+  enabled: true
+
+mongo:
+  nameOverride: dcaemod2-mongo
+  config:
+    dbName: dcae_mod
+  service:
+    name: dcaemod2-mongohost
+    internalPort: 27017
+  nfsprovisionerPrefix: dcaemod2mongo
+  sdnctlPrefix: mod2
+  persistence:
+    mountSubPath: dcaemod2/mongo/data
+    enabled: true
+  disableNfsProvisioner: true
+