# One machine that becomes a mesh, then proves model-access answered by a NODE (novox/hq ADR 0055): # a local model server (Ollama) on the node ANSWERS the model-access provision, and a consumer that # requires model-access is handed the server's ENDPOINT — base URL + model — instead of a vendor # credential. No licence, no key: the consumer points an OpenAI-compatible client at the mesh's own # model. # # The flow the test drives: # the ollama provider is assigned (it `provides: [model-access]` at node scope, `serves` its port and # model) -> the local-model consumer requires model-access and is answered by the local node -> # the mesh fills the consumer's bound facts with ollama's at/port/model -> the consumer's templated # openai.env carries OPENAI_BASE_URL=http://:/v1. The test asserts that URL and that a # request to it reaches the running model server. # # MESH_LAB_HOST_BINARY=.../mesh-host MESH_LAB_BUNDLE=.../examples/foundation-first-node.lock # Both modules are pure declaration (a server container + a templated file) — no module runtime image # is built; the bed only stocks the foundation and the ollama server image. scenario: local-model-bed segments: hosting: kind: public cidr: [192.0.2.0/24] machines: anchor: at: { segment: hosting, address: [192.0.2.10] } egress: true inbound: allow memory: 4GiB cpus: 4 disk: 40GiB images: - mesh-controller:development place: all: [host, runtime]