mirror of
https://github.com/suitenumerique/docs.git
synced 2026-08-30 19:59:37 +02:00
The new infra we have must be configured in the helm chart. This commit all the missing templates to deploy yhub, it also automate the creation of the private keys needed by all services.
198 lines
6.3 KiB
YAML
198 lines
6.3 KiB
YAML
djangoSecretKey: &djangoSecretKey "lkjsdlfkjsldkfjslkdfjslkdjfslkdjf"
|
|
djangoSuperUserEmail: admin@example.com
|
|
djangoSuperUserPass: admin
|
|
aiApiKey: changeme
|
|
aiBaseUrl: changeme
|
|
oidc:
|
|
clientId: impress
|
|
clientSecret: ThisIsAnExampleKeyForDevPurposeOnly
|
|
|
|
image:
|
|
repository: lasuite/impress-backend
|
|
pullPolicy: Always
|
|
tag: "latest"
|
|
|
|
backend:
|
|
replicas: 1
|
|
envVars:
|
|
DJANGO_CSRF_TRUSTED_ORIGINS: https://docs.127.0.0.1.nip.io
|
|
DJANGO_CONFIGURATION: Feature
|
|
DJANGO_ALLOWED_HOSTS: docs.127.0.0.1.nip.io
|
|
DJANGO_SERVER_TO_SERVER_API_TOKENS: secret-api-key
|
|
DJANGO_SECRET_KEY: *djangoSecretKey
|
|
DJANGO_SETTINGS_MODULE: impress.settings
|
|
DJANGO_SUPERUSER_PASSWORD: admin
|
|
DJANGO_EMAIL_BRAND_NAME: "La Suite Numérique"
|
|
DJANGO_EMAIL_HOST: "mailcatcher"
|
|
DJANGO_EMAIL_LOGO_IMG: https://docs.127.0.0.1.nip.io/assets/logo-suite-numerique.png
|
|
DJANGO_EMAIL_PORT: 1025
|
|
DJANGO_EMAIL_URL_APP: https://docs.127.0.0.1.nip.io
|
|
DJANGO_EMAIL_USE_SSL: False
|
|
LOGGING_LEVEL_HANDLERS_CONSOLE: ERROR
|
|
LOGGING_LEVEL_LOGGERS_ROOT: INFO
|
|
LOGGING_LEVEL_LOGGERS_APP: INFO
|
|
OIDC_USERINFO_SHORTNAME_FIELD: "given_name"
|
|
OIDC_USERINFO_FULLNAME_FIELDS: "given_name,usual_name"
|
|
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/docs/protocol/openid-connect/auth
|
|
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/docs/protocol/openid-connect/userinfo
|
|
OIDC_OP_LOGOUT_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/logout
|
|
OIDC_RP_CLIENT_ID: docs
|
|
OIDC_RP_CLIENT_SECRET: ThisIsAnExampleKeyForDevPurposeOnly
|
|
OIDC_RP_SIGN_ALGO: RS256
|
|
OIDC_RP_SCOPES: "openid email"
|
|
LOGIN_REDIRECT_URL: https://docs.127.0.0.1.nip.io
|
|
LOGIN_REDIRECT_URL_FAILURE: https://docs.127.0.0.1.nip.io
|
|
LOGOUT_REDIRECT_URL: https://docs.127.0.0.1.nip.io
|
|
DB_HOST: postgresql-dev-backend-postgres
|
|
DB_NAME:
|
|
secretKeyRef:
|
|
name: postgresql-dev-backend-postgres
|
|
key: database
|
|
DB_USER:
|
|
secretKeyRef:
|
|
name: postgresql-dev-backend-postgres
|
|
key: username
|
|
DB_PASSWORD:
|
|
secretKeyRef:
|
|
name: postgresql-dev-backend-postgres
|
|
key: password
|
|
DB_PORT: 5432
|
|
REDIS_URL: redis://user:pass@redis-dev-backend-redis:6379/1
|
|
DJANGO_CELERY_BROKER_URL: redis://user:pass@redis-dev-backend-redis:6379/1
|
|
AWS_S3_ENDPOINT_URL: http://minio-dev-backend-minio.impress.svc.cluster.local:9000
|
|
AWS_S3_ACCESS_KEY_ID: dinum
|
|
AWS_S3_SECRET_ACCESS_KEY: password
|
|
AWS_STORAGE_BUCKET_NAME: docs-media-storage
|
|
STORAGES_STATICFILES_BACKEND: django.contrib.staticfiles.storage.StaticFilesStorage
|
|
USER_RECONCILIATION_FORM_URL: https://docs.127.0.0.1.nip.io
|
|
# the collaboration server, reached in-cluster
|
|
YHUB_API_BASE_URL: http://impress-docs-yhub:443
|
|
Y_PROVIDER_API_BASE_URL: http://impress-docs-y-provider:443/api/
|
|
Y_PROVIDER_API_KEY: my-secret
|
|
CACHES_KEY_PREFIX: "{{ now | unixEpoch }}"
|
|
migrate:
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
- |
|
|
while ! python manage.py check --database default > /dev/null 2>&1
|
|
do
|
|
echo "Database not ready"
|
|
sleep 2
|
|
done
|
|
|
|
echo "Database is ready"
|
|
|
|
python manage.py migrate --no-input
|
|
restartPolicy: Never
|
|
|
|
createsuperuser:
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
- |
|
|
while ! python manage.py check --database default > /dev/null 2>&1
|
|
do
|
|
echo "Database not ready"
|
|
sleep 2
|
|
done
|
|
|
|
echo "Database is ready"
|
|
python manage.py createsuperuser --email admin@example.com --password admin
|
|
restartPolicy: Never
|
|
|
|
# Extra volume mounts to manage our local custom CA and avoid to set ssl_verify: false
|
|
extraVolumeMounts:
|
|
- name: certs
|
|
mountPath: /cert/cacert.pem
|
|
subPath: cacert.pem
|
|
|
|
# Extra volumes to manage our local custom CA and avoid to set ssl_verify: false
|
|
extraVolumes:
|
|
- name: certs
|
|
configMap:
|
|
name: certifi
|
|
items:
|
|
- key: cacert.pem
|
|
path: cacert.pem
|
|
frontend:
|
|
replicas: 1
|
|
image:
|
|
repository: lasuite/impress-frontend
|
|
pullPolicy: Always
|
|
tag: "latest"
|
|
|
|
yProvider:
|
|
replicas: 1
|
|
|
|
image:
|
|
repository: lasuite/impress-y-provider
|
|
pullPolicy: Always
|
|
tag: "latest"
|
|
|
|
envVars:
|
|
COLLABORATION_BACKEND_BASE_URL: https://docs.127.0.0.1.nip.io
|
|
COLLABORATION_LOGGING: true
|
|
COLLABORATION_SERVER_ORIGIN: https://docs.127.0.0.1.nip.io
|
|
|
|
# The collaboration server: it serves everything under /collaboration/, the
|
|
# websocket included. It keeps the live state of a document in redis and
|
|
# persists it to a PostgreSQL database of its own, created by the init-db job
|
|
# the chart ships — give the user in POSTGRES the right to create it, or create
|
|
# the database yourself beforehand.
|
|
yhub:
|
|
replicas: 1
|
|
|
|
image:
|
|
repository: lasuite/impress-yhub
|
|
pullPolicy: Always
|
|
tag: "latest"
|
|
|
|
envVars:
|
|
POSTGRES: postgres://dinum:pass@postgresql-dev-backend-postgres:5432/yhub
|
|
REDIS: redis://user:pass@redis-dev-backend-redis:6379/2
|
|
REDIS_PREFIX: yhub
|
|
COLLABORATION_BACKEND_BASE_URL: https://docs.127.0.0.1.nip.io
|
|
COLLABORATION_SERVER_ORIGIN: https://docs.127.0.0.1.nip.io
|
|
|
|
ingress:
|
|
enabled: true
|
|
host: docs.127.0.0.1.nip.io
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/proxy-body-size: 100m
|
|
|
|
ingressCollaborationWS:
|
|
enabled: true
|
|
host: docs.127.0.0.1.nip.io
|
|
|
|
ingressCollaborationApi:
|
|
enabled: true
|
|
host: docs.127.0.0.1.nip.io
|
|
|
|
ingressAdmin:
|
|
enabled: true
|
|
host: docs.127.0.0.1.nip.io
|
|
|
|
posthog:
|
|
ingress:
|
|
enabled: false
|
|
|
|
ingressAssets:
|
|
enabled: false
|
|
|
|
ingressMedia:
|
|
enabled: true
|
|
host: docs.127.0.0.1.nip.io
|
|
|
|
annotations:
|
|
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/upstream-vhost: minio-dev-backend-minio.impress.svc.cluster.local:9000
|
|
nginx.ingress.kubernetes.io/rewrite-target: /docs-media-storage/$1
|
|
|
|
serviceMedia:
|
|
host: minio-dev-backend-minio.impress.svc.cluster.local
|
|
port: 9000
|