From 311d6a1541fdb0e965876615107c85490b73c742 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Mon, 10 Nov 2025 10:30:16 +1000 Subject: [PATCH] Tweaks to CI stack for postgres --- docker/ci.env | 2 +- docker/docker-compose.ci.postgres.yml | 14 ++++- docker/docker-compose.ci.yml | 79 +++++++++++++-------------- docker/docker-compose.dev.yml | 8 ++- 4 files changed, 57 insertions(+), 46 deletions(-) diff --git a/docker/ci.env b/docker/ci.env index 7128295d..11e2b2f8 100644 --- a/docker/ci.env +++ b/docker/ci.env @@ -1,6 +1,6 @@ AUTHENTIK_SECRET_KEY=gl8woZe8L6IIX8SC0c5Ocsj0xPkX5uJo5DVZCFl+L/QGbzuplfutYuua2ODNLEiDD3aFd9H2ylJmrke0 AUTHENTIK_REDIS__HOST=authentik-redis -AUTHENTIK_POSTGRESQL__HOST=db-postgres +AUTHENTIK_POSTGRESQL__HOST=pgdb.internal AUTHENTIK_POSTGRESQL__USER=authentik AUTHENTIK_POSTGRESQL__NAME=authentik AUTHENTIK_POSTGRESQL__PASSWORD=07EKS5NLI6Tpv68tbdvrxfvj diff --git a/docker/docker-compose.ci.postgres.yml b/docker/docker-compose.ci.postgres.yml index e9eb4bc2..b8c42446 100644 --- a/docker/docker-compose.ci.postgres.yml +++ b/docker/docker-compose.ci.postgres.yml @@ -6,7 +6,7 @@ services: fullstack: environment: - DB_POSTGRES_HOST: "db-postgres" + DB_POSTGRES_HOST: "pgdb.internal" DB_POSTGRES_PORT: "5432" DB_POSTGRES_USER: "npm" DB_POSTGRES_PASSWORD: "npmpass" @@ -27,7 +27,9 @@ services: - psql_vol:/var/lib/postgresql/data - ./ci/postgres:/docker-entrypoint-initdb.d networks: - - fulltest + fulltest: + aliases: + - pgdb.internal authentik-redis: image: "redis:alpine" @@ -41,6 +43,8 @@ services: timeout: 3s volumes: - redis_vol:/data + networks: + - fulltest authentik: image: ghcr.io/goauthentik/server:2024.10.1 @@ -51,6 +55,8 @@ services: depends_on: - authentik-redis - db-postgres + networks: + - fulltest authentik-worker: image: ghcr.io/goauthentik/server:2024.10.1 @@ -61,6 +67,8 @@ services: depends_on: - authentik-redis - db-postgres + networks: + - fulltest authentik-ldap: image: ghcr.io/goauthentik/ldap:2024.10.1 @@ -71,6 +79,8 @@ services: restart: unless-stopped depends_on: - authentik + networks: + - fulltest volumes: psql_vol: diff --git a/docker/docker-compose.ci.yml b/docker/docker-compose.ci.yml index 8070aa42..ce8913fe 100644 --- a/docker/docker-compose.ci.yml +++ b/docker/docker-compose.ci.yml @@ -3,31 +3,30 @@ # This is a base compose file, it should be extended with a # docker-compose.ci.*.yml file services: - fullstack: image: "${IMAGE}:${BRANCH_LOWER}-ci-${BUILD_NUMBER}" environment: TZ: "${TZ:-Australia/Brisbane}" - DEBUG: 'true' - CI: 'true' + DEBUG: "true" + CI: "true" FORCE_COLOR: 1 # Required for DNS Certificate provisioning in CI - LE_SERVER: 'https://ca.internal/acme/acme/directory' - REQUESTS_CA_BUNDLE: '/etc/ssl/certs/NginxProxyManager.crt' + LE_SERVER: "https://ca.internal/acme/acme/directory" + REQUESTS_CA_BUNDLE: "/etc/ssl/certs/NginxProxyManager.crt" volumes: - - 'npm_data_ci:/data' - - 'npm_le_ci:/etc/letsencrypt' - - './dev/letsencrypt.ini:/etc/letsencrypt.ini:ro' - - './dev/resolv.conf:/etc/resolv.conf:ro' - - '/etc/localtime:/etc/localtime:ro' + - "npm_data_ci:/data" + - "npm_le_ci:/etc/letsencrypt" + - "./dev/letsencrypt.ini:/etc/letsencrypt.ini:ro" + - "./dev/resolv.conf:/etc/resolv.conf:ro" + - "/etc/localtime:/etc/localtime:ro" healthcheck: test: ["CMD", "/usr/bin/check-health"] interval: 10s timeout: 3s expose: - - '80-81/tcp' - - '443/tcp' - - '1500-1503/tcp' + - "80-81/tcp" + - "443/tcp" + - "1500-1503/tcp" networks: fulltest: aliases: @@ -38,8 +37,8 @@ services: stepca: image: jc21/testca volumes: - - './dev/resolv.conf:/etc/resolv.conf:ro' - - '/etc/localtime:/etc/localtime:ro' + - "./dev/resolv.conf:/etc/resolv.conf:ro" + - "/etc/localtime:/etc/localtime:ro" networks: fulltest: aliases: @@ -48,18 +47,18 @@ services: pdns: image: pschiffe/pdns-mysql:4.8 volumes: - - '/etc/localtime:/etc/localtime:ro' + - "/etc/localtime:/etc/localtime:ro" environment: - PDNS_master: 'yes' - PDNS_api: 'yes' - PDNS_api_key: 'npm' - PDNS_webserver: 'yes' - PDNS_webserver_address: '0.0.0.0' - PDNS_webserver_password: 'npm' - PDNS_webserver-allow-from: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8' - PDNS_version_string: 'anonymous' + PDNS_master: "yes" + PDNS_api: "yes" + PDNS_api_key: "npm" + PDNS_webserver: "yes" + PDNS_webserver_address: "0.0.0.0" + PDNS_webserver_password: "npm" + PDNS_webserver-allow-from: "127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8" + PDNS_version_string: "anonymous" PDNS_default_ttl: 1500 - PDNS_allow_axfr_ips: '127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8' + PDNS_allow_axfr_ips: "127.0.0.0/8,192.0.0.0/8,10.0.0.0/8,172.0.0.0/8" PDNS_gmysql_host: pdns-db PDNS_gmysql_port: 3306 PDNS_gmysql_user: pdns @@ -76,14 +75,14 @@ services: pdns-db: image: mariadb environment: - MYSQL_ROOT_PASSWORD: 'pdns' - MYSQL_DATABASE: 'pdns' - MYSQL_USER: 'pdns' - MYSQL_PASSWORD: 'pdns' + MYSQL_ROOT_PASSWORD: "pdns" + MYSQL_DATABASE: "pdns" + MYSQL_USER: "pdns" + MYSQL_PASSWORD: "pdns" volumes: - - 'pdns_mysql_vol:/var/lib/mysql' - - '/etc/localtime:/etc/localtime:ro' - - './dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro' + - "pdns_mysql_vol:/var/lib/mysql" + - "/etc/localtime:/etc/localtime:ro" + - "./dev/pdns-db.sql:/docker-entrypoint-initdb.d/01_init.sql:ro" networks: - fulltest @@ -100,12 +99,12 @@ services: context: ../ dockerfile: test/cypress/Dockerfile environment: - HTTP_PROXY: 'squid:3128' - HTTPS_PROXY: 'squid:3128' + HTTP_PROXY: "squid:3128" + HTTPS_PROXY: "squid:3128" volumes: - - 'cypress_logs:/test/results' - - './dev/resolv.conf:/etc/resolv.conf:ro' - - '/etc/localtime:/etc/localtime:ro' + - "cypress_logs:/test/results" + - "./dev/resolv.conf:/etc/resolv.conf:ro" + - "/etc/localtime:/etc/localtime:ro" command: cypress run --browser chrome --config-file=cypress/config/ci.js networks: - fulltest @@ -113,9 +112,9 @@ services: squid: image: ubuntu/squid volumes: - - './dev/squid.conf:/etc/squid/squid.conf:ro' - - './dev/resolv.conf:/etc/resolv.conf:ro' - - '/etc/localtime:/etc/localtime:ro' + - "./dev/squid.conf:/etc/squid/squid.conf:ro" + - "./dev/resolv.conf:/etc/resolv.conf:ro" + - "/etc/localtime:/etc/localtime:ro" networks: - fulltest diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 57c30e07..01577716 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -32,7 +32,7 @@ services: # DB_MYSQL_PASSWORD: 'npm' # DB_MYSQL_NAME: 'npm' # db-postgres: - DB_POSTGRES_HOST: "db-postgres" + DB_POSTGRES_HOST: "pgdb.internal" DB_POSTGRES_PORT: "5432" DB_POSTGRES_USER: "npm" DB_POSTGRES_PASSWORD: "npmpass" @@ -81,8 +81,6 @@ services: db-postgres: image: postgres:17 container_name: npm2dev.db-postgres - networks: - - nginx_proxy_manager environment: POSTGRES_USER: "npm" POSTGRES_PASSWORD: "npmpass" @@ -90,6 +88,10 @@ services: volumes: - psql_data:/var/lib/postgresql/data - ./ci/postgres:/docker-entrypoint-initdb.d + networks: + nginx_proxy_manager: + aliases: + - pgdb.internal stepca: image: jc21/testca