📝(kubernetes) update doc with our dev-backend helm chart

We removed the usage of bitnami charts and created our own dev-backend
helm chart. We need to update the kubernetes document accordingly.
This commit is contained in:
Manuel Raynaud
2025-10-10 09:19:03 +02:00
parent 8091cbca23
commit b11d3acd01
6 changed files with 230 additions and 2457 deletions

View File

@@ -1,3 +1,12 @@
djangoSecretKey: &djangoSecretKey "lkjsdlfkjsldkfjslkdfjslkdjfslkdjf"
djangoSuperUserEmail: admin@example.com
djangoSuperUserPass: admin
aiApiKey: changeme
aiBaseUrl: changeme
oidc:
clientId: impress
clientSecret: ThisIsAnExampleKeyForDevPurposeOnly
image: image:
repository: lasuite/impress-backend repository: lasuite/impress-backend
pullPolicy: Always pullPolicy: Always
@@ -6,86 +15,98 @@ image:
backend: backend:
replicas: 1 replicas: 1
envVars: envVars:
COLLABORATION_API_URL: https://impress.127.0.0.1.nip.io/collaboration/api/
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: AgoodOrAbadKey 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
LOGGING_LEVEL_LOGGERS_ROOT: INFO LOGGING_LEVEL_LOGGERS_ROOT: INFO
LOGGING_LEVEL_LOGGERS_APP: INFO LOGGING_LEVEL_LOGGERS_APP: INFO
OIDC_OP_JWKS_ENDPOINT: https://keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/certs OIDC_USERINFO_SHORTNAME_FIELD: "given_name"
OIDC_OP_AUTHORIZATION_ENDPOINT: https://keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/auth OIDC_USERINFO_FULLNAME_FIELDS: "given_name,usual_name"
OIDC_OP_TOKEN_ENDPOINT: https://keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/token OIDC_OP_JWKS_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/certs
OIDC_OP_USER_ENDPOINT: https://keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/userinfo OIDC_OP_AUTHORIZATION_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/auth
OIDC_OP_LOGOUT_ENDPOINT: https://keycloak.127.0.0.1.nip.io/realms/impress/protocol/openid-connect/logout OIDC_OP_TOKEN_ENDPOINT: https://docs-keycloak.127.0.0.1.nip.io/realms/docs/protocol/openid-connect/token
OIDC_RP_CLIENT_ID: impress 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_CLIENT_SECRET: ThisIsAnExampleKeyForDevPurposeOnly
OIDC_RP_SIGN_ALGO: RS256 OIDC_RP_SIGN_ALGO: RS256
OIDC_RP_SCOPES: "openid email" OIDC_RP_SCOPES: "openid email"
OIDC_VERIFY_SSL: False LOGIN_REDIRECT_URL: https://docs.127.0.0.1.nip.io
OIDC_USERINFO_SHORTNAME_FIELD: "given_name" LOGIN_REDIRECT_URL_FAILURE: https://docs.127.0.0.1.nip.io
OIDC_USERINFO_FULLNAME_FIELDS: "given_name,usual_name" LOGOUT_REDIRECT_URL: https://docs.127.0.0.1.nip.io
OIDC_REDIRECT_ALLOWED_HOSTS: https://impress.127.0.0.1.nip.io DB_HOST: postgresql-dev-backend-postgres
OIDC_AUTH_REQUEST_EXTRA_PARAMS: "{'acr_values': 'eidas1'}" DB_NAME:
LOGIN_REDIRECT_URL: https://impress.127.0.0.1.nip.io secretKeyRef:
LOGIN_REDIRECT_URL_FAILURE: https://impress.127.0.0.1.nip.io name: postgresql-dev-backend-postgres
LOGOUT_REDIRECT_URL: https://impress.127.0.0.1.nip.io key: database
POSTHOG_KEY: "{'id': 'posthog_key', 'host': 'https://product.impress.127.0.0.1.nip.io'}" DB_USER:
DB_HOST: postgresql secretKeyRef:
DB_NAME: impress name: postgresql-dev-backend-postgres
DB_USER: dinum key: username
DB_PASSWORD: pass DB_PASSWORD:
secretKeyRef:
name: postgresql-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@redis-dev-backend-redis:6379/1
AWS_S3_ENDPOINT_URL: http://minio.impress.svc.cluster.local:9000 DJANGO_CELERY_BROKER_URL: redis://user:pass@redis-dev-backend-redis:6379/1
AWS_S3_ACCESS_KEY_ID: root 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_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
CACHES_KEY_PREFIX: "{{ now | unixEpoch }}"
migrate: migrate:
command: command:
- "/bin/sh" - "/bin/sh"
- "-c" - "-c"
- | - |
python manage.py migrate --no-input && while ! python manage.py check --database default > /dev/null 2>&1
python manage.py create_demo --force do
restartPolicy: Never echo "Database not ready"
sleep 2
done
command: echo "Database is ready"
- "gunicorn"
- "-c" python manage.py migrate --no-input
- "/usr/local/etc/gunicorn/impress.py" restartPolicy: Never
- "impress.wsgi:application"
- "--reload"
createsuperuser: createsuperuser:
command: command:
- "/bin/sh" - "/bin/sh"
- "-c" - "-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 python manage.py createsuperuser --email admin@example.com --password admin
restartPolicy: Never restartPolicy: Never
# Extra volume to manage our local custom CA and avoid to set ssl_verify: false # Extra volume mounts to manage our local custom CA and avoid to set ssl_verify: false
extraVolumeMounts: extraVolumeMounts:
- name: certs - name: certs
mountPath: /cert/cacert.pem mountPath: /cert/cacert.pem
subPath: cacert.pem subPath: cacert.pem
# Extra volume to manage our local custom CA and avoid to set ssl_verify: false # Extra volumes to manage our local custom CA and avoid to set ssl_verify: false
extraVolumes: extraVolumes:
- name: certs - name: certs
configMap: configMap:
@@ -94,12 +115,7 @@ backend:
- key: cacert.pem - key: cacert.pem
path: cacert.pem path: cacert.pem
frontend: frontend:
envVars:
PORT: 8080
NEXT_PUBLIC_API_ORIGIN: https://impress.127.0.0.1.nip.io
replicas: 1 replicas: 1
image: image:
repository: lasuite/impress-frontend repository: lasuite/impress-frontend
pullPolicy: Always pullPolicy: Always
@@ -114,60 +130,47 @@ yProvider:
tag: "latest" tag: "latest"
envVars: envVars:
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
COLLABORATION_BACKEND_BASE_URL: https://impress.127.0.0.1.nip.io
NODE_EXTRA_CA_CERTS: /usr/local/share/ca-certificates/cacert.pem
# Mount the certificate so yProvider can establish tls with the backend ingress:
extraVolumeMounts: enabled: true
- name: certs host: docs.127.0.0.1.nip.io
mountPath: /usr/local/share/ca-certificates/cacert.pem annotations:
subPath: cacert.pem nginx.ingress.kubernetes.io/proxy-body-size: 100m
extraVolumes: ingressCollaborationWS:
- name: certs enabled: true
configMap: host: docs.127.0.0.1.nip.io
name: certifi
items: ingressCollaborationApi:
- key: cacert.pem enabled: true
path: cacert.pem host: docs.127.0.0.1.nip.io
ingressAdmin:
enabled: true
host: docs.127.0.0.1.nip.io
posthog: posthog:
ingress: ingress:
enabled: false enabled: false
ingressAssets: ingressAssets:
enabled: false enabled: false
ingress:
enabled: true
host: impress.127.0.0.1.nip.io
ingressCollaborationWS:
enabled: true
host: impress.127.0.0.1.nip.io
ingressCollaborationApi:
enabled: true
host: impress.127.0.0.1.nip.io
ingressAdmin:
enabled: true
host: impress.127.0.0.1.nip.io
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: minio-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: minio-dev-backend-minio.impress.svc.cluster.local
port: 9000 port: 9000

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,24 @@
auth: minio:
rootUser: root
rootPassword: password
provisioning:
enabled: true enabled: true
buckets: image: minio/minio
- name: impress-media-storage name: minio
versioning: true # serviceNameOverride: docs-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
api:
port: 80
username: dinum
password: password
bucket: docs-media-storage
versioning: true
size: 1Gi

View File

@@ -1,7 +1,9 @@
auth: postgres:
enabled: true
name: postgres
#serviceNameOverride: postgres
image: postgres:16-alpine
username: dinum username: dinum
password: pass password: pass
database: impress database: dinum
tls: size: 1Gi
enabled: true
autoGenerated: true

View File

@@ -1,4 +1,7 @@
auth: redis:
password: pass enabled: true
architecture: standalone name: redis
#serviceNameOverride: redis
image: redis:8.2-alpine
username: user
password: pass

View File

@@ -7,7 +7,7 @@ This document is a step-by-step guide that describes how to install Docs on a k8
- k8s cluster with an nginx-ingress controller - k8s cluster with an nginx-ingress controller
- an OIDC provider (if you don't have one, we provide an example) - an OIDC provider (if you don't have one, we provide an example)
- a PostgreSQL server (if you don't have one, we provide an example) - a PostgreSQL server (if you don't have one, we provide an example)
- a Memcached server (if you don't have one, we provide an example) - a Redis server (if you don't have one, we provide an example)
- a S3 bucket (if you don't have one, we provide an example) - a S3 bucket (if you don't have one, we provide an example)
### Test cluster ### Test cluster
@@ -100,50 +100,66 @@ When your k8s cluster is ready (the ingress nginx controller is up), you can sta
Please remember that `*.127.0.0.1.nip.io` will always resolve to `127.0.0.1`, except in the k8s cluster where we configure CoreDNS to answer with the ingress-nginx service IP. Please remember that `*.127.0.0.1.nip.io` will always resolve to `127.0.0.1`, except in the k8s cluster where we configure CoreDNS to answer with the ingress-nginx service IP.
The namespace `impress` is already created, you can work in it and configure your kubectl cli to use it by default.
```
$ kubectl config set-context --current --namespace=impress
```
## Preparation ## Preparation
We provide our own helm chart for all development dependencies, it is available here https://github.com/suitenumerique/helm-dev-backend
This provided chart is for development purpose only and is not ready to use in production.
You can install it on your cluster to deploy keycloak, minio, postgresql and redis.
### What do you use to authenticate your users? ### What do you use to authenticate your users?
Docs uses OIDC, so if you already have an OIDC provider, obtain the necessary information to use it. In the next step, we will see how to configure Django (and thus Docs) to use it. If you do not have a provider, we will show you how to deploy a local Keycloak instance (this is not a production deployment, just a demo). Docs uses OIDC, so if you already have an OIDC provider, obtain the necessary information to use it. In the next step, we will see how to configure Django (and thus Docs) to use it. If you do not have a provider, we will show you how to deploy a local Keycloak instance (this is not a production deployment, just a demo).
``` ```
$ kubectl create namespace impress $ helm install --repo https://suitenumerique.github.io/helm-dev-backend -f docs/examples/helm/keycloak.values.yaml keycloak dev-backend
$ kubectl config set-context --current --namespace=impress
$ helm install keycloak oci://registry-1.docker.io/bitnamicharts/keycloak -f examples/keycloak.values.yaml
$ #wait until $ #wait until
$ kubectl get po $ kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
keycloak-0 1/1 Running 0 6m48s keycloak-dev-backend-keycloak-0 1/1 Running 0 20s
keycloak-postgresql-0 1/1 Running 0 6m48s keycloak-dev-backend-keycloak-pg-0 1/1 Running 0 20s
``` ```
From here the important information you will need are: From here the important information you will need are:
```yaml ```yaml
OIDC_OP_JWKS_ENDPOINT: https://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/impress/protocol/openid-connect/certs
OIDC_OP_AUTHORIZATION_ENDPOINT: https://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/impress/protocol/openid-connect/auth
OIDC_OP_TOKEN_ENDPOINT: https://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/impress/protocol/openid-connect/token
OIDC_OP_USER_ENDPOINT: https://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/impress/protocol/openid-connect/userinfo
OIDC_OP_LOGOUT_ENDPOINT: https://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/impress/protocol/openid-connect/logout
OIDC_RP_CLIENT_ID: impress OIDC_RP_CLIENT_ID: impress
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"
``` ```
You can find these values in **examples/keycloak.values.yaml** You can find these values in **examples/helm/keycloak.values.yaml**
### Find redis server connection values ### Find redis server connection values
Docs needs a redis so we start by deploying one: Docs needs a redis so we start by deploying one:
``` ```
$ helm install redis oci://registry-1.docker.io/bitnamicharts/redis -f examples/redis.values.yaml $ helm install --repo https://suitenumerique.github.io/helm-dev-backend -f docs/examples/helm/redis.values.yaml redis dev-backend
$ kubectl get po $ kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
keycloak-0 1/1 Running 0 26m keycloak-dev-backend-keycloak-0 1/1 Running 0 113s
keycloak-postgresql-0 1/1 Running 0 26m keycloak-dev-backend-keycloak-pg-0 1/1 Running 0 113s
redis-master-0 1/1 Running 0 35s redis-dev-backend-redis-68c9f66786-4dgxj 1/1 Running 0 2s
```
From here the important information you will need are:
```yaml
REDIS_URL: redis://user:pass@redis-dev-backend-redis:6379/1
DJANGO_CELERY_BROKER_URL: redis://user:pass@redis-dev-backend-redis:6379/1
``` ```
### Find postgresql connection values ### Find postgresql connection values
@@ -151,22 +167,32 @@ redis-master-0 1/1 Running 0 35s
Docs uses a postgresql database as backend, so if you have a provider, obtain the necessary information to use it. If you don't, you can install a postgresql testing environment as follow: Docs uses a postgresql database as backend, so if you have a provider, obtain the necessary information to use it. If you don't, you can install a postgresql testing environment as follow:
``` ```
$ helm install postgresql oci://registry-1.docker.io/bitnamicharts/postgresql -f examples/postgresql.values.yaml $ helm install --repo https://suitenumerique.github.io/helm-dev-backend -f docs/examples/helm/postgresql.values.yaml postgresql dev-backend
$ kubectl get po $ kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
keycloak-0 1/1 Running 0 28m keycloak-dev-backend-keycloak-0 1/1 Running 0 3m42s
keycloak-postgresql-0 1/1 Running 0 28m keycloak-dev-backend-keycloak-pg-0 1/1 Running 0 3m42s
postgresql-0 1/1 Running 0 14m postgresql-dev-backend-postgres-0 1/1 Running 0 13s
redis-master-0 1/1 Running 0 42s redis-dev-backend-redis-68c9f66786-4dgxj 1/1 Running 0 111s
``` ```
From here the important information you will need are: From here the important information you will need are:
```yaml ```yaml
DB_HOST: postgres-postgresql DB_HOST: postgresql-dev-backend-postgres
DB_NAME: impress DB_NAME:
DB_USER: dinum secretKeyRef:
DB_PASSWORD: pass 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 DB_PORT: 5432
``` ```
@@ -175,15 +201,15 @@ DB_PORT: 5432
Docs uses an s3 bucket to store documents, so if you have a provider obtain the necessary information to use it. If you don't, you can install a local minio testing environment as follow: Docs uses an s3 bucket to store documents, so if you have a provider obtain the necessary information to use it. If you don't, you can install a local minio testing environment as follow:
``` ```
$ helm install minio oci://registry-1.docker.io/bitnamicharts/minio -f examples/minio.values.yaml $ helm install --repo https://suitenumerique.github.io/helm-dev-backend -f docs/examples/helm/minio.values.yaml minio dev-backend
$ kubectl get po $ kubectl get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
keycloak-0 1/1 Running 0 38m keycloak-dev-backend-keycloak-0 1/1 Running 0 6m12s
keycloak-postgresql-0 1/1 Running 0 38m keycloak-dev-backend-keycloak-pg-0 1/1 Running 0 6m12s
minio-84f5c66895-bbhsk 1/1 Running 0 42s minio-dev-backend-minio-0 1/1 Running 0 10s
minio-provisioning-2b5sq 0/1 Completed 0 42s postgresql-dev-backend-postgres-0 1/1 Running 0 2m43s
postgresql-0 1/1 Running 0 24m redis-dev-backend-redis-68c9f66786-4dgxj 1/1 Running 0 4m21s
redis-master-0 1/1 Running 0 10m
``` ```
## Deployment ## Deployment
@@ -193,20 +219,18 @@ Now you are ready to deploy Docs without AI. AI requires more dependencies (Open
``` ```
$ helm repo add impress https://suitenumerique.github.io/docs/ $ helm repo add impress https://suitenumerique.github.io/docs/
$ helm repo update $ helm repo update
$ helm install impress impress/docs -f examples/impress.values.yaml $ helm install impress impress/docs -f docs/examples/helm/impress.values.yaml
$ kubectl get po $ kubectl get po
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
impress-docs-backend-96558758d-xtkbp 0/1 Running 0 79s impress-docs-backend-8494fb797d-8k8wt 1/1 Running 0 6m45s
impress-docs-backend-createsuperuser-r7ltc 0/1 Completed 0 79s impress-docs-celery-worker-764b5dd98f-9qd6v 1/1 Running 0 6m45s
impress-docs-backend-migrate-c949s 0/1 Completed 0 79s impress-docs-frontend-5b69b65cc4-s8pps 1/1 Running 0 6m45s
impress-docs-frontend-6749f644f7-p5s42 1/1 Running 0 79s impress-docs-y-provider-5fc7ccd8cc-6ttrf 1/1 Running 0 6m45s
impress-docs-y-provider-6947fd8f54-78f2l 1/1 Running 0 79s keycloak-dev-backend-keycloak-0 1/1 Running 0 24m
keycloak-0 1/1 Running 0 48m keycloak-dev-backend-keycloak-pg-0 1/1 Running 0 24m
keycloak-postgresql-0 1/1 Running 0 48m minio-dev-backend-minio-0 1/1 Running 0 8m24s
minio-84f5c66895-bbhsk 1/1 Running 0 10m postgresql-dev-backend-postgres-0 1/1 Running 0 20m
minio-provisioning-2b5sq 0/1 Completed 0 10m redis-dev-backend-redis-68c9f66786-4dgxj 1/1 Running 0 22m
postgresql-0 1/1 Running 0 34m
redis-master-0 1/1 Running 0 20m
``` ```
## Test your deployment ## Test your deployment
@@ -215,13 +239,15 @@ In order to test your deployment you have to log into your instance. If you excl
``` ```
$ kubectl get ingress $ kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE NAME CLASS HOSTS ADDRESS PORTS AGE
impress-docs <none> impress.127.0.0.1.nip.io localhost 80, 443 114s impress-docs <none> docs.127.0.0.1.nip.io localhost 80, 443 7m9s
impress-docs-admin <none> impress.127.0.0.1.nip.io localhost 80, 443 114s impress-docs-admin <none> docs.127.0.0.1.nip.io localhost 80, 443 7m9s
impress-docs-collaboration-api <none> impress.127.0.0.1.nip.io localhost 80, 443 114s impress-docs-collaboration-api <none> docs.127.0.0.1.nip.io localhost 80, 443 7m9s
impress-docs-media <none> impress.127.0.0.1.nip.io localhost 80, 443 114s impress-docs-media <none> docs.127.0.0.1.nip.io localhost 80, 443 7m9s
impress-docs-ws <none> impress.127.0.0.1.nip.io localhost 80, 443 114s impress-docs-ws <none> docs.127.0.0.1.nip.io localhost 80, 443 7m9s
keycloak <none> keycloak.127.0.0.1.nip.io localhost 80 49m keycloak-dev-backend-keycloak <none> docs-keycloak.127.0.0.1.nip.io localhost 80, 443 24m
minio-dev-backend-minio-api <none> docs-minio.127.0.0.1.nip.io localhost 80, 443 8m48s
minio-dev-backend-minio-console <none> docs-minio-console.127.0.0.1.nip.io localhost 80, 443 8m48s
``` ```
You can use Docs at https://impress.127.0.0.1.nip.io. The provisionning user in keycloak is impress/impress. You can use Docs at https://docs.127.0.0.1.nip.io. The provisionning user in keycloak is docs/docs.