Renames the module's own claim the-controller -> mesh-controller (the seat is the server, ADR 0079), and adds TestAFoundationModuleCannotBeRaisedOnASecondNode asserting each foundation module's second assignment is refused with 'one per mesh'. Closes hq issue 056. https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
69 lines
1.7 KiB
JSON
69 lines
1.7 KiB
JSON
{
|
|
"module": "mesh-controller",
|
|
"version": "1",
|
|
"slug": "control",
|
|
"capabilities": [
|
|
"container-runtime"
|
|
],
|
|
"claims": [
|
|
{
|
|
"name": "mesh-controller",
|
|
"scope": "mesh"
|
|
}
|
|
],
|
|
"own-secrets": {
|
|
"inventory": "/var/lib/mesh/mesh-controller/inventory",
|
|
"identity": "/var/lib/mesh/mesh-controller/identity",
|
|
"licences": "/var/lib/mesh/mesh-controller/licences",
|
|
"broker": "/var/lib/mesh/mesh-controller/broker",
|
|
"broker-management": "/var/lib/mesh/mesh-controller/broker-management",
|
|
"broker-address": "/var/lib/mesh/mesh-controller/broker-address"
|
|
},
|
|
"resources": [
|
|
{
|
|
"id": "mesh-state",
|
|
"type": "directory",
|
|
"path": "/var/lib/mesh/mesh-controller",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "control-env",
|
|
"type": "file",
|
|
"path": "/var/lib/mesh/mesh-controller/control.env",
|
|
"mode": "0600",
|
|
"content": "MESH_STORE_INVENTORY=${secret:inventory}\nMESH_STORE_IDENTITY=${secret:identity}\nMESH_STORE_LICENCES=${secret:licences}\nMESH_BROKER_AMQP=${secret:broker}\nMESH_BROKER_MANAGEMENT=${secret:broker-management}\nMESH_BROKER_ADDRESS=${secret:broker-address}\n"
|
|
},
|
|
{
|
|
"id": "server",
|
|
"type": "container",
|
|
"name": "mesh-controller",
|
|
"network": "host",
|
|
"args": [
|
|
"serve"
|
|
],
|
|
"env-file": [
|
|
"/var/lib/mesh/mesh-controller/control.env"
|
|
],
|
|
"env": {
|
|
"MESH_BROKER_CERTIFICATE": "/broker-tls/tls.crt"
|
|
},
|
|
"volumes": [
|
|
"mesh-broker-tls:/broker-tls:ro"
|
|
],
|
|
"restart-on": [
|
|
"control-env"
|
|
],
|
|
"artifact": "server"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "server",
|
|
"kind": "image",
|
|
"from": "Dockerfile"
|
|
}
|
|
]
|
|
}
|
|
}
|