From 65262242be3d77d44ab7940f55006a534bd7d9fe Mon Sep 17 00:00:00 2001
From: "Danylo Vanin (EPAM)" <danylo_vanin@epam.com>
Date: Fri, 1 Apr 2022 12:35:32 +0000
Subject: [PATCH] [GONRG-4552] Refactor Helm for Onprem

---
 .gitlab-ci.yml                                             | 4 ++--
 devops/gcp/configmap/templates/notification-configmap.yaml | 5 +++--
 devops/gcp/configmap/values.yaml                           | 6 ++++--
 devops/gcp/deploy/templates/deployment.yaml                | 6 ++++++
 devops/gcp/deploy/templates/service-account.yaml           | 7 +++++++
 devops/gcp/deploy/templates/service.yaml                   | 2 ++
 devops/gcp/deploy/values.yaml                              | 5 ++++-
 7 files changed, 28 insertions(+), 7 deletions(-)
 create mode 100644 devops/gcp/deploy/templates/service-account.yaml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d4c03c7e..8ab6bb250 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,8 +4,8 @@ variables:
   OSDU_GCP_HELM_DEPLOYMENT_DIR: "devops/gcp/deploy"
   OSDU_GCP_HELM_CONFIG_DIR: "devops/gcp/configmap"
   OSDU_GCP_HELM_NAMESPACE: "default"
-  OSDU_GCP_HELM_CONFIG_SERVICE_VARS: " --set data.log_level=$OSDU_GCP_LOG_LEVEL --set data.app_project=$OSDU_GCP_PROJECT --set data.app_googleaudience=$GOOGLE_AUDIENCE --set data.google_audiences=$GOOGLE_AUDIENCE --set data.app_register=$OSDU_GCP_REGISTER_API"
-  OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2: " --set data.log_level=$OSDU_GCP_LOG_LEVEL --set data.app_project=$OSDU_GCP_PROJECT --set data.app_googleaudience=$GOOGLE_AUDIENCE --set data.google_audiences=$GOOGLE_AUDIENCE --set data.app_register=$OSDU_GCP_REGISTER_API"
+  OSDU_GCP_HELM_CONFIG_SERVICE_VARS: " --set data.log_level=$OSDU_GCP_LOG_LEVEL --set data.google_audiences=$GOOGLE_AUDIENCE --set data.app_register=$OSDU_GCP_REGISTER_API"
+  OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2: " --set data.log_level=$OSDU_GCP_LOG_LEVEL --set data.google_audiences=$GOOGLE_AUDIENCE --set data.app_register=$OSDU_GCP_REGISTER_API"
   OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS: "--set data.image=$CI_REGISTRY_IMAGE/osdu-gcp:$CI_COMMIT_SHORT_SHA --set data.serviceAccountName=$OSDU_GCP_SERVICE-k8s"
   OSDU_GCP_HELM_CONFIG_SERVICE: "notification-config"
   OSDU_GCP_HELM_DEPLOYMENT_SERVICE: "notification-deploy"
diff --git a/devops/gcp/configmap/templates/notification-configmap.yaml b/devops/gcp/configmap/templates/notification-configmap.yaml
index 8b7b6e5f1..c3c1cbbf8 100644
--- a/devops/gcp/configmap/templates/notification-configmap.yaml
+++ b/devops/gcp/configmap/templates/notification-configmap.yaml
@@ -7,9 +7,10 @@ metadata:
   namespace: "{{ .Release.Namespace }}"
 data:
   LOG_LEVEL: "{{ .Values.data.log_level }}"
-  APP_PROJECT: "{{ .Values.data.app_project }}"
+  SPRING_PROFILES_ACTIVE: "{{ .Values.data.spring_profiles_active }}"
   APP_ENTITLEMENTS: "{{ .Values.data.app_entitlements }}"
   APP_REGISTER: "{{ .Values.data.app_register }}"
   PARTITION_API: "{{ .Values.data.partition_api }}"
+  {{- if not .Values.conf.on_prem_enabled }}
   GOOGLE_AUDIENCES: "{{ .Values.data.google_audiences }}"
-  SPRING_PROFILES_ACTIVE: "{{ .Values.data.spring_profiles_active }}"
+  {{- end }}
diff --git a/devops/gcp/configmap/values.yaml b/devops/gcp/configmap/values.yaml
index 078fa99c1..2316222a0 100644
--- a/devops/gcp/configmap/values.yaml
+++ b/devops/gcp/configmap/values.yaml
@@ -1,11 +1,13 @@
 data:
+  # common
   log_level: "INFO"
-  app_project: ""
+  spring_profiles_active: "gcp"
   app_entitlements: "http://entitlements/api/entitlements/v2/"
   app_register: "http://register/api/register/v1"
   partition_api: "http://partition/api/partition/v1/"
+  # gcp
   google_audiences: ""
-  spring_profiles_active: "gcp"
 conf:
   configmap: "notification-config"
   app_name: "notification"
+  on_prem_enabled: false
diff --git a/devops/gcp/deploy/templates/deployment.yaml b/devops/gcp/deploy/templates/deployment.yaml
index 7fec0eb26..11d6d40c1 100644
--- a/devops/gcp/deploy/templates/deployment.yaml
+++ b/devops/gcp/deploy/templates/deployment.yaml
@@ -24,6 +24,12 @@ spec:
           envFrom:
           - configMapRef:
               name: "{{ .Values.conf.configmap }}"
+          {{- if .Values.conf.on_prem_enabled }}
+          - secretRef:
+              name: "{{ .Values.conf.rabbitmq_secret_name }}"
+          - secretRef:
+              name: "{{ .Values.conf.openid_secret_name }}"
+          {{- end }}
           securityContext:
             allowPrivilegeEscalation: false
             runAsUser: 0
diff --git a/devops/gcp/deploy/templates/service-account.yaml b/devops/gcp/deploy/templates/service-account.yaml
new file mode 100644
index 000000000..61f46c8a5
--- /dev/null
+++ b/devops/gcp/deploy/templates/service-account.yaml
@@ -0,0 +1,7 @@
+{{- if .Values.conf.on_prem_enabled }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: "{{ .Values.data.serviceAccountName }}"
+  namespace: "{{ .Release.Namespace }}"
+{{- end }}
diff --git a/devops/gcp/deploy/templates/service.yaml b/devops/gcp/deploy/templates/service.yaml
index d92e1b6fb..7f88561aa 100644
--- a/devops/gcp/deploy/templates/service.yaml
+++ b/devops/gcp/deploy/templates/service.yaml
@@ -3,7 +3,9 @@ kind: Service
 metadata:
   name: "{{ .Values.conf.app_name }}"
   annotations:
+  {{- if not .Values.conf.on_prem_enabled }}
     cloud.google.com/neg: '{"ingress": true}'
+  {{- end }}
   namespace: "{{ .Release.Namespace }}"
   labels:
     app: "{{ .Values.conf.app_name }}"
diff --git a/devops/gcp/deploy/values.yaml b/devops/gcp/deploy/values.yaml
index 4def71de0..08f3d3731 100644
--- a/devops/gcp/deploy/values.yaml
+++ b/devops/gcp/deploy/values.yaml
@@ -3,10 +3,13 @@ data:
   requests_memory: "256M"
   limits_cpu: "1"
   limits_memory: "1G"
-  serviceAccountName: ""
+  serviceAccountName: "notification"
   imagePullPolicy: "IfNotPresent"
   image: ""
 
 conf:
   configmap: "notification-config"
   app_name: "notification"
+  rabbitmq_secret_name: "rabbitmq-secret"
+  openid_secret_name: "notification-keycloak-secret"
+  on_prem_enabled: false
-- 
GitLab