Files
fips/testing/static/docker-compose.gateway-external-net.yml
Johnathan Corgan be5deee814 Make the gateway integration suite safe for concurrent CI runs
gateway-lan pinned 172.20.1.0/24 and fd02::/64, so two concurrent local CI
runs collided on "Pool overlaps" at network creation. The IPv4 subnet has no
consumer -- the whole gateway LAN path is IPv6 -- so drop it and let docker
auto-assign. The IPv6 side cannot float, because the LAN clients' resolv.conf
pins the gateway's address as their nameserver and that must be a literal
known before they start, so claim a free /64 per run and thread the prefix
through the compose address pins, a generated resolv.conf, and the test via a
single exported variable.

The claim and the external network ship as a harness-only compose overlay
applied by run_gateway; the base compose keeps a normal gateway-lan network,
so the GitHub matrix and any standalone bring-up are unaffected. With no claim
every address renders exactly as before.
2026-07-23 19:50:17 +00:00

16 lines
757 B
YAML

# Override: attach gateway-lan to a pre-created external network instead of
# letting compose create it from the base file's fd02::/64 pin.
#
# Applied only by ci-local.sh's run_gateway, which claims a free /64 per run
# (claim_gateway_lan6) and exports FIPS_GW_LAN_NET / FIPS_GW_LAN6_PREFIX before
# `up`. This is what makes two concurrent local gateway runs collision-safe:
# each claims a distinct /64, so neither requests a fixed range the other holds.
#
# The GitHub matrix and any standalone `docker compose up` do NOT apply this
# overlay; they use the base file's normal gateway-lan network unchanged. This
# mirrors sidecar/docker-compose.external-net.yml.
networks:
gateway-lan:
external: true
name: ${FIPS_GW_LAN_NET:-fips-gateway-lan}