mesh/merge-gate head c7c7268db08c merged into trunk d3ef6fa44caf — pass: the change touches no module of the mesh's graph (run 2)
mesh/repo-check head c7c7268db08c merged into trunk d3ef6fa44caf — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
The bed runs the installer from bare twice: first with a catalogue missing the nats module, so it stops at the broker step by name and the bed reads the bus there; then with the whole catalogue, through the step. It passes only when exactly one bus container runs, it is mesh-broker-nats on the module's image, every stream that held something before the step is still the same stream, and the mesh still hears from the first node. A first run that never reaches the step skips with the reason; a second run that stops at the step fails. The judgement is a pure function, test/integration/bus-kept.ts, held by unit tests without a lab.
42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
# GENESIS PAST ITS BROKER STEP: the bed of novox/hq ADR 0333 §5 (issue 590).
|
|
#
|
|
# The installer raises the bus from its bundle, then adopts it as the `nats` module at its broker step (step
|
|
# 18 of 24). Before ADR 0333 the bundle raised the bus under another name and on other paths than the module
|
|
# keeps it, so adopting it would have raised a second bus beside the first, and genesis stopped there. The
|
|
# bed runs the installer from bare to that step, looks at the bus, runs it on past the step, and looks again.
|
|
#
|
|
# Two machines on one public segment, both with a way out — the installer pulls the store, the bus and the
|
|
# toolchains over it, as a bare machine does:
|
|
# - anchor: the machine genesis raises;
|
|
# - forge: serves the control plane's, the base's, the SDK's and the catalogue's repositories at the
|
|
# commits under test over git's own protocol, so the installer builds exactly those and nothing on the
|
|
# workstation listens for the lab. On the anchor itself it would be a listener, and genesis refuses a
|
|
# machine something already listens on.
|
|
scenario: genesis-keeps-its-bus
|
|
|
|
segments:
|
|
hosting:
|
|
kind: public
|
|
cidr: [192.0.2.0/24]
|
|
|
|
machines:
|
|
anchor:
|
|
at: { segment: hosting, address: [192.0.2.10] }
|
|
egress: true
|
|
inbound: allow
|
|
# The foundation, the registry, the forge genesis raises, the base and the modules it builds.
|
|
memory: 8GiB
|
|
cpus: 4
|
|
disk: 60GiB
|
|
|
|
forge:
|
|
at: { segment: hosting, address: [192.0.2.30] }
|
|
egress: true
|
|
inbound: allow
|
|
memory: 1GiB
|
|
cpus: 1
|
|
disk: 10GiB
|
|
|
|
place:
|
|
all: [host, runtime]
|