From 04c9500b5b702b090e5e1d4f7b8cab86475d914a Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 30 Sep 2026 14:56:43 +0200 Subject: [PATCH] Group 2 is resolved: containers resolve, nothing is copied, a route's name says where it arrives Issue 110's cause was not the filter: the runtime had never been told, and the resolver dropped a query arriving on a bridge. ADR 0148 step 3 landed once it did (109, 151 resolved). ADR 0151 composes a route's internal name under the serving node and drops the suffixed alias (139, 157 resolved). Design 08 amended; a fact in 0148 corrected. --- ...are-resolved-not-copied-into-containers.md | 7 ++ ...-composed-under-the-node-that-serves-it.md | 99 +++++++++++++++++++ 02-DECISIONS/README.md | 1 + 03-DESIGN/01-to-be/08-connectivity.md | 22 ++++- .../00-report.md | 16 ++- .../00-report.md | 10 +- .../01-resolution.md | 64 ++++++++++++ .../00-report.md | 20 +++- .../00-report.md | 16 ++- .../00-report.md | 11 ++- 10 files changed, 247 insertions(+), 19 deletions(-) create mode 100644 02-DECISIONS/0151-a-routes-internal-name-is-composed-under-the-node-that-serves-it.md create mode 100644 04-ISSUES/110-a-container-on-the-runtimes-own-network-cannot-reach-the-resolver/01-resolution.md diff --git a/02-DECISIONS/0148-the-meshs-names-are-resolved-not-copied-into-containers.md b/02-DECISIONS/0148-the-meshs-names-are-resolved-not-copied-into-containers.md index d8e4934..5858f31 100644 --- a/02-DECISIONS/0148-the-meshs-names-are-resolved-not-copied-into-containers.md +++ b/02-DECISIONS/0148-the-meshs-names-are-resolved-not-copied-into-containers.md @@ -103,6 +103,13 @@ reintroduces 109 and 135 — silently, and on a live mesh, which is exactly how ([issue 110](../04-ISSUES/110-a-container-on-the-runtimes-own-network-cannot-reach-the-resolver/00-report.md)); and on two of four machines the resolver binds loopback only, so the runtime hands containers a public resolver instead. Both are prerequisites, not related work. + + > **Progressive insight — 2026-09-30, later the same day. The loopback claim was wrong.** The + > resolver bound the private address on all four machines; on two the runtime had never been told + > to use it, and on all four the resolver discarded a query that arrived on the runtime's bridge. + > The step stands; the facts under it were those. Both fixed the same day + > ([issue 110's resolution](../04-ISSUES/110-a-container-on-the-runtimes-own-network-cannot-reach-the-resolver/01-resolution.md)), + > and step 3 landed after them. 2. **The runtime is told which resolver to use, per machine, as a file** — not per container as a creation-time argument, or the resolver's address is back in every container's identity and the problem has only got smaller. diff --git a/02-DECISIONS/0151-a-routes-internal-name-is-composed-under-the-node-that-serves-it.md b/02-DECISIONS/0151-a-routes-internal-name-is-composed-under-the-node-that-serves-it.md new file mode 100644 index 0000000..358aa5d --- /dev/null +++ b/02-DECISIONS/0151-a-routes-internal-name-is-composed-under-the-node-that-serves-it.md @@ -0,0 +1,99 @@ +--- +topic: the tiers +status: accepted +date: 2026-09-30 +deciders: jochen +reconstructed: false +extends: 02-DECISIONS/0066-public-routing-is-name-agnostic.md +--- + +# 151. A route's internal name is composed under the node that serves it + +## Context + +A module that requires a route is given two names from one label: a public one, `