It asks what it missed on every start and the answer never arrived: the control plane replayed each build it held as a module's event from a module called "control-plane", which does not exist, so its own account refused the publish and the graph kept the gap. The control plane now states those under the seat it holds (novox/hq ADR 0134, mesh-controller #129), so this consumes that too — one handler, because what a build means for the graph is the same whether the build machine says it as it happens or the mesh says what it already held.
104 lines
2.2 KiB
JSON
104 lines
2.2 KiB
JSON
{
|
|
"module": "mesh-catalog",
|
|
"slug": "catalog",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"container-runtime"
|
|
],
|
|
"claims": [
|
|
{
|
|
"name": "mesh-catalog",
|
|
"scope": "mesh"
|
|
}
|
|
],
|
|
"requires": [
|
|
"postgres-database"
|
|
],
|
|
"contributes": {
|
|
"postgres-database": {
|
|
"name": "mesh_catalog"
|
|
}
|
|
},
|
|
"binds": {
|
|
"postgres-database": "/var/lib/mesh-catalog/database.json"
|
|
},
|
|
"secrets": {
|
|
"postgres-database": "/var/lib/mesh-catalog/database.secret"
|
|
},
|
|
"own-secrets": {
|
|
"broker": "/var/lib/mesh/mesh-catalog/broker"
|
|
},
|
|
"consumes": [
|
|
"mesh-build-machine.built",
|
|
"mesh-controller.built-before"
|
|
],
|
|
"emits": [
|
|
"registered",
|
|
"upgraded",
|
|
"rebuild-needed",
|
|
"catching-up"
|
|
],
|
|
"prepares": true,
|
|
"resources": [
|
|
{
|
|
"id": "mesh-state",
|
|
"type": "directory",
|
|
"path": "/var/lib/mesh/mesh-catalog",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"path": "/var/lib/mesh-catalog",
|
|
"mode": "0700"
|
|
},
|
|
{
|
|
"id": "database-url",
|
|
"type": "file",
|
|
"path": "/var/lib/mesh-catalog/database.url",
|
|
"mode": "0600",
|
|
"content": "postgresql://${bound:postgres-database:as}:${secret:postgres-database}@${bound:postgres-database:at}:${bound:postgres-database:port}/${bound:postgres-database:as}\n"
|
|
},
|
|
{
|
|
"id": "runtime",
|
|
"type": "container",
|
|
"name": "mesh-catalog",
|
|
"network": "host",
|
|
"volumes": [
|
|
"/var/lib/mesh/mesh-catalog/broker:/run/secrets/broker:ro",
|
|
"/var/lib/mesh-catalog:/run/state",
|
|
"/var/lib/mesh-catalog/database.url:/run/secrets/database-url:ro"
|
|
],
|
|
"env": {
|
|
"MESH_BROKER_FILE": "/run/secrets/broker",
|
|
"DATABASE_URL_FILE": "/run/secrets/database-url"
|
|
},
|
|
"artifact": "runtime",
|
|
"restart-on": [
|
|
"database-url"
|
|
]
|
|
}
|
|
],
|
|
"build": {
|
|
"on": [
|
|
{
|
|
"arg": "BUILD_BASE",
|
|
"module": "mesh-tools",
|
|
"artifact": "build"
|
|
},
|
|
{
|
|
"arg": "RUNTIME_BASE",
|
|
"module": "mesh-tools",
|
|
"artifact": "runtime"
|
|
}
|
|
],
|
|
"artifacts": [
|
|
{
|
|
"name": "runtime",
|
|
"kind": "image",
|
|
"from": "Dockerfile"
|
|
}
|
|
]
|
|
}
|
|
}
|