Skip to content

Commit

Permalink
test: Create the DiracX AuthDB as an init container
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisburr committed Oct 5, 2023
1 parent f090aea commit f379bc3
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions tests/CI/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ services:
pull_policy: always

diracx-wait-for-db:

image: ${MYSQL_VER}
container_name: diracx-wait-for-db
depends_on:
Expand All @@ -74,7 +73,6 @@ services:
command: /home/dirac/LocalRepo/ALTERNATIVE_MODULES/DIRAC/tests/CI/check_db_initialized.sh
pull_policy: always


dirac-server:
image: ${CI_REGISTRY_IMAGE}/${HOST_OS}-dirac
container_name: server
Expand All @@ -91,7 +89,7 @@ services:
iam-login-service:
condition: service_started
diracx-init-key:
condition: service_completed_successfully # Let the init container create the cs
condition: service_completed_successfully # Let the init container create the singing key
diracx-init-cs:
condition: service_completed_successfully # Let the init container create the cs
ulimits:
Expand All @@ -115,8 +113,6 @@ services:
nofile: 8192
pull_policy: always



diracx-init-key:
image: ghcr.io/diracgrid/diracx/server
container_name: diracx-init-key
Expand All @@ -140,23 +136,39 @@ services:
- diracx-cs-store:/cs_store/
- diracx-key-store:/signing-key/
entrypoint: |
/dockerMicroMambaEntrypoint.sh dirac internal generate-cs /cs_store/initialRepo --vo=diracAdmin --user-group=admin --idp-url=http://dsdsd.csds/a/b
/dockerMicroMambaEntrypoint.sh bash -xc 'dirac internal generate-cs /cs_store/initialRepo --vo=vo --user-group=dirac_user --idp-url=http://dsdsd.csds/a/b'
pull_policy: always

diracx-init-db:
image: ghcr.io/diracgrid/diracx/server
container_name: diracx-init-db
depends_on:
mysql:
condition: service_healthy
environment:
- DIRACX_DB_URL_AUTHDB=mysql+aiomysql://Dirac:Dirac@mysql/DiracXAuthDB
entrypoint: |
/dockerMicroMambaEntrypoint.sh bash -xc 'micromamba install --yes -c conda-forge mysql-client && mysql -h mysql -u root --password=password -e "CREATE DATABASE DiracXAuthDB" && mysql -h mysql -u root --password=password -e "GRANT SELECT,INSERT,LOCK TABLES,UPDATE,DELETE,CREATE,DROP,ALTER,REFERENCES,CREATE VIEW,SHOW VIEW,INDEX,TRIGGER,ALTER ROUTINE,CREATE ROUTINE ON DiracXAuthDB.* TO Dirac@'"'"'%'"'"'" && python -m diracx.db init-sql'
pull_policy: always

diracx:
image: ghcr.io/diracgrid/diracx/server
container_name: diracx
environment:
- DIRACX_CONFIG_BACKEND_URL=git+file:///cs_store/initialRepo
- "DIRACX_DB_URL_AUTHDB=sqlite+aiosqlite:///:memory:"
- DIRACX_DB_URL_AUTHDB=mysql+aiomysql://Dirac:Dirac@mysql/DiracXAuthDB
- DIRACX_DB_URL_JOBDB=mysql+aiomysql://Dirac:Dirac@mysql/JobDB
- DIRACX_DB_URL_JOBLOGGINGDB=mysql+aiomysql://Dirac:Dirac@mysql/JobLoggingDB
- DIRACX_DB_URL_SANDBOXMETADATADB=mysql+aiomysql://Dirac:Dirac@mysql/SandboxMetadataDB
- DIRACX_SERVICE_AUTH_TOKEN_KEY=file:///signing-key/rs256.key
- DIRACX_SERVICE_AUTH_ALLOWED_REDIRECTS=["http://diracx:8000/docs/oauth2-redirect"]
# Obtained with echo 'InsecureChangeMe' | base64 -d | openssl sha256
- DIRACX_LEGACY_EXCHANGE_HASHED_API_KEY=07cddf6948d316ac9d186544dc3120c4c6697d8f994619665985c0a5bf76265a
ports:
- 8000:8000
depends_on:
diracx-init-db:
condition: service_completed_successfully
diracx-wait-for-db:
condition: service_completed_successfully
volumes:
Expand Down

0 comments on commit f379bc3

Please sign in to comment.