♻️(tilt) use hem dev-backend chart (#1340)
Remove usage of bitnami charts and use our own dev-backend charts instead.
This commit is contained in:
@@ -23,6 +23,7 @@ and this project adheres to
|
|||||||
- ♿(frontend) improve accessibility:
|
- ♿(frontend) improve accessibility:
|
||||||
- ♿(frontend) fix major accessibility issues reported by wave and axe #1344
|
- ♿(frontend) fix major accessibility issues reported by wave and axe #1344
|
||||||
- #1341
|
- #1341
|
||||||
|
- ♻️(tilt) use helm dev-backend chart
|
||||||
|
|
||||||
## [3.6.0] - 2025-09-04
|
## [3.6.0] - 2025-09-04
|
||||||
|
|
||||||
|
|||||||
@@ -39,9 +39,10 @@ docker_build(
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
k8s_resource('impress-docs-backend-migrate', resource_deps=['postgres-postgresql'])
|
k8s_resource('impress-docs-backend-migrate', resource_deps=['dev-backend-postgres'])
|
||||||
k8s_resource('impress-docs-backend-createsuperuser', resource_deps=['impress-docs-backend-migrate'])
|
k8s_resource('impress-docs-backend-createsuperuser', resource_deps=['impress-docs-backend-migrate'])
|
||||||
k8s_resource('impress-docs-backend', resource_deps=['impress-docs-backend-migrate'])
|
k8s_resource('dev-backend-keycloak', resource_deps=['dev-backend-keycloak-pg'])
|
||||||
|
k8s_resource('impress-docs-backend', resource_deps=['impress-docs-backend-migrate', 'dev-backend-redis', 'dev-backend-keycloak', 'dev-backend-postgres', 'dev-backend-minio:statefulset'])
|
||||||
k8s_yaml(local('cd ../src/helm && helmfile -n impress -e dev template .'))
|
k8s_yaml(local('cd ../src/helm && helmfile -n impress -e dev template .'))
|
||||||
|
|
||||||
migration = '''
|
migration = '''
|
||||||
|
|||||||
@@ -16,16 +16,16 @@ backend:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
envVars:
|
envVars:
|
||||||
COLLABORATION_SERVER_SECRET: my-secret
|
COLLABORATION_SERVER_SECRET: my-secret
|
||||||
DJANGO_CSRF_TRUSTED_ORIGINS: https://impress.127.0.0.1.nip.io
|
DJANGO_CSRF_TRUSTED_ORIGINS: https://docs.127.0.0.1.nip.io
|
||||||
DJANGO_CONFIGURATION: Feature
|
DJANGO_CONFIGURATION: Feature
|
||||||
DJANGO_ALLOWED_HOSTS: impress.127.0.0.1.nip.io
|
DJANGO_ALLOWED_HOSTS: docs.127.0.0.1.nip.io
|
||||||
DJANGO_SERVER_TO_SERVER_API_TOKENS: secret-api-key
|
DJANGO_SERVER_TO_SERVER_API_TOKENS: secret-api-key
|
||||||
DJANGO_SECRET_KEY: *djangoSecretKey
|
DJANGO_SECRET_KEY: *djangoSecretKey
|
||||||
DJANGO_SETTINGS_MODULE: impress.settings
|
DJANGO_SETTINGS_MODULE: impress.settings
|
||||||
DJANGO_SUPERUSER_PASSWORD: admin
|
DJANGO_SUPERUSER_PASSWORD: admin
|
||||||
DJANGO_EMAIL_BRAND_NAME: "La Suite Numérique"
|
DJANGO_EMAIL_BRAND_NAME: "La Suite Numérique"
|
||||||
DJANGO_EMAIL_HOST: "mailcatcher"
|
DJANGO_EMAIL_HOST: "mailcatcher"
|
||||||
DJANGO_EMAIL_LOGO_IMG: https://impress.127.0.0.1.nip.io/assets/logo-suite-numerique.png
|
DJANGO_EMAIL_LOGO_IMG: https://docs.127.0.0.1.nip.io/assets/logo-suite-numerique.png
|
||||||
DJANGO_EMAIL_PORT: 1025
|
DJANGO_EMAIL_PORT: 1025
|
||||||
DJANGO_EMAIL_USE_SSL: False
|
DJANGO_EMAIL_USE_SSL: False
|
||||||
LOGGING_LEVEL_HANDLERS_CONSOLE: ERROR
|
LOGGING_LEVEL_HANDLERS_CONSOLE: ERROR
|
||||||
@@ -33,29 +33,38 @@ backend:
|
|||||||
LOGGING_LEVEL_LOGGERS_APP: INFO
|
LOGGING_LEVEL_LOGGERS_APP: INFO
|
||||||
OIDC_USERINFO_SHORTNAME_FIELD: "given_name"
|
OIDC_USERINFO_SHORTNAME_FIELD: "given_name"
|
||||||
OIDC_USERINFO_FULLNAME_FIELDS: "given_name,usual_name"
|
OIDC_USERINFO_FULLNAME_FIELDS: "given_name,usual_name"
|
||||||
OIDC_OP_JWKS_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/certs
|
OIDC_OP_JWKS_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/certs
|
||||||
OIDC_OP_AUTHORIZATION_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/auth
|
OIDC_OP_AUTHORIZATION_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/auth
|
||||||
OIDC_OP_TOKEN_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/token
|
OIDC_OP_TOKEN_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/token
|
||||||
OIDC_OP_USER_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/userinfo
|
OIDC_OP_USER_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/userinfo
|
||||||
OIDC_OP_LOGOUT_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/logout
|
OIDC_OP_LOGOUT_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/logout
|
||||||
OIDC_RP_CLIENT_ID: impress
|
OIDC_RP_CLIENT_ID: docs
|
||||||
OIDC_RP_CLIENT_SECRET: ThisIsAnExampleKeyForDevPurposeOnly
|
OIDC_RP_CLIENT_SECRET: ThisIsAnExampleKeyForDevPurposeOnly
|
||||||
OIDC_RP_SIGN_ALGO: RS256
|
OIDC_RP_SIGN_ALGO: RS256
|
||||||
OIDC_RP_SCOPES: "openid email"
|
OIDC_RP_SCOPES: "openid email"
|
||||||
LOGIN_REDIRECT_URL: https://impress.127.0.0.1.nip.io
|
LOGIN_REDIRECT_URL: https://docs.127.0.0.1.nip.io
|
||||||
LOGIN_REDIRECT_URL_FAILURE: https://impress.127.0.0.1.nip.io
|
LOGIN_REDIRECT_URL_FAILURE: https://docs.127.0.0.1.nip.io
|
||||||
LOGOUT_REDIRECT_URL: https://impress.127.0.0.1.nip.io
|
LOGOUT_REDIRECT_URL: https://docs.127.0.0.1.nip.io
|
||||||
DB_HOST: postgres-postgresql
|
DB_HOST: dev-backend-postgres
|
||||||
DB_NAME: impress
|
DB_NAME:
|
||||||
DB_USER: dinum
|
secretKeyRef:
|
||||||
DB_PASSWORD: pass
|
name: dev-backend-postgres
|
||||||
|
key: database
|
||||||
|
DB_USER:
|
||||||
|
secretKeyRef:
|
||||||
|
name: dev-backend-postgres
|
||||||
|
key: username
|
||||||
|
DB_PASSWORD:
|
||||||
|
secretKeyRef:
|
||||||
|
name: dev-backend-postgres
|
||||||
|
key: password
|
||||||
DB_PORT: 5432
|
DB_PORT: 5432
|
||||||
REDIS_URL: redis://default:pass@redis-master:6379/1
|
REDIS_URL: redis://user:pass@dev-backend-redis:6379/1
|
||||||
DJANGO_CELERY_BROKER_URL: redis://default:pass@redis-master:6379/1
|
DJANGO_CELERY_BROKER_URL: redis://user:pass@dev-backend-redis:6379/1
|
||||||
AWS_S3_ENDPOINT_URL: http://minio.impress.svc.cluster.local:9000
|
AWS_S3_ENDPOINT_URL: http://dev-backend-minio.impress.svc.cluster.local:9000
|
||||||
AWS_S3_ACCESS_KEY_ID: root
|
AWS_S3_ACCESS_KEY_ID: dinum
|
||||||
AWS_S3_SECRET_ACCESS_KEY: password
|
AWS_S3_SECRET_ACCESS_KEY: password
|
||||||
AWS_STORAGE_BUCKET_NAME: impress-media-storage
|
AWS_STORAGE_BUCKET_NAME: docs-media-storage
|
||||||
STORAGES_STATICFILES_BACKEND: django.contrib.staticfiles.storage.StaticFilesStorage
|
STORAGES_STATICFILES_BACKEND: django.contrib.staticfiles.storage.StaticFilesStorage
|
||||||
Y_PROVIDER_API_BASE_URL: http://impress-y-provider:443/api/
|
Y_PROVIDER_API_BASE_URL: http://impress-y-provider:443/api/
|
||||||
Y_PROVIDER_API_KEY: my-secret
|
Y_PROVIDER_API_KEY: my-secret
|
||||||
@@ -73,8 +82,7 @@ backend:
|
|||||||
|
|
||||||
echo "Database is ready"
|
echo "Database is ready"
|
||||||
|
|
||||||
python manage.py migrate --no-input &&
|
python manage.py migrate --no-input
|
||||||
python manage.py create_demo --force
|
|
||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
|
|
||||||
command:
|
command:
|
||||||
@@ -120,7 +128,7 @@ backend:
|
|||||||
frontend:
|
frontend:
|
||||||
envVars:
|
envVars:
|
||||||
PORT: 8080
|
PORT: 8080
|
||||||
NEXT_PUBLIC_API_ORIGIN: https://impress.127.0.0.1.nip.io
|
NEXT_PUBLIC_API_ORIGIN: https://docs.127.0.0.1.nip.io
|
||||||
|
|
||||||
replicas: 1
|
replicas: 1
|
||||||
command:
|
command:
|
||||||
@@ -141,27 +149,29 @@ yProvider:
|
|||||||
tag: "latest"
|
tag: "latest"
|
||||||
|
|
||||||
envVars:
|
envVars:
|
||||||
COLLABORATION_BACKEND_BASE_URL: https://impress.127.0.0.1.nip.io
|
COLLABORATION_BACKEND_BASE_URL: https://docs.127.0.0.1.nip.io
|
||||||
COLLABORATION_LOGGING: true
|
COLLABORATION_LOGGING: true
|
||||||
COLLABORATION_SERVER_ORIGIN: https://impress.127.0.0.1.nip.io
|
COLLABORATION_SERVER_ORIGIN: https://docs.127.0.0.1.nip.io
|
||||||
COLLABORATION_SERVER_SECRET: my-secret
|
COLLABORATION_SERVER_SECRET: my-secret
|
||||||
Y_PROVIDER_API_KEY: my-secret
|
Y_PROVIDER_API_KEY: my-secret
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: impress.127.0.0.1.nip.io
|
host: docs.127.0.0.1.nip.io
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: 10m
|
||||||
|
|
||||||
ingressCollaborationWS:
|
ingressCollaborationWS:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: impress.127.0.0.1.nip.io
|
host: docs.127.0.0.1.nip.io
|
||||||
|
|
||||||
ingressCollaborationApi:
|
ingressCollaborationApi:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: impress.127.0.0.1.nip.io
|
host: docs.127.0.0.1.nip.io
|
||||||
|
|
||||||
ingressAdmin:
|
ingressAdmin:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: impress.127.0.0.1.nip.io
|
host: docs.127.0.0.1.nip.io
|
||||||
|
|
||||||
posthog:
|
posthog:
|
||||||
ingress:
|
ingress:
|
||||||
@@ -172,14 +182,14 @@ posthog:
|
|||||||
|
|
||||||
ingressMedia:
|
ingressMedia:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: impress.127.0.0.1.nip.io
|
host: docs.127.0.0.1.nip.io
|
||||||
|
|
||||||
annotations:
|
annotations:
|
||||||
nginx.ingress.kubernetes.io/auth-url: https://impress.127.0.0.1.nip.io/api/v1.0/documents/media-auth/
|
nginx.ingress.kubernetes.io/auth-url: https://docs.127.0.0.1.nip.io/api/v1.0/documents/media-auth/
|
||||||
nginx.ingress.kubernetes.io/auth-response-headers: "Authorization, X-Amz-Date, X-Amz-Content-SHA256"
|
nginx.ingress.kubernetes.io/auth-response-headers: "Authorization, X-Amz-Date, X-Amz-Content-SHA256"
|
||||||
nginx.ingress.kubernetes.io/upstream-vhost: minio.impress.svc.cluster.local:9000
|
nginx.ingress.kubernetes.io/upstream-vhost: dev-backend-minio.impress.svc.cluster.local:9000
|
||||||
nginx.ingress.kubernetes.io/rewrite-target: /impress-media-storage/$1
|
nginx.ingress.kubernetes.io/rewrite-target: /docs-media-storage/$1
|
||||||
|
|
||||||
serviceMedia:
|
serviceMedia:
|
||||||
host: minio.impress.svc.cluster.local
|
host: dev-backend-minio.impress.svc.cluster.local
|
||||||
port: 9000
|
port: 9000
|
||||||
|
|||||||
@@ -4,91 +4,75 @@ environments:
|
|||||||
- version: 3.6.0
|
- version: 3.6.0
|
||||||
---
|
---
|
||||||
repositories:
|
repositories:
|
||||||
- name: bitnami
|
- name: dev-backends
|
||||||
url: registry-1.docker.io/bitnamicharts
|
url: https://suitenumerique.github.io/helm-dev-backend
|
||||||
oci: true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: keycloak
|
- name: dev-backend
|
||||||
installed: {{ eq .Environment.Name "dev" | toYaml }}
|
|
||||||
missingFileHandler: Warn
|
|
||||||
namespace: {{ .Namespace }}
|
namespace: {{ .Namespace }}
|
||||||
chart: bitnami/keycloak
|
chart: dev-backends/dev-backend
|
||||||
version: 17.3.6
|
version: 0.0.2
|
||||||
values:
|
values:
|
||||||
- postgresql:
|
- postgres:
|
||||||
auth:
|
|
||||||
username: keycloak
|
|
||||||
password: keycloak
|
|
||||||
database: keycloak
|
|
||||||
- extraEnvVars:
|
|
||||||
- name: KEYCLOAK_EXTRA_ARGS
|
|
||||||
value: "--import-realm"
|
|
||||||
- name: KC_HOSTNAME_URL
|
|
||||||
value: https://docs-keycloak.127.0.0.1.nip.io
|
|
||||||
- extraVolumes:
|
|
||||||
- name: import
|
|
||||||
configMap:
|
|
||||||
name: docs-keycloak
|
|
||||||
- extraVolumeMounts:
|
|
||||||
- name: import
|
|
||||||
mountPath: /opt/bitnami/keycloak/data/import/
|
|
||||||
- auth:
|
|
||||||
adminUser: su
|
|
||||||
adminPassword: su
|
|
||||||
- proxy: edge
|
|
||||||
- ingress:
|
|
||||||
enabled: true
|
enabled: true
|
||||||
hostname: docs-keycloak.127.0.0.1.nip.io
|
name: postgres
|
||||||
- extraDeploy:
|
#serviceNameOverride: postgres
|
||||||
- apiVersion: v1
|
image: postgres:16-alpine
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: docs-keycloak
|
|
||||||
namespace: {{ .Namespace }}
|
|
||||||
data:
|
|
||||||
impress.json: |
|
|
||||||
{{ readFile "../../docker/auth/realm.json" | replace "http://localhost:3200" "https://impress.127.0.0.1.nip.io" | indent 14 }}
|
|
||||||
|
|
||||||
- name: postgres
|
|
||||||
installed: {{ eq .Environment.Name "dev" | toYaml }}
|
|
||||||
namespace: {{ .Namespace }}
|
|
||||||
chart: bitnami/postgresql
|
|
||||||
version: 13.1.5
|
|
||||||
values:
|
|
||||||
- auth:
|
|
||||||
username: dinum
|
username: dinum
|
||||||
password: pass
|
password: pass
|
||||||
database: impress
|
database: docs
|
||||||
- tls:
|
size: 1Gi
|
||||||
|
- redis:
|
||||||
enabled: true
|
enabled: true
|
||||||
autoGenerated: true
|
name: redis
|
||||||
|
image: redis:8.2-alpine
|
||||||
- name: minio
|
username: user
|
||||||
installed: {{ eq .Environment.Name "dev" | toYaml }}
|
|
||||||
namespace: {{ .Namespace }}
|
|
||||||
chart: bitnami/minio
|
|
||||||
version: 12.10.10
|
|
||||||
values:
|
|
||||||
- auth:
|
|
||||||
rootUser: root
|
|
||||||
rootPassword: password
|
|
||||||
- provisioning:
|
|
||||||
enabled: true
|
|
||||||
buckets:
|
|
||||||
- name: impress-media-storage
|
|
||||||
versioning: true
|
|
||||||
|
|
||||||
- name: redis
|
|
||||||
installed: {{ eq .Environment.Name "dev" | toYaml }}
|
|
||||||
namespace: {{ .Namespace }}
|
|
||||||
chart: bitnami/redis
|
|
||||||
version: 20.6.2
|
|
||||||
values:
|
|
||||||
- auth:
|
|
||||||
password: pass
|
password: pass
|
||||||
architecture: standalone
|
- minio:
|
||||||
|
enabled: true
|
||||||
|
image: minio/minio
|
||||||
|
name: minio
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
hostname: docs-minio.127.0.0.1.nip.io
|
||||||
|
tls:
|
||||||
|
enabled: true
|
||||||
|
secretName: docs-tls
|
||||||
|
consoleIngress:
|
||||||
|
enabled: true
|
||||||
|
hostname: docs-minio-console.127.0.0.1.nip.io
|
||||||
|
tls:
|
||||||
|
enabled: true
|
||||||
|
secretName: docs-tls
|
||||||
|
username: dinum
|
||||||
|
password: password
|
||||||
|
bucket: docs-media-storage
|
||||||
|
versioning: true
|
||||||
|
size: 1Gi
|
||||||
|
- keycloak:
|
||||||
|
enabled: true
|
||||||
|
image: quay.io/keycloak/keycloak:20.0.1
|
||||||
|
name: keycloak
|
||||||
|
#serviceNameOverride: keycloak
|
||||||
|
hostname: docs-keycloak.127.0.0.1.nip.io
|
||||||
|
username: admin
|
||||||
|
password: pass
|
||||||
|
tls:
|
||||||
|
enabled: true
|
||||||
|
secretName: docs-tls
|
||||||
|
db:
|
||||||
|
username: dinum
|
||||||
|
password: pass
|
||||||
|
database: keycloak
|
||||||
|
size: 1Gi
|
||||||
|
image: postgres:16-alpine
|
||||||
|
realm:
|
||||||
|
name: docs
|
||||||
|
username: docs
|
||||||
|
password: docs
|
||||||
|
email: docs@example.com
|
||||||
|
|
||||||
|
|
||||||
- name: impress
|
- name: impress
|
||||||
version: {{ .Values.version }}
|
version: {{ .Values.version }}
|
||||||
|
|||||||
Reference in New Issue
Block a user