e2e: assigned plex + redis prove the module runtime (ADR 0052)
build-module-runtime.sh generalises the audit-logger runtime image to any module (mesh-tools + sdk + the module's dist, entrypoints for tools/events/provisioner). Two scenarios and two tests: assigned-plex proves a tools+events module serves its tools over a mesh-issued scoped account; assigned-redis proves a provider's runtime serves tools AND runs its provisioner in the same broker-bound process, provisioning a grant and emitting its lifecycle event. Both green. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# One machine that becomes a mesh and then assigns itself redis — a *provider* module.
|
||||
#
|
||||
# plex-node proves an assigned module that serves tools (novox/hq ADR 0052). This proves the same
|
||||
# for a provider: redis's runtime runs its provisioner AND its tools as one process under one scoped
|
||||
# broker account. The provisioner emitting a lifecycle event is the thing 0052 fixes — before it,
|
||||
# the provisioner ran in a container with no broker and its emit could not fire.
|
||||
scenario: redis-node
|
||||
|
||||
segments:
|
||||
hosting:
|
||||
kind: public
|
||||
cidr: [192.0.2.0/24]
|
||||
|
||||
machines:
|
||||
anchor:
|
||||
at: { segment: hosting, address: [192.0.2.10] }
|
||||
inbound: allow
|
||||
memory: 3GiB
|
||||
cpus: 2
|
||||
|
||||
images:
|
||||
- postgres:17-alpine
|
||||
- cloudamqp/lavinmq:latest
|
||||
- mesh-control:development
|
||||
- redis:7-alpine
|
||||
# Redis's tool+provisioner runtime, built by scripts/build-module-runtime.sh redis into the local
|
||||
# daemon and stocked into the scenario's own registry, which is where the host pulls it from.
|
||||
- mesh-runtime-redis:development
|
||||
|
||||
place:
|
||||
all: [host, runtime]
|
||||
Reference in New Issue
Block a user