From 553e89803dba085586ee6e6fa1215c0e500b5fe4 Mon Sep 17 00:00:00 2001
From: Oleksandr Kosse <oleksandr_kosse@epam.com>
Date: Sun, 19 Mar 2023 14:08:21 +0100
Subject: [PATCH] [GONRG-6649] Define global vars in policy

---
 devops/gc/deploy/README.md                               | 9 +++++++--
 devops/gc/deploy/templates/opa-configmap.yaml            | 2 +-
 devops/gc/deploy/templates/opa-deployment.yaml           | 2 +-
 devops/gc/deploy/templates/opa-service-account.yaml      | 2 +-
 devops/gc/deploy/templates/opa-virtual-service.yaml      | 8 ++++----
 .../gc/deploy/templates/policy-configmap-bootstrap.yaml  | 2 +-
 devops/gc/deploy/templates/policy-configmap.yaml         | 2 +-
 .../gc/deploy/templates/policy-deployment-bootstrap.yaml | 2 +-
 devops/gc/deploy/templates/policy-deployment.yaml        | 2 +-
 devops/gc/deploy/templates/policy-service-account.yaml   | 2 +-
 devops/gc/deploy/templates/policy-service.yaml           | 2 +-
 devops/gc/deploy/templates/policy-virtual-service.yaml   | 8 ++++----
 devops/gc/deploy/values.yaml                             | 6 ++++--
 13 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/devops/gc/deploy/README.md b/devops/gc/deploy/README.md
index 28b16a17..33b3dce5 100644
--- a/devops/gc/deploy/README.md
+++ b/devops/gc/deploy/README.md
@@ -27,6 +27,13 @@ Packages are only needed for installation from a local computer.
 
 First you need to set variables in **values.yaml** file using any code editor. Some of the values are prefilled, but you need to specify some values as well. You can find more information about them below.
 
+### Global variables
+
+| Name | Description | Type | Default |Required |
+|------|-------------|------|---------|---------|
+**global.domain** | your domain for the external endpoint, ex `example.com` | string | - | yes
+**global.onPremEnabled** | whether on-prem is enabled | boolean | false | yes
+
 ### Common variables
 
 | Name | Description | Type | Default |Required |
@@ -50,7 +57,6 @@ First you need to set variables in **values.yaml** file using any code editor. S
 
 | Name | Description | Type | Default |Required |
 |------|-------------|------|---------|---------|
-**conf.onPremEnabled** | whether on-prem is enabled | boolean | false | yes
 **data.minioHost** | minio host | string | http://minio:9000 | yes
 **conf.minioSecretName** | secret name for the app | string | "policy-minio-secret" | yes
 
@@ -60,7 +66,6 @@ First you need to set variables in **values.yaml** file using any code editor. S
 |------|-------------|------|---------|---------|
 **conf.appName** | name of the app | string | policy | yes
 **conf.configmap** | configmap to be used | string | policy-config | yes
-**conf.domain** | your domain | string | - | yes
 **conf.bootstrapSecretName** | secret name for the bootstrap | string | "minio-bootstrap-secret" | yes
 **data.dataPartitionId** | data partition id | string | - | yes
 **data.dataPartitionIdList** | list of secondary data partition ids in case of multipartition | string | - | no
diff --git a/devops/gc/deploy/templates/opa-configmap.yaml b/devops/gc/deploy/templates/opa-configmap.yaml
index 304893f4..aca6be1c 100644
--- a/devops/gc/deploy/templates/opa-configmap.yaml
+++ b/devops/gc/deploy/templates/opa-configmap.yaml
@@ -6,7 +6,7 @@ metadata:
   name: "{{ .Values.opa.conf.configmap }}"
   namespace: "{{ .Release.Namespace }}"
 data:
-{{- if not .Values.conf.onPremEnabled }}
+{{- if not .Values.global.onPremEnabled }}
   config.yaml: |
     services:
       gcs:
diff --git a/devops/gc/deploy/templates/opa-deployment.yaml b/devops/gc/deploy/templates/opa-deployment.yaml
index 04be2882..f19d7289 100644
--- a/devops/gc/deploy/templates/opa-deployment.yaml
+++ b/devops/gc/deploy/templates/opa-deployment.yaml
@@ -48,7 +48,7 @@ spec:
         envFrom:
         - configMapRef:
             name: "{{ .Values.opa.conf.envConfig }}"
-        {{- if .Values.conf.onPremEnabled }}
+        {{- if .Values.global.onPremEnabled }}
         env:
         - name: AWS_ACCESS_KEY_ID
           valueFrom:
diff --git a/devops/gc/deploy/templates/opa-service-account.yaml b/devops/gc/deploy/templates/opa-service-account.yaml
index 3a26b041..f6b36b8f 100644
--- a/devops/gc/deploy/templates/opa-service-account.yaml
+++ b/devops/gc/deploy/templates/opa-service-account.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.conf.onPremEnabled }}
+{{- if .Values.global.onPremEnabled }}
 apiVersion: v1
 kind: ServiceAccount
 metadata:
diff --git a/devops/gc/deploy/templates/opa-virtual-service.yaml b/devops/gc/deploy/templates/opa-virtual-service.yaml
index cdbc4db1..9b7a9d3a 100644
--- a/devops/gc/deploy/templates/opa-virtual-service.yaml
+++ b/devops/gc/deploy/templates/opa-virtual-service.yaml
@@ -5,10 +5,10 @@ metadata:
   namespace: "{{ .Release.Namespace }}"
 spec:
   hosts:
-    {{- if and .Values.conf.domain .Values.conf.onPremEnabled }}
-    - {{ printf "osdu.%s" .Values.conf.domain | quote }}
-    {{- else if .Values.conf.domain }}
-    - {{ .Values.conf.domain | quote }}
+    {{- if and .Values.global.domain .Values.global.onPremEnabled }}
+    - {{ printf "osdu.%s" .Values.global.domain | quote }}
+    {{- else if .Values.global.domain }}
+    - {{ .Values.global.domain | quote }}
     {{- else }}
     - "*"
     {{- end }}
diff --git a/devops/gc/deploy/templates/policy-configmap-bootstrap.yaml b/devops/gc/deploy/templates/policy-configmap-bootstrap.yaml
index b95a6c14..cacbcd3e 100644
--- a/devops/gc/deploy/templates/policy-configmap-bootstrap.yaml
+++ b/devops/gc/deploy/templates/policy-configmap-bootstrap.yaml
@@ -9,4 +9,4 @@ data:
   POLICY_BUCKET: "{{ .Values.data.bucketName }}"
   DATA_PARTITION: "{{ .Values.data.dataPartitionId }}"
   DATA_PARTITION_ID_LIST: {{ join "," .Values.data.dataPartitionIdList | quote }}
-  ONPREM_ENABLED: "{{ .Values.conf.onPremEnabled }}"
+  ONPREM_ENABLED: "{{ .Values.global.onPremEnabled }}"
diff --git a/devops/gc/deploy/templates/policy-configmap.yaml b/devops/gc/deploy/templates/policy-configmap.yaml
index 405abd48..3e1c0c82 100644
--- a/devops/gc/deploy/templates/policy-configmap.yaml
+++ b/devops/gc/deploy/templates/policy-configmap.yaml
@@ -13,7 +13,7 @@ data:
   LEGAL_BASE_URL: "{{ .Values.data.legalHost }}"
   POLICY_BUCKET: "{{ .Values.data.bucketName }}"
   USE_BUNDLES: "{{ .Values.data.useBundles }}"
-  {{- if not .Values.conf.onPremEnabled }}
+  {{- if not .Values.global.onPremEnabled }}
   CLOUD_PROVIDER: "gc"
   {{- else }}
   CLOUD_PROVIDER: "anthos"
diff --git a/devops/gc/deploy/templates/policy-deployment-bootstrap.yaml b/devops/gc/deploy/templates/policy-deployment-bootstrap.yaml
index 6d15b11d..9e038892 100644
--- a/devops/gc/deploy/templates/policy-deployment-bootstrap.yaml
+++ b/devops/gc/deploy/templates/policy-deployment-bootstrap.yaml
@@ -33,7 +33,7 @@ spec:
           envFrom:
           - configMapRef:
               name: "{{ .Values.conf.configmap }}-bootstrap"
-          {{- if .Values.conf.onPremEnabled }}
+          {{- if .Values.global.onPremEnabled }}
           - secretRef:
               name: "{{ .Values.conf.bootstrapSecretName }}"
           {{- end }}
diff --git a/devops/gc/deploy/templates/policy-deployment.yaml b/devops/gc/deploy/templates/policy-deployment.yaml
index f02da181..eef757ae 100644
--- a/devops/gc/deploy/templates/policy-deployment.yaml
+++ b/devops/gc/deploy/templates/policy-deployment.yaml
@@ -28,7 +28,7 @@ spec:
           envFrom:
           - configMapRef:
               name: "{{ .Values.conf.configmap }}"
-          {{- if .Values.conf.onPremEnabled }}
+          {{- if .Values.global.onPremEnabled }}
           - secretRef:
               name: "{{ .Values.conf.minioSecretName }}"
           {{- end }}
diff --git a/devops/gc/deploy/templates/policy-service-account.yaml b/devops/gc/deploy/templates/policy-service-account.yaml
index 25fd74ef..ba59bf08 100644
--- a/devops/gc/deploy/templates/policy-service-account.yaml
+++ b/devops/gc/deploy/templates/policy-service-account.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.conf.onPremEnabled }}
+{{- if .Values.global.onPremEnabled }}
 apiVersion: v1
 kind: ServiceAccount
 metadata:
diff --git a/devops/gc/deploy/templates/policy-service.yaml b/devops/gc/deploy/templates/policy-service.yaml
index 0e9843b9..25a1dcc3 100644
--- a/devops/gc/deploy/templates/policy-service.yaml
+++ b/devops/gc/deploy/templates/policy-service.yaml
@@ -2,7 +2,7 @@ apiVersion: v1
 kind: Service
 metadata:
   name: "{{ .Values.conf.appName }}"
-  {{- if not .Values.conf.onPremEnabled }}
+  {{- if not .Values.global.onPremEnabled }}
   annotations:
     cloud.google.com/neg: '{"ingress": true}'
   {{- end }}
diff --git a/devops/gc/deploy/templates/policy-virtual-service.yaml b/devops/gc/deploy/templates/policy-virtual-service.yaml
index 4b167ea4..f2bb0557 100644
--- a/devops/gc/deploy/templates/policy-virtual-service.yaml
+++ b/devops/gc/deploy/templates/policy-virtual-service.yaml
@@ -5,10 +5,10 @@ metadata:
   namespace: "{{ .Release.Namespace }}"
 spec:
   hosts:
-    {{- if and .Values.conf.domain .Values.conf.onPremEnabled }}
-    - {{ printf "osdu.%s" .Values.conf.domain | quote }}
-    {{- else if .Values.conf.domain }}
-    - {{ .Values.conf.domain | quote }}
+    {{- if and .Values.global.domain .Values.global.onPremEnabled }}
+    - {{ printf "osdu.%s" .Values.global.domain | quote }}
+    {{- else if .Values.global.domain }}
+    - {{ .Values.global.domain | quote }}
     {{- else }}
     - "*"
     {{- end }}
diff --git a/devops/gc/deploy/values.yaml b/devops/gc/deploy/values.yaml
index a9e3b6cf..830954fb 100644
--- a/devops/gc/deploy/values.yaml
+++ b/devops/gc/deploy/values.yaml
@@ -1,4 +1,8 @@
 # Common values for all deployments
+global:
+  domain: ""
+  onPremEnabled: false
+
 data:
   # Deployment resources
   requestsCpu: "10m"
@@ -26,10 +30,8 @@ data:
 conf:
   appName: "policy"
   configmap: "policy-config"
-  domain: ""
   minioSecretName: "policy-minio-secret"
   bootstrapSecretName: "minio-bootstrap-secret"
-  onPremEnabled: false
   minDelaySeconds: 6
   maxDelaySeconds: 12
 
-- 
GitLab