Skip to content

fix(hosted): give every routed cell service a Coolify-resolvable name - #34

Merged
jeremi merged 1 commit into
mainfrom
fix/routed-service-names-coolify
Aug 20, 2026
Merged

fix(hosted): give every routed cell service a Coolify-resolvable name#34
jeremi merged 1 commit into
mainfrom
fix/routed-service-names-coolify

Conversation

@jeremi

@jeremi jeremi commented Aug 20, 2026

Copy link
Copy Markdown
Member

Why

Coolify validates a routed service against its exact Compose key, then resolves that key after rewriting - to _. The two halves disagree, so a hyphenated routed service is recorded under a name routing never reads and answers no public route. Only the Coolify UI writes the normalized form, which is why the existing hosted routes work and an API write of the same map silently does nothing.

PR #33 fixed this for the two eSignet proxies. This extends the same rule to the fourteen remaining routed services, so the authority-cell routing switch can be driven through the API.

What changes

Compose service keys and their depends_on references only:

File Renamed
compose.coolify.yaml static_metadata, scenario_runner, child_benefit_federator
compose.coolify.interior.yaml cra_relay, nia_relay, cra_evidence, nia_evidence
compose.coolify.social-development.yaml mosd_relay, sro_evidence, mosd_programme_evidence
compose.coolify.labour-pensions.yaml sipf_relay, sipf_evidence
compose.coolify.agriculture.yaml nagdi_relay, nagdi_evidence

Unchanged: volume keys, host bind paths, solmara.lab.host values, public hostnames, SOLMARA_PUBLIC_URL_MAP keys, provisioner cell targets, and the local compose.yaml / compose.hosted.yaml / compose.esignet.yaml topologies, which Coolify does not route.

No service in these files addresses another by DNS name, so the rename has no internal-traffic effect.

Guard

test_every_routed_service_carries_a_coolify_resolvable_name walks every compose.coolify*.yaml and fails on any service that carries solmara.lab.host under a hyphenated key. Written first; it reported all fourteen before the rename.

Verification

  • 248 Python tests pass
  • scripts/check-coolify-compose.sh, scripts/check-hosted-compose.sh, scripts/check-runtime-topology.py, scripts/check-config-secrets.py all pass

Coolify validates a routed service against its exact Compose key but resolves
that key after rewriting "-" to "_", so a hyphenated routed service is stored
where routing never reads it. The eSignet proxies already carry underscore
names; extend that to the fourteen remaining routed services so their public
routes can be set through the API instead of only through the Coolify UI.

Only Compose service keys and their depends_on references change. Volume keys,
host paths, label values, public hostnames, and the published URL map keep
their hyphens.

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi merged commit 02f5d52 into main Aug 20, 2026
1 check passed
@jeremi
jeremi deleted the fix/routed-service-names-coolify branch August 20, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant