{ "module": "mesh-vault", "version": "1", "provides": [ { "name": "secret", "scope": "mesh" } ], "capabilities": [ "container-runtime" ], "emits": [ "secret.provisioned", "secret.rotated", "secret.deprovisioned" ], "consumes": [ "mesh-vault.secret.provisioned", "mesh-vault.secret.rotated", "mesh-vault.secret.deprovisioned" ], "receives": { "secret": "/var/lib/mesh-vault/grants/mesh.json" }, "grants": { "secret": "/var/lib/mesh-vault/grants" }, "keeps": "/var/lib/mesh-vault/root", "own-secrets": { "broker": "/var/lib/mesh/mesh-vault/broker" }, "resources": [ { "id": "mesh-state", "type": "directory", "path": "/var/lib/mesh/mesh-vault", "mode": "0700" }, { "id": "state", "type": "directory", "path": "/var/lib/mesh-vault", "mode": "0700" }, { "id": "grants", "type": "directory", "path": "/var/lib/mesh-vault/grants", "mode": "0700" }, { "id": "ledger", "type": "directory", "path": "/var/lib/mesh-vault/ledger", "mode": "0700" }, { "id": "root", "type": "directory", "path": "/var/lib/mesh-vault/root", "mode": "0700" }, { "id": "runtime", "type": "container", "name": "mesh-vault", "network": "host", "volumes": [ "/var/lib/mesh/mesh-vault/broker:/run/secrets/broker:ro", "/var/lib/mesh-vault/grants:/var/lib/mesh-vault/grants:ro", "/var/lib/mesh-vault/ledger:/var/lib/mesh-vault/ledger", "/var/lib/mesh-vault/root:/var/lib/mesh-vault/root:ro" ], "env": { "MESH_BROKER_FILE": "/run/secrets/broker", "MESH_RECEIVES": "/var/lib/mesh-vault/grants/mesh.json", "MESH_VAULT_LEDGER": "/var/lib/mesh-vault/ledger", "MESH_VAULT_ROOT": "/var/lib/mesh-vault/root" }, "artifact": "runtime" } ], "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" } ] } }