Registry milestone: mesh-catalog (issue 1966) #612

Merged
mesh-tools merged 292 commits from feat/registry-milestone into main 2026-11-07 14:18:54 +00:00
3 changed files with 10 additions and 5 deletions
Showing only changes of commit bbb9e37df4 - Show all commits
+3 -3
View File
@@ -36,10 +36,10 @@ either. Under ADR 0196 a container copies its machine's resolvers, so no module
controller's private network wrote `insecure-registries`; under ADR 0222 the controller writes
nothing into this file, and this module states the registry itself (the order below).
- `daemon`: `{"live-restore": true, "insecure-registries": ["${seat:mesh-artifact-store:reach}"]}`,
- `daemon`: `{"live-restore": true, "insecure-registries": ["${seat:container-image-registry:reach}"]}`,
merged into the file beside the keys others write.
- `${seat:mesh-artifact-store:reach}` is where this machine reaches the mesh's artifact store
(host:port), filled in by the controller: no binding, no credential, the same address the mesh
- `${seat:container-image-registry:reach}` is where this machine reaches the mesh's artifact store
(host:port), the image seat holder's listen open to the mesh (ADR 0632 §1), filled in by the node-engine: no binding, no credential, the same address the mesh
composes into every image it built. Trusting it in the clear is ADR 0082's decision: every path to
it is inside the private network's encryption. While no machine on the network holds the store the
answer is empty, and the controller drops the empty member, so the list gets nothing.
@@ -68,7 +68,12 @@ func filled(t *testing.T, m manifestForLogs, content string) string {
if len(missing) > 0 {
t.Fatalf("the content asks for %v, which the manifest gives no preference default", missing)
}
return strings.ReplaceAll(out, "${seat:mesh-artifact-store:reach}", "registry.example:5100")
// The store's address is the image seat holder's listen (novox/hq ADR 0632 §1), never the retired provision's.
const reach = "${seat:container-image-registry:reach}"
if strings.Contains(content, "insecure-registries") && !strings.Contains(content, reach) {
t.Fatalf("the runtime trusts no %s: %s", reach, content)
}
return strings.ReplaceAll(out, reach, "registry.example:5100")
}
func TestTheDefaultLogRotationIsTheOneTheHandSetMachineHas(t *testing.T) {
+1 -1
View File
@@ -1 +1 @@
{"live-restore": true, "insecure-registries": ["${seat:mesh-artifact-store:reach}"], "log-driver": "json-file", "log-opts": {"max-size": "${config:log-max-size}", "max-file": "${config:log-max-file}"}}
{"live-restore": true, "insecure-registries": ["${seat:container-image-registry:reach}"], "log-driver": "json-file", "log-opts": {"max-size": "${config:log-max-size}", "max-file": "${config:log-max-file}"}}