54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
---
|
|
topic: checking it
|
|
status: accepted
|
|
date: 2026-09-21
|
|
deciders: jochen
|
|
reconstructed: false
|
|
extends: 02-DECISIONS/0089-a-bed-reads-the-catalogue-it-proves.md
|
|
---
|
|
|
|
# 93. A fixture that runs a module's runtime carries the module's name
|
|
|
|
## Context
|
|
|
|
[ADR 0089](0089-a-bed-reads-the-catalogue-it-proves.md) said a bed that needs less than a module
|
|
declares is a mesh test, and carries a name of its own. Twelve beds were to be renamed on that
|
|
basis ([issue 074](../04-ISSUES/074-a-mesh-test-wears-a-catalogue-modules-name/00-report.md)).
|
|
Reading how a module's tools are reached showed why they cannot be: the account the mesh issues
|
|
a module is scoped to `serve.<module>.*` from the manifest's name, and the runtime binds its tool
|
|
queues under the name baked into its image. A fixture named otherwise but running the real
|
|
runtime would be refused its own queues. The name is not a label; it is the tool namespace and
|
|
the broker scope.
|
|
|
|
## Considered Options
|
|
|
|
1. **Rename anyway, and rebuild each runtime under the fixture's name.** Rejected: a runtime built
|
|
under a false name proves nothing about the module and costs a build per bed.
|
|
2. **A fixture that runs a module's runtime carries the module's name, and therefore reads the
|
|
catalogue.** Adopted.
|
|
|
|
## Decision
|
|
|
|
A bed that runs a module's runtime installs the catalogue's manifest for that module and what it
|
|
requires — the vault for a `secret`, the route module for a route — and proves the mechanism
|
|
against the real module. A name of its own is for a fixture that runs no real runtime: a
|
|
declaration-only stub, a bare upstream image.
|
|
|
|
## Consequences
|
|
|
|
The mechanism beds become module beds with a mechanism inside them, which is more than they
|
|
were. What got harder: a bed that wanted a cut-down redis now raises the vault beside it; one that
|
|
wanted a sidecar without its server raises the server. Each conversion is a lab run, and the beds
|
|
still carrying a copy are declared with this reason until converted.
|
|
|
|
## How it is checked
|
|
|
|
The lab's inline-copy check refuses undeclared copies as before; the declared list's reason for
|
|
these beds names this record. Two beds converted with the vault beside them ran green.
|
|
|
|
## References
|
|
|
|
- [issue 074](../04-ISSUES/074-a-mesh-test-wears-a-catalogue-modules-name/00-report.md)
|
|
- [ADR 0089](0089-a-bed-reads-the-catalogue-it-proves.md), [ADR 0047](0047-a-module-runs-its-code-as-its-own-process-with-its-own-account.md)
|
|
- [`03-DESIGN/01-to-be/01-end-to-end-testing.md`](../03-DESIGN/01-to-be/01-end-to-end-testing.md)
|