From 3f855a6101a077f8a5b594929e96c59117dc9a52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20PAILHAREY?= <rpailharey@grandlyon.com>
Date: Tue, 11 Apr 2023 12:51:53 +0000
Subject: [PATCH] cicd: variabilized server-config

---
 .gitlab-ci.yml                                | 34 +++++++++++++++++++
 .../ecolyo-agent-server-config.template.yml   | 22 ------------
 k8s/secrets/ecolyo-agent-server-config.yml    | 22 ++++++++++++
 3 files changed, 56 insertions(+), 22 deletions(-)
 delete mode 100644 k8s/secrets/ecolyo-agent-server-config.template.yml
 create mode 100644 k8s/secrets/ecolyo-agent-server-config.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 023e4ac..3b30faa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -142,6 +142,13 @@ deploy_rec:
   before_script:
     - NAMESPACE=ns-ecolyo-bo-r01-syn
     - sed -i "s/{{DATABASE_PASSWORD}}/$REC_DATABASE_PASSWORD/" ./k8s/secrets/ecolyo-agent-database.yml
+    - sed -i "s/{{CLIENT_ID}}/$REC_CLIENT_ID/" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s/{{CLIENT_SECRET}}/$REC_CLIENT_SECRET/" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s/{{SGE_API_TOKEN}}/$REC_SGE_API_TOKEN/" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s/{{HOSTNAME}}/ecolyo-agent-rec.apps.grandlyon.com/g" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s+{{AUTH_URL}}+https://connexion-rec.grandlyon.fr/IdPOAuth2/authorize/oidc-rec-2+" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s+{{USERINFO_URL}}+https://connexion-rec.grandlyon.fr/IdPOAuth2/userinfo/oidc-rec-2+" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s+{{TOKEN_URL}}+https://connexion-rec.grandlyon.fr/IdPOAuth2/token/oidc-rec-2+" ./k8s/secrets/ecolyo-agent-server-config.yml
     - export KUBECONFIG=$KUBE_CONFIG_REC
   script:
     - find k8s/ -name '*.yml' -exec sed -i "s/{{NS}}/$NAMESPACE/g" {} \;
@@ -157,4 +164,31 @@ deploy_rec:
   only:
     - dev
 
+deploy_prod:
+  stage: deploy
+  before_script:
+    - NAMESPACE=ns-ecolyo-bo-p01-syn
+    - sed -i "s/{{DATABASE_PASSWORD}}/$PROD_DATABASE_PASSWORD/" ./k8s/secrets/ecolyo-agent-database.yml
+    - sed -i "s/{{CLIENT_ID}}/$PROD_CLIENT_ID/" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s/{{CLIENT_SECRET}}/$PROD_CLIENT_SECRET/" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s/{{SGE_API_TOKEN}}/$PROD_SGE_API_TOKEN/" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s/{{HOSTNAME}}/ecolyo-agent.apps.grandlyon.com/g" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s+{{AUTH_URL}}+https://connexion.grandlyon.fr/IdPOAuth2/authorize/oidc-2+" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s+{{USERINFO_URL}}+https://connexion.grandlyon.fr/IdPOAuth2/userinfo/oidc-2+" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - sed -i "s+{{TOKEN_URL}}+https://connexion.grandlyon.fr/IdPOAuth2/token/oidc-2+" ./k8s/secrets/ecolyo-agent-server-config.yml
+    - export KUBECONFIG=$KUBE_CONFIG_REC
+  script:
+    - find k8s/ -name '*.yml' -exec sed -i "s/{{NS}}/$NAMESPACE/g" {} \;
+
+    - oc create secret -n $NAMESPACE docker-registry llle-project --docker-server=$CI_REGISTRY --docker-username=llle-project --docker-password=$TOKEN_PULL_IMAGE --dry-run=client -o yaml | oc apply -f - 
+    
+    - oc apply -f k8s/secrets
+    - oc apply -f k8s/deployments
+    - oc apply -f k8s/cronjobs
+    - oc apply -f k8s/services
+  tags:
+    - ns-ecolyo-bo-p01-syn
+  only:
+    - master
+
 
diff --git a/k8s/secrets/ecolyo-agent-server-config.template.yml b/k8s/secrets/ecolyo-agent-server-config.template.yml
deleted file mode 100644
index a811616..0000000
--- a/k8s/secrets/ecolyo-agent-server-config.template.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-kind: Secret
-apiVersion: v1
-metadata:
-  name: ecolyo-agent-server-config
-stringData:
-  # Replace all values between <...>
-  # All values must be string ex: 1443 => '1443'
-  ADMIN_ROLE: <Admin group created in FIM>
-  AUTH_URL: <OAuth2 authentication URL>
-  CLIENT_ID: <OAuth2 client ID>
-  CLIENT_SECRET: <OAuth2 client secret>
-  DATABASE_USER: root
-  DEBUG_MODE: 'false'
-  HOSTNAME: <ecolyo-agent(-rec).apps.grandlyon.com>
-  HTTPS_PORT: '1143'
-  IMAGE_FOLDER: mnt/image-lib
-  MOCK_OAUTH2: 'false'
-  REDIRECT_URL: <HOSTNAME/OAuth2Callback>
-  SGE_API_TOKEN: <YOUR TOKEN>
-  TOKEN_URL: <OAuth2 token URL>
-  USERINFO_URL: <OAuth2 user info URL>
-type: Opaque
diff --git a/k8s/secrets/ecolyo-agent-server-config.yml b/k8s/secrets/ecolyo-agent-server-config.yml
new file mode 100644
index 0000000..96c306a
--- /dev/null
+++ b/k8s/secrets/ecolyo-agent-server-config.yml
@@ -0,0 +1,22 @@
+kind: Secret
+apiVersion: v1
+metadata:
+  name: ecolyo-agent-server-config
+stringData:
+  # Replace all values between <...>
+  # All values must be string ex: 1443 => '1443'
+  ADMIN_ROLE: GG_SNG_ECO
+  AUTH_URL: {{AUTH_URL}}
+  CLIENT_ID: {{CLIENT_ID}}
+  CLIENT_SECRET: {{CLIENT_SECRET}}
+  DATABASE_USER: root
+  DEBUG_MODE: 'false'
+  HOSTNAME: {{HOSTNAME}}
+  HTTPS_PORT: '1143'
+  IMAGE_FOLDER: mnt/image-lib
+  MOCK_OAUTH2: 'false'
+  REDIRECT_URL: '{{HOSTNAME}}/OAuth2Callback'
+  SGE_API_TOKEN: {{SGE_API_TOKEN}}
+  TOKEN_URL: {{TOKEN_URL}}
+  USERINFO_URL: {{USERINFO_URL}}
+type: Opaque
-- 
GitLab