diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbc24c1aeb2262d2951c0636ce7c1d1c311086f1..53bf1f34d680b4a5ca617f17093580494e68612e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,6 +14,7 @@ stages: # general settings ADMIN_USERNAME: admin ADMIN_PASSWORD: admin + OPERATION_MODE: tests # tank settings TANK_HOST: tank @@ -37,7 +38,7 @@ stages: DASHBOARD_VERSION: main DASHBOARD_BRANCH: main DASHBOARD_PORT: 80 - DASHBOARD_HOST: dashbaord + DASHBOARD_HOST: dashboard DASHBOARD_ORIGIN: http://$DASHBOARD_HOST:$DASHBOARD_PORT DASHBOARD_CALLBACK_BASE_URL: $DASHBOARD_ORIGIN DASHBOARD_OIDC_CLIENT_ID: 234567 @@ -57,96 +58,44 @@ stages: DJANGO_SUPERUSER_EMAIL: admin@example.org DJANGO_SUPERUSER_USERNAME: $ADMIN_USERNAME DJANGO_SUPERUSER_PASSWORD: $ADMIN_PASSWORD + CORS_ALLOWED_ORIGINS: $DASHBOARD_ORIGIN + ALLOWED_HOSTS: '*' + SITE_URL: $STEERING_ORIGIN + DEBUG: true + LOGGING_JSON: > + { + "version": 1, + "disable_existing_loggers": false, + "handlers": { "console": { "class": "logging.StreamHandler" } }, + "root": { "handlers": ["console"], "level": "INFO" } + } entrypoint: ['/bin/bash'] command: - '-c' - | - cat >>/app/steering/settings.py <<EOF - CORS_ALLOWED_ORIGINS = ["$DASHBOARD_ORIGIN"] - ALLOWED_HOSTS = ["*"] - SITE_URL = "$STEERING_ORIGIN" - DEBUG = True - LOGGING = { - "version": 1, - "disable_existing_loggers": False, - "handlers": { - "console": { - "class": "logging.StreamHandler", - }, - }, - "root": { - "handlers": ["console"], - "level": "INFO", - }, - } - EOF poetry run ./manage.py initialize poetry run ./manage.py loadfixtures sample exec ./entrypoint.sh run.prod - name: autoradio/tank:${TANK_VERSION} alias: tank + variables: + AURA_TANK_DEBUG: true + DATABASE_URL: postgres://$TANK_POSTGRES_USER:$TANK_POSTGRES_PASSWORD@postgres:5432/$TANK_POSTGRES_DB + OIDC_ISSUER_URL: $STEERING_ORIGIN/openid + OIDC_CLIENT_ID: 123456 + OIDC_CLIENT_SECRET: $TANK_OIDC_CLIENT_SECRET + OIDC_CALLBACK_URL: $TANK_ORIGIN/auth/oidc/callback + CORS_ALLOW_CREDENTIALS: true + CORS_ALLOWED_ORIGINS: $DASHBOARD_ORIGIN entrypoint: ['/bin/bash'] command: - '-c' - | - # make sure postgres is up before starting tank - while true; do - timeout 0.25 cat >/dev/null 2>&1 </dev/tcp/postgres/5432 - if [ "$?" = 124 ]; then break; fi - done - while true; do - timeout 0.25 cat >/dev/null 2>&1 <"/dev/tcp/steering/$STEERING_PORT" - if [ "$?" = 124 ]; then break; fi - done - cat >/tmp/tank.yaml <<EOF - store: - path: /srv/audio - audio: - format: flac - sample-rate: 44100 - db: - type: postgres - host: postgres - tls: disable - username: "$TANK_POSTGRES_USER" - password: "$TANK_POSTGRES_PASSWORD" - database: "$TANK_POSTGRES_DB" - - importer: - temp-path: /srv/import-temp - workers: 4 - normalizer: ffmpeg - - auth: - sessions: - max-age: 12h - static: - engine: - secret: no-secret - readonly: true - allShows: true - oidc: - issuer-url: $STEERING_ORIGIN/openid - client-id: $TANK_OIDC_CLIENT_ID - client-secret: $TANK_OIDC_CLIENT_SECRET - callback-url: $TANK_ORIGIN/auth/oidc/callback - login-timeout: 10m - - web: - cors: - allowed-origins: ['$DASHBOARD_ORIGIN'] - allowed-methods: - - GET - - PUT - - POST - - PATCH - - DELETE - allowed-headers: ['*'] - allow-credentials: true - debug: true - EOF - /usr/local/bin/tank --config /tmp/tank.yaml run --listen ":$TANK_PORT" + # make sure postgres and steering are up before starting tank + wait-for-it --timeout=0 postgres:5432 + wait-for-it --timeout=0 "$STEERING_HOST:$STEERING_PORT" + /usr/local/bin/tank run --listen ":$TANK_PORT" - name: autoradio/dashboard:${DASHBOARD_VERSION} alias: dashboard @@ -165,4 +114,4 @@ integration-tests: - wait-for-it -t 120 -h tank -p "$TANK_PORT" - wait-for-it -t 120 -h dashboard -p "$DASHBOARD_PORT" script: - - echo 'insert integrations Tests' \ No newline at end of file + - echo 'insert integrations Tests'