mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
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.
16 lines
757 B
YAML
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}
|