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
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
# One machine that becomes a mesh and then assigns itself plex's tool runtime.
|
|
#
|
|
# The audit-node bed proved an assigned *consumer* (novox/hq ADR 0048). This proves an assigned
|
|
# module that *serves tools* (ADR 0052): the same first-node substrate, plus plex's tool runtime on
|
|
# top. The node enrols itself, the mesh issues plex a broker account scoped to serve.plex.* and
|
|
# assigns it, the host runs the runtime container, and a caller invokes plex.plex_reachable over the
|
|
# mesh — proof the module runs its own code as its own process under its own scoped account.
|
|
scenario: plex-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
|
|
# Plex's tool runtime, built by scripts/build-module-runtime.sh plex into the local daemon and
|
|
# stocked into the scenario's own registry, which is where the host pulls it from.
|
|
- mesh-runtime-plex:development
|
|
|
|
place:
|
|
all: [host, runtime]
|