Skip to content

Commit 7780790

Browse files
authored
Develop (#175)
* Synching develop branch with master. (#161) * Feature/157 (#158) * Initial creation of terraform setup for AWS static-content site hosting. * Website deployment run locally works. Terraform AWS resource build run locally works. * Creating test self-hosted environment. Alwways run terraform in docker containers. * Removing all run on PR creation / modification. * Making redirect_uri and logout URL field defaults parameterized. * OIDC Authorization Code Flow with local keycoak is now working for test and prod hosted static-content site. * Updating Token History grouping. * Test suite works against test and prod sites with a local keycloak instance. The introspection endpoint in keycloak cannot be invoked from the browser. So, the static content site cannot call the keycloak instrospection site. The test suite looks for hte expected CORS error. Test suite must be run against a local build for full validation. * Feature/158 (#160) * Initial creation of terraform setup for AWS static-content site hosting. * Website deployment run locally works. Terraform AWS resource build run locally works. * Creating test self-hosted environment. Alwways run terraform in docker containers. * Removing all run on PR creation / modification. * Making redirect_uri and logout URL field defaults parameterized. * OIDC Authorization Code Flow with local keycoak is now working for test and prod hosted static-content site. * Updating Token History grouping. * Test suite works against test and prod sites with a local keycloak instance. The introspection endpoint in keycloak cannot be invoked from the browser. So, the static content site cannot call the keycloak instrospection site. The test suite looks for hte expected CORS error. Test suite must be run against a local build for full validation. * Minimize javascript for static content sites. Google analytics for static content sites. * feature/152 (#163) * Feature/157 (#158) * Initial creation of terraform setup for AWS static-content site hosting. * Website deployment run locally works. Terraform AWS resource build run locally works. * Creating test self-hosted environment. Alwways run terraform in docker containers. * Removing all run on PR creation / modification. * Making redirect_uri and logout URL field defaults parameterized. * OIDC Authorization Code Flow with local keycoak is now working for test and prod hosted static-content site. * Updating Token History grouping. * Test suite works against test and prod sites with a local keycloak instance. The introspection endpoint in keycloak cannot be invoked from the browser. So, the static content site cannot call the keycloak instrospection site. The test suite looks for hte expected CORS error. Test suite must be run against a local build for full validation. * Feature/158 (#160) * Initial creation of terraform setup for AWS static-content site hosting. * Website deployment run locally works. Terraform AWS resource build run locally works. * Creating test self-hosted environment. Alwways run terraform in docker containers. * Removing all run on PR creation / modification. * Making redirect_uri and logout URL field defaults parameterized. * OIDC Authorization Code Flow with local keycoak is now working for test and prod hosted static-content site. * Updating Token History grouping. * Test suite works against test and prod sites with a local keycloak instance. The introspection endpoint in keycloak cannot be invoked from the browser. So, the static content site cannot call the keycloak instrospection site. The test suite looks for hte expected CORS error. Test suite must be run against a local build for full validation. * Minimize javascript for static content sites. Google analytics for static content sites. * Feature/152 (#162) * Synching develop branch with master. (#161) * Feature/157 (#158) * Initial creation of terraform setup for AWS static-content site hosting. * Website deployment run locally works. Terraform AWS resource build run locally works. * Creating test self-hosted environment. Alwways run terraform in docker containers. * Removing all run on PR creation / modification. * Making redirect_uri and logout URL field defaults parameterized. * OIDC Authorization Code Flow with local keycoak is now working for test and prod hosted static-content site. * Updating Token History grouping. * Test suite works against test and prod sites with a local keycloak instance. The introspection endpoint in keycloak cannot be invoked from the browser. So, the static content site cannot call the keycloak instrospection site. The test suite looks for hte expected CORS error. Test suite must be run against a local build for full validation. * Feature/158 (#160) * Initial creation of terraform setup for AWS static-content site hosting. * Website deployment run locally works. Terraform AWS resource build run locally works. * Creating test self-hosted environment. Alwways run terraform in docker containers. * Removing all run on PR creation / modification. * Making redirect_uri and logout URL field defaults parameterized. * OIDC Authorization Code Flow with local keycoak is now working for test and prod hosted static-content site. * Updating Token History grouping. * Test suite works against test and prod sites with a local keycloak instance. The introspection endpoint in keycloak cannot be invoked from the browser. So, the static content site cannot call the keycloak instrospection site. The test suite looks for hte expected CORS error. Test suite must be run against a local build for full validation. * Minimize javascript for static content sites. Google analytics for static content sites. * Updated docker build instructions. * Initial page + test creation. (#164) * Initial page + test creation. * Adding ability to take a JWT and decompose it into JWT Header and JWT Payload fields on jwt_tools.html page. Updated test suite to test this. * Moving back to postgres18. Not sure when we lost that change. * Fixing test #13. * Fix coverage report. * Another change attempting to fix the code coverage bug. * Successful deployment to test.idptools.com and selenium test run. * Terraform creates IAM role with minimmum permissions. * Terraform creates IAM role with minimmum permissions. * Automatically run terraform against test when commmits / merge made to develop. * Updating develop / test 'test suite run' + terraform + static-content site deployment. * Test change to kick off pipelines. * Kick-off another workflow run. * Terraform deploy job didn't run as expected on push. * Initiate workflows by push. Test. * Run hosted site test suite after deployment. * Live website test should run better now. * Triggering another workflow. * Another fix to live-test workflow. * Force a workflow to start on push. * Fixing yet another live-test bug.
1 parent d852a80 commit 7780790

1 file changed

Lines changed: 14 additions & 32 deletions

File tree

docker-compose-live-tests.yml

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
# uses): the browser drives the public HTTPS site and must call the local
99
# Keycloak from that HTTPS page. Chrome treats http://localhost (loopback) as
1010
# potentially-trustworthy and exempt from mixed-content / private-network
11-
# blocking, but a private-IP host (e.g. a bridge service name) is blocked. So
12-
# both containers share the host network and Keycloak is reached at
13-
# http://localhost:8080 — exactly the scenario remote-run-tests.sh proves.
11+
# blocking, but a private-IP host (e.g. a bridge service name like
12+
# "keycloak:8080") is blocked. So both containers share the host network and
13+
# Keycloak is reached at http://localhost:8080 — the scenario remote-run-tests.sh
14+
# proves. (No user-defined networks or volumes: host net needs neither, and
15+
# Keycloak uses in-memory H2 for throwaway test data.)
1416
#
1517
# Readiness: instead of a Docker healthcheck (flaky under host networking), the
1618
# tests container waits for Keycloak itself (docker-run-tests.sh waitForKeycloak).
@@ -19,36 +21,15 @@
1921
# LIVE_DEBUGGER_BASE_URL (default https://test.idptools.com)
2022
# LIVE_CONFIG_FILE (default ./env/test-idptools-com.js)
2123
services:
22-
postgres:
23-
image: postgres:18
24-
volumes:
25-
- postgres_data:/var/lib/postgresql/data
26-
environment:
27-
POSTGRES_USER: keycloak
28-
POSTGRES_PASSWORD: keycloak
29-
POSTGRES_DB: keycloak
30-
# postgres:18 refuses to start on a data dir initialized by an older
31-
# major version. Initialize into a fresh subdirectory of the volume so
32-
# the upgrade starts cleanly (test data is disposable and recreated each
33-
# run); any legacy PG17 files at the volume root are ignored.
34-
PGDATA: /var/lib/postgresql/data/pgdata
35-
healthcheck:
36-
test: pg_isready
37-
interval: 10s
38-
timeout: 60s
39-
retries: 5
40-
start_period: 45s
41-
networks:
42-
- keycloak
43-
4424
keycloak:
4525
image: quay.io/keycloak/keycloak:26.6.4
4626
command: ["start-dev"]
27+
hostname: keycloak
28+
network_mode: "host"
4729
environment:
48-
KC_DB: postgres
49-
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
50-
KC_DB_USERNAME: keycloak
51-
KC_DB_PASSWORD: keycloak
30+
KC_HTTP_PORT: "8080"
31+
KC_BOOTSTRAP_ADMIN_USERNAME: keycloak
32+
KC_BOOTSTRAP_ADMIN_PASSWORD: keycloak
5233
KEYCLOAK_ADMIN: keycloak
5334
KEYCLOAK_ADMIN_PASSWORD: keycloak
5435
KC_HEALTH_ENABLED: "true"
@@ -58,16 +39,17 @@ services:
5839
build:
5940
context: .
6041
dockerfile: tests/Dockerfile
42+
network_mode: "host"
6143
environment:
6244
# Target the deployed site; talk to the local Keycloak over loopback.
6345
- DEBUGGER_BASE_URL=${LIVE_DEBUGGER_BASE_URL:-https://test.idptools.com}
64-
- KEYCLOAK_BASE_URL=http://keycloak:8080
65-
- KEYCLOAK_LOCALHOST_BASE_URL=http://keycloak:8080
46+
- KEYCLOAK_BASE_URL=http://localhost:8080
47+
- KEYCLOAK_LOCALHOST_BASE_URL=http://localhost:8080
6648
- CONFIG_FILE=${LIVE_CONFIG_FILE:-./env/test-idptools-com.js}
6749
# Persist the generated report/logs to the host (gitignored).
6850
volumes:
6951
- ./tests/report:/usr/src/app/report
70-
# Start-order only (host networking healthchecks are unreliable); the test
52+
# Start-order only (host-networking healthchecks are unreliable); the test
7153
# runner waits for Keycloak to answer before configuring it.
7254
depends_on:
7355
- keycloak

0 commit comments

Comments
 (0)