From 3dfc3533be71ae3b2a194179b0b0ee2a0996c548 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 4 Nov 2026 20:28:37 +0100 Subject: [PATCH] distribution: the store's /v2/ checked over http through the front, beside the program's tool check (issue 1966) A tool check alone is refused by the indexer's judge (ADR 0227 rule 8, ADR 0240 rule 2); the operator chose a check of another kind on 2026-11-04. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig --- modules/distribution/internal/holder/holder_test.go | 5 +++++ modules/distribution/module.json | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/distribution/internal/holder/holder_test.go b/modules/distribution/internal/holder/holder_test.go index 43318fb4b..0dae70fa4 100644 --- a/modules/distribution/internal/holder/holder_test.go +++ b/modules/distribution/internal/holder/holder_test.go @@ -863,6 +863,11 @@ func TestTheHolderOfTheTwoImageSeats(t *testing.T) { if ports, _ := r["ports"].([]any); len(ports) != 1 || ports[0] != "127.0.0.1:5001:5000" { t.Errorf("the store's ports = %v, want the loopback only", r["ports"]) } + // The check of another kind beside the program's tool (ADR 0227 rule 8, ADR 0240 rule 2; the operator, + // 2026-11-04): the runtime asks the store's /v2/ through the program's front, its endpoint registry. + if h, _ := r["health"].(map[string]any); h["kind"] != "http" || h["endpoint"] != "registry" || h["path"] != "/v2/" { + t.Errorf("the store's health = %v, want http on the endpoint registry asking /v2/", r["health"]) + } case "program": program = i if h, _ := r["health"].(map[string]any); h["kind"] != "tool" || h["tool"] != "registry_health" { diff --git a/modules/distribution/module.json b/modules/distribution/module.json index c55d46e45..8a2b92481 100644 --- a/modules/distribution/module.json +++ b/modules/distribution/module.json @@ -197,6 +197,16 @@ ], "env": { "REGISTRY_STORAGE_DELETE_ENABLED": "true" + }, + "health": { + "kind": "http", + "endpoint": "registry", + "path": "/v2/", + "status": 200, + "interval": "60s", + "timeout": "10s", + "looks": 2, + "grace": "90s" } }, {