35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
---
|
|
status: graduated
|
|
initiated: 2026-10-03
|
|
touches: [the tool runtime, the catalogue's tool bundles, the controller's declaration composer, settings, own secrets, 03-DESIGN/01-to-be/38-building-the-operators-machine.md]
|
|
became: [02-DECISIONS/0192-a-tools-bundle-declares-what-it-is-given-and-the-runtime-hands-it-to-that-bundle-alone.md, 03-DESIGN/01-to-be/38-building-the-operators-machine.md]
|
|
---
|
|
|
|
# 020 — What a bundled tool is given
|
|
|
|
## What is being investigated
|
|
|
|
How a module's tools, once they are a bundle the node's runtime loads
|
|
([ADR 0175](../../02-DECISIONS/0175-one-tool-runtime-per-node-serves-every-modules-tools-on-the-host-side.md),
|
|
[ADR 0188](../../02-DECISIONS/0188-a-modules-own-code-is-bundles-in-any-language-and-a-tools-bundle-speaks-mcp-to-the-runtime.md)),
|
|
learn the things their container used to be handed: where the module's configuration file is, where
|
|
its token or password is, which port the service listens on, where a provision's address is written.
|
|
A container is given these as an environment and mounts, composed by the mesh per module per machine.
|
|
A bundle has no environment of its own: the runtime's process carries four words for every bundle it
|
|
loads, and nothing per module ([design 38](../../03-DESIGN/01-to-be/38-building-the-operators-machine.md) WP4).
|
|
|
|
## Why
|
|
|
|
Two holders moved on 2026-10-03 — the packet filter and the intrusion prevention — and both could,
|
|
because neither needs anything but a fixed path and root. Of the thirty-three modules whose tools
|
|
still run as containers on the runtime's image, thirty-one are not like that: their environment
|
|
names a configuration file, a credential file, a service address, a grants directory. Moving them
|
|
one by one without a rule for this would give the mesh thirty-one answers to one question. The
|
|
measurement and the options are in [01](01-what-the-containers-are-given.md).
|
|
|
|
## What it touches
|
|
|
|
The runtime (which hands a bundle what it is given), the composer (which resolves `${dir:…}` and
|
|
`${port:…}` for a container today and would for a bundle), the manifest (where a bundle would say
|
|
what it needs), and design 38, which records the gap and must say the rule once there is one.
|