{ "module": "messenger", "version": "1", "slug": "msgr", "runs-as": "messenger", "seats": [ { "name": "operator-channel", "scope": "mesh", "serves": [ "open", "history", "notify", "asks" ], "accepts": [ "ask", "cancel" ], "emits": [ "decided" ], "by-caller": [ "ask", "cancel", "decided" ], "records": [ "asks" ] }, { "name": "channel", "scope": "mesh", "kinded": true, "accepts": [ "show", "edit", "send" ] }, { "name": "intake", "scope": "mesh", "kinded": true, "emits": [ "choice", "link", "failed", "standing" ], "proofs": [ "code" ] } ], "claims": [ { "name": "operator-channel", "scope": "mesh", "serves": [ "open", "history", "notify", "asks" ] } ], "uses": [ "channel" ], "consumes": [ "mesh-controller.condition-raised", "mesh-controller.condition-changed", "mesh-controller.condition-cleared", "intake.choice", "intake.link", "intake.failed", "intake.standing" ], "emits": [ "refused" ], "invokes": [ "seat:mesh-controller.conditions", "seat:mesh-controller.root-free", "seat:issue-tracker.tracking" ], "state": [ "open", "sent", { "name": "asks", "ttl-seconds": 2592000 }, "identities" ], "own-secrets": { "broker": "${dir:state}/broker" }, "secrets-owner": "messenger", "tools": [ "messenger_status", "messenger_recent", "messenger_test", "messenger_preview", "messenger_check", "messenger_identities", "messenger_unlink" ], "resources": [ { "id": "account", "type": "user", "name": "messenger", "shell": "/usr/bin/nologin", "home": "/var/lib/messenger" }, { "id": "state", "type": "directory", "mode": "0700", "place": ".", "owner": "messenger" }, { "id": "settings", "type": "file", "path": "${dir:state}/settings.json", "mode": "0600", "merge": "json", "content": "{\n \"time-zone\": \"\"\n}\n", "owner": "messenger" } ], "build": { "artifacts": [ { "name": "tools", "kind": "bundle", "language": "go", "system": "arch", "from": "cmd/messenger", "binary": "messenger", "loads": [ "messenger" ], "env": { "MESH_MESSENGER_SETTINGS": "${dir:state}/settings.json", "MESH_MESSENGER_STATE": "${dir:state}" } } ] } }