[DCAEGEN2] Deploy DCAEGEN2-Slice Analysis Microservices to Helm

DCAE Helm Transformation (Phase-2)

Issue-ID: DCAEGEN2-2763
Signed-off-by: denilson.l65 <denilson.l65@wipro.com>
Change-Id: Ibffd469bde1dd12bbcd682164dc9db8469b900f5
diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml
new file mode 100644
index 0000000..64b0d0f
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml
@@ -0,0 +1,23 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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: v1
+appVersion: "Honolulu"
+description: DCAE SliceAnalysis MS charts
+name: dcae-slice-analysis-ms
+version: 8.0.0
+
diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml
new file mode 100644
index 0000000..9cab8e9
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml
@@ -0,0 +1,34 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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: ~8.x-0
+    repository: '@local'
+  - name: postgres
+    version: ~8.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~8.x-0
+    repository: '@local'
+  - name: readinessCheck
+    version: ~8.x-0
+    repository: '@local'
+  - name: dcaegen2-services-common
+    version: ~8.x-0
+    repository: '@local'
+
diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml
new file mode 100644
index 0000000..26be310
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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 "dcaegen2-services-common.configMap" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml
new file mode 100644
index 0000000..02b5df8
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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 "dcaegen2-services-common.microserviceDeployment" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml
new file mode 100644
index 0000000..c4596e5
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml
new file mode 100644
index 0000000..ba0283d
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# 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/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml
new file mode 100644
index 0000000..6790541
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml
@@ -0,0 +1,212 @@
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# ============================================================================
+# 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
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+  - uid: &aafCredsUID aafcreds
+    type: basicAuth
+    login: '{{ .Values.aafCreds.identity }}'
+    password: '{{ .Values.aafCreds.password }}'
+    passwordPolicy: required
+  - uid: &pgUserCredsSecretUid pg-user-creds
+    name: &pgUserCredsSecretName '{{ include "common.release" . }}-sliceanalysisms-pg-user-creds'
+    type: basicAuth
+    externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "sliceanalysisms-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+    login: '{{ .Values.postgres.config.pgUserName }}'
+    password: '{{ .Values.postgres.config.pgUserPassword }}'
+    passwordPolicy: generate
+
+################################aafcreds#################################
+# InitContainer Images.
+#################################################################
+tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4
+
+# Log directory where logging sidecar should look for log files
+# if absent, no sidecar will be deployed
+logDirectory: /var/log/ONAP/dcaegen2/services/sliceanalysisms
+
+# Directory where TLS certs should be stored
+# if absent, no certs will be retrieved and stored
+certDirectory: /opt/app/sliceanalysisms/etc/cert/
+
+# TLS role -- set to true if microservice acts as server
+# If true, an init container will retrieve a server cert
+# and key from AAF and mount them in certDirectory.
+tlsServer: true
+
+# Dependencies
+readinessCheck:
+  wait_for:
+    - dcae-config-binding-service
+    - aaf-cm
+    - &postgresName dcae-sliceanalysisms-postgres
+
+# Probe Configuration
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 15
+  timeoutSeconds: 1
+  path: /healthcheck
+  scheme: HTTP
+  port: 8080
+
+# Service Configuration
+service:
+  type: ClusterIP
+  name: dcae-slice-analysis-ms
+  ports:
+    - name: https
+      port: 8080
+      port_protocol: http
+
+# AAF Credentials
+aafCreds:
+  identity: dcae@dcae.onap.org
+  password: demo123456!
+
+credentials:
+- name: AAF_IDENTITY
+  uid: *aafCredsUID
+  key: login
+- name: AAF_PASSWORD
+  uid: *aafCredsUID
+  key: password
+- name: PG_USERNAME
+  uid:  *pgUserCredsSecretUid
+  key: login
+- name: PG_PASSWORD
+  uid: *pgUserCredsSecretUid
+  key: password
+
+# Initial Application Configuration
+applicationConfig:
+  aafUsername: ${AAF_IDENTITY}
+  aafPassword: ${AAF_PASSWORD}
+  postgres.host: dcae-sliceanalysisms-pg-primary
+  postgres.port: 5432
+  postgres.username: ${PG_USERNAME}
+  postgres.password: ${PG_PASSWORD}
+  trust_store_path: /opt/app/sliceanalysisms/etc/cert/trust.jks
+  trust_store_pass_path: /opt/app/sliceanalysisms/etc/cert/trust.pass
+  sliceanalysisms.pollingInterval: 20
+  sliceanalysisms.pollingTimeout: 60
+  cbsPollingInterval: 60
+  sliceanalysisms.namespace: onap
+  sliceanalysisms.dmaap.server: ["message-router"]
+  sliceanalysisms.bufferTime: 60
+  sliceanalysisms.cg: sliceanalysisms-cg
+  sliceanalysisms.cid: sliceanalysisms-cid
+  sliceanalysisms.configDb.service: http://config-db:8080
+  sliceanalysisms.configDbEnabled: true
+  sliceanalysisms.aai.url: https://aai.onap.svc.cluster.local:8443/aai/v21
+  sliceanalysisms.cps.url: https://cps:8088
+  sliceanalysisms.samples: 3
+  sliceanalysisms.minPercentageChange: 5
+  sliceanalysisms.initialDelaySeconds: 120000
+  streams_publishes:
+    CL_topic:
+      type: message-router
+      aaf_username: ${AAF_IDENTITY}
+      aaf_password: ${AAF_PASSWORD}
+      dmaap_info:
+        topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT
+  streams_subscribes:
+    performance_management_topic:
+      type: message-router
+      aaf_username: ${AAF_IDENTITY}
+      aaf_password: ${AAF_PASSWORD}
+      dmaap_info:
+        topic_url: https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS
+    intelligent_slicing_topic:
+      type: message-router
+      aaf_username: ${AAF_IDENTITY}
+      aaf_password: ${AAF_PASSWORD}
+      dmaap_info:
+        topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC
+    dcae_cl_response_topic:
+      type: message-router
+      aaf_username: ${AAF_IDENTITY}
+      aaf_password: ${AAF_PASSWORD}
+      dmaap_info:
+        topic_url: https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP
+
+applicationEnv:
+  STANDALONE: 'false'
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+# Segregation for Different Environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+
+#################################################################
+# Application configuration Overriding Defaults in the Postgres.
+#################################################################
+postgres:
+  nameOverride: *postgresName
+  service:
+    name: *postgresName
+    name2: dcae-sliceanalysisms-pg-primary
+    name3: dcae-sliceanalysisms-pg-replica
+  container:
+    name:
+      primary: dcae-sliceanalysisms-pg-primary
+      replica: dcae-sliceanalysisms-pg-replica
+  persistence:
+    mountSubPath: sliceanalysisms/data
+    mountInitPath: sliceanalysisms
+  config:
+    pgUserName: sliceanalysisms
+    pgDatabase: sliceanalysisms
+    pgUserExternalSecret: *pgUserCredsSecretName