From a8a001e1e4e1946d8c106b56a1c69acab2729f04 Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Thu, 14 Mar 2024 18:11:06 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80(helm)=20build=20a=20minimalistic?= =?UTF-8?q?=20dev=20Helmfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Please note that this Helmfile is uncomplete, it lacks services as redis, celery, mail ... which are declared in the Docker Compose file but not yet used in development and production images. Thus, to run the Desk Helm chart, we only add a postgres database to run the Django backend server, and apply migrations. For now, this Helmfile is quite hard to test in dev environment, because the frontend redirects automatically to the SSO login page. We cannot really assess if backend and frontend are working properly. We might adjust some configurations after the first deployment in stagging. (We are a bit in rush, to respect the current sprint deadline.) Development values points https://desk.127.0.0.1.nip.io URL. Please note that the frontend image for now has been built with this URL for the backend address. Meaning that we either need to rebuild and publish a frontend image with the staging URL when deploying the project, or enhance our frontend image, to pass the backend URL at runtime. --- src/helm/env.d/dev/values.desk.yaml | 47 +++++++++++++++++++++++++++++ src/helm/helmfile.yaml | 31 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 src/helm/env.d/dev/values.desk.yaml create mode 100644 src/helm/helmfile.yaml diff --git a/src/helm/env.d/dev/values.desk.yaml b/src/helm/env.d/dev/values.desk.yaml new file mode 100644 index 0000000..1518cef --- /dev/null +++ b/src/helm/env.d/dev/values.desk.yaml @@ -0,0 +1,47 @@ +image: + repository: localhost:5001/people-backend + pullPolicy: Always + tag: "latest" + +backend: + envVars: + DJANGO_CORS_ALLOWED_ORIGINS: http://desk.127.0.0.1.nip.io,https://desk.127.0.0.1.nip.io + DJANGO_CONFIGURATION: Production + DJANGO_ALLOWED_HOSTS: "*" + DJANGO_SECRET_KEY: "ThisIsAnExampleKeyForDevPurposeOnly" + DJANGO_SETTINGS_MODULE: people.settings + DJANGO_SUPERUSER_PASSWORD: admin + DJANGO_EMAIL_HOST: "mailcatcher" + DJANGO_EMAIL_PORT: 1025 + OIDC_OP_JWKS_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/jwks + OIDC_OP_AUTHORIZATION_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/authorize + OIDC_OP_TOKEN_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/token + OIDC_OP_USER_ENDPOINT: https://fca.integ01.dev-agentconnect.fr/api/v2/userinfo + OIDC_RP_CLIENT_ID: "ThisIsAnExampleIdForDevPurposeOnly" + OIDC_RP_CLIENT_SECRET: "ThisIsAnExampleKeyForDevPurposeOnly" + OIDC_RP_SIGN_ALGO: RS256 + OIDC_RP_SCOPES: "openid email" + OIDC_REDIRECT_ALLOWED_HOSTS: https://desk.127.0.0.1.nip.io + OIDC_AUTH_REQUEST_EXTRA_PARAMS: "{'acr_values': 'eidas1'}" + LOGIN_REDIRECT_URL: https://desk.127.0.0.1.nip.io + LOGIN_REDIRECT_URL_FAILURE: https://desk.127.0.0.1.nip.io + LOGOUT_REDIRECT_URL: https://desk.127.0.0.1.nip.io/login + DB_HOST: postgres-postgresql + DB_NAME: people + DB_USER: dinum + DB_PASSWORD: pass + DB_PORT: 5432 + POSTGRES_DB: people + POSTGRES_USER: dinum + POSTGRES_PASSWORD: pass + +frontend: + image: + repository: localhost:5001/people-frontend + pullPolicy: Always + tag: "latest" + +ingress: + host: desk.127.0.0.1.nip.io + + diff --git a/src/helm/helmfile.yaml b/src/helm/helmfile.yaml new file mode 100644 index 0000000..c252a4c --- /dev/null +++ b/src/helm/helmfile.yaml @@ -0,0 +1,31 @@ +repositories: +- name: bitnami + url: registry-1.docker.io/bitnamicharts + oci: true + +releases: + - name: postgres + namespace: desk + chart: bitnami/postgresql + version: 13.1.5 + values: + - auth: + username: dinum + password: pass + database: people + - tls: + enabled: true + autoGenerated: true + + - name: desk + version: {{ .Values.version }} + namespace: desk + chart: ./desk + values: + - env.d/{{ .Environment.Name }}/values.desk.yaml + +environments: + dev: + values: + - version: 0.0.1 +