mirror of
https://github.com/suitenumerique/docs.git
synced 2026-09-03 00:28:48 +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.
89 lines
3.0 KiB
Python
89 lines
3.0 KiB
Python
load('ext://uibutton', 'cmd_button', 'bool_input', 'location')
|
|
load('ext://namespace', 'namespace_create', 'namespace_inject')
|
|
namespace_create('impress')
|
|
|
|
docker_build(
|
|
'localhost:5001/impress-backend:latest',
|
|
context='..',
|
|
dockerfile='../Dockerfile',
|
|
only=['./src/backend', './src/mail', './docker'],
|
|
target = 'backend-production',
|
|
build_args={'DOCKER_USER': '1000:1000'},
|
|
live_update=[
|
|
sync('../src/backend', '/app'),
|
|
run(
|
|
'pip install -r /app/requirements.txt',
|
|
trigger=['./api/requirements.txt']
|
|
)
|
|
]
|
|
)
|
|
|
|
docker_build(
|
|
'localhost:5001/impress-y-provider:latest',
|
|
context='..',
|
|
dockerfile='../src/frontend/servers/y-provider/Dockerfile',
|
|
only=['./src/frontend/', './docker/', './.dockerignore'],
|
|
target = 'y-provider',
|
|
build_args={'DOCKER_USER': '1000:1000'},
|
|
live_update=[
|
|
sync('../src/frontend/servers/y-provider/src', '/home/frontend/servers/y-provider/src'),
|
|
]
|
|
)
|
|
|
|
docker_build(
|
|
'localhost:5001/impress-frontend:latest',
|
|
context='..',
|
|
dockerfile='../src/frontend/Dockerfile',
|
|
only=['./src/frontend', './docker', './.dockerignore'],
|
|
target = 'impress',
|
|
build_args={'DOCKER_USER': '1000:1000'},
|
|
live_update=[
|
|
sync('../src/frontend', '/home/frontend'),
|
|
]
|
|
)
|
|
|
|
docker_build(
|
|
'localhost:5001/impress-yhub:latest',
|
|
context='..',
|
|
dockerfile='../src/yhub-server/Dockerfile',
|
|
only=['./src/yhub-server', './docker', './.dockerignore'],
|
|
target = 'yhub',
|
|
build_args={'DOCKER_USER': '1000:1000'},
|
|
live_update=[
|
|
sync('../src/yhub-server', '/app'),
|
|
]
|
|
)
|
|
|
|
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-yhub-init-db', resource_deps=['dev-backend-postgres'])
|
|
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 .'))
|
|
|
|
migration = '''
|
|
set -eu
|
|
# get k8s pod name from tilt resource name
|
|
POD_NAME="$(tilt get kubernetesdiscovery impress-backend -ojsonpath='{.status.pods[0].name}')"
|
|
kubectl -n impress exec "$POD_NAME" -- python manage.py makemigrations
|
|
'''
|
|
cmd_button('Make migration',
|
|
argv=['sh', '-c', migration],
|
|
resource='impress-backend',
|
|
icon_name='developer_board',
|
|
text='Run makemigration',
|
|
)
|
|
|
|
pod_migrate = '''
|
|
set -eu
|
|
# get k8s pod name from tilt resource name
|
|
POD_NAME="$(tilt get kubernetesdiscovery impress-backend -ojsonpath='{.status.pods[0].name}')"
|
|
kubectl -n impress exec "$POD_NAME" -- python manage.py migrate --no-input
|
|
'''
|
|
cmd_button('Migrate db',
|
|
argv=['sh', '-c', pod_migrate],
|
|
resource='impress-backend',
|
|
icon_name='developer_board',
|
|
text='Run database migration',
|
|
)
|