diff --git a/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/.automation.env b/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/.automation.env index c7b263dd1..c3098b771 100644 --- a/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/.automation.env +++ b/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/.automation.env @@ -12,3 +12,4 @@ ADMINAPP_VIRTUAL_NAME=adminapp ENCRYPTION_KEY=mDsmV7vx29qRagq8wvM9Ip9mqEDKnF3NjFtJhR2u4dQ= API_INTERNAL_URL = http://${ODS_VIRTUAL_NAME} ADMINAPP_HEALTHCHECK_TEST="curl -f http://${ADMINAPP_VIRTUAL_NAME}/health" +API_HEALTHCHECK_TEST="curl -f http://localhost/health" \ No newline at end of file diff --git a/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/compose-aa-build.yml b/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/compose-aa-build.yml index 57ec22c1e..2a11fa996 100644 --- a/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/compose-aa-build.yml +++ b/Application/EdFi.Ods.AdminApp.E2E.Tests/gh-action-setup/compose-aa-build.yml @@ -17,10 +17,14 @@ services: - vol-db-ods:/var/lib/postgresql/data restart: always container_name: ed-fi-db-ods + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] + start_period: "60s" + retries: 3 db-admin: build: - context: ../../../../ods-docker/DB-Admin/Alpine/pgsql + context: ../../../DB-Admin/Alpine/pgsql dockerfile: Dockerfile environment: POSTGRES_USER: "${POSTGRES_USER}" @@ -30,9 +34,15 @@ services: - vol-db-admin:/var/lib/postgresql/data restart: always container_name: ed-fi-db-admin + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] + start_period: "60s" + retries: 3 nginx: - image: edfialliance/ods-api-web-gateway:${TAG} + build: + context: ../../../Docker/Settings/gateway + dockerfile: Dockerfile environment: ADMINAPP_VIRTUAL_NAME: "${ADMINAPP_VIRTUAL_NAME:-adminapp}" ODS_VIRTUAL_NAME: "${ODS_VIRTUAL_NAME:-api}" @@ -49,7 +59,7 @@ services: - adminapp api: - image: edfialliance/ods-api-web-api:${TAG} + image: edfialliance/ods-api-web-api:v2.3.2 environment: POSTGRES_USER: "${POSTGRES_USER}" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" @@ -59,6 +69,14 @@ services: API_MODE: "SharedInstance" ApiSettings__PathBase: "${ODS_VIRTUAL_NAME:-api}" TPDM_ENABLED: "${TPDM_ENABLED:-true}" + PATH_BASE: "${ODS_VIRTUAL_NAME:-api}" + API_HEALTHCHECK_TEST: ${API_HEALTHCHECK_TEST?Please consult env.example to set the API healthcheck test} + NPG_POOLING_ENABLED: "${NPG_POOLING_ENABLED:-false}" + NPG_API_MAX_POOL_SIZE_ODS: "${NPG_API_MAX_POOL_SIZE_ODS}" + NPG_API_MAX_POOL_SIZE_ADMIN: "${NPG_API_MAX_POOL_SIZE_ADMIN}" + NPG_API_MAX_POOL_SIZE_SECURITY: "${NPG_API_MAX_POOL_SIZE_SECURITY}" + NPG_API_MAX_POOL_SIZE_MASTER: "${NPG_API_MAX_POOL_SIZE_MASTER}" + ODS_CONNECTION_STRING_ENCRYPTION_KEY: "${ODS_CONNECTION_STRING_ENCRYPTION_KEY}" volumes: - ${LOGS_FOLDER}:/app/logs depends_on: @@ -67,6 +85,10 @@ services: restart: always hostname: api container_name: ed-fi-ods-api + healthcheck: + test: $$API_HEALTHCHECK_TEST + start_period: "60s" + retries: 3 adminapp: build: @@ -101,10 +123,16 @@ services: retries: 3 pb-admin: - image: pgbouncer/pgbouncer + image: bitnami/pgbouncer environment: - DATABASES: "* = host = db-admin port=5432 user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" - PGBOUNCER_LISTEN_PORT: "${PGBOUNCER_LISTEN_PORT:-6432}" + PGBOUNCER_DATABASE: "*" + PGBOUNCER_PORT: "${PGBOUNCER_LISTEN_PORT:-6432}" + PGBOUNCER_EXTRA_FLAGS: ${PGBOUNCER_EXTRA_FLAGS} + POSTGRESQL_USER: "${POSTGRES_USER}" + POSTGRESQL_PASSWORD: "${POSTGRES_PASSWORD}" + POSTGRESQL_HOST: db-admin + PGBOUNCER_SET_DATABASE_USER: "yes" + PGBOUNCER_SET_DATABASE_PASSWORD: "yes" ports: - "5401:${PGBOUNCER_LISTEN_PORT:-6432}" restart: always @@ -113,17 +141,23 @@ services: - db-admin pb-ods: - image: pgbouncer/pgbouncer + image: bitnami/pgbouncer environment: - DATABASES: "* = host = db-ods port=5432 user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" - PGBOUNCER_LISTEN_PORT: "${PGBOUNCER_LISTEN_PORT:-6432}" + PGBOUNCER_DATABASE: "*" + PGBOUNCER_PORT: "${PGBOUNCER_LISTEN_PORT:-6432}" + PGBOUNCER_EXTRA_FLAGS: ${PGBOUNCER_EXTRA_FLAGS} + POSTGRESQL_USER: "${POSTGRES_USER}" + POSTGRESQL_PASSWORD: "${POSTGRES_PASSWORD}" + POSTGRESQL_HOST: db-ods + PGBOUNCER_SET_DATABASE_USER: "yes" + PGBOUNCER_SET_DATABASE_PASSWORD: "yes" ports: - "5402:${PGBOUNCER_LISTEN_PORT:-6432}" restart: always container_name: ed-fi-pb-ods depends_on: - db-ods - + volumes: vol-db-admin: driver: local diff --git a/Docker/Settings/gateway/default.conf.template b/Docker/Settings/gateway/default.conf.template index b41367764..8705665e5 100644 --- a/Docker/Settings/gateway/default.conf.template +++ b/Docker/Settings/gateway/default.conf.template @@ -32,7 +32,7 @@ server { location /${ADMINAPP_VIRTUAL_NAME} { client_max_body_size 20M; - proxy_pass http://adminapp; + proxy_pass http://adminapp:8080; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port 443;