Feature 57 (config and provisioning): release the catalogue, the reviewed release branch merged with main, on top of main

This commit is contained in:
2026-10-16 09:42:45 +00:00
parent ee1b15d7f0
commit 0260ae92f6
646 changed files with 37611 additions and 1861 deletions
+27 -8
View File
@@ -51,6 +51,20 @@
"prompt": "the password of the mail account {member}"
}
},
"config": {
"accounts": {
"type": "object",
"description": "The mail accounts, each by a lower-case name that names it on the bus and its secret: its kind (imap), address, incoming and outgoing servers (host, port, security tls or starttls), and optionally the folders watched and the user it signs in as; no password, which is the own secret mail-credential-<account> (novox/hq ADR 0359 §5).",
"trusted": true,
"default": {}
},
"grants": {
"type": "object",
"description": "Per account, who may read its mail and who may send from it: a module's name (on every machine), <machine>.<module>, or person.<name>. Nobody by default; it restricts the stream MAIL and the tools mail_search, mail_read and mail_send alike (novox/hq ADR 0359 §4).",
"trusted": true,
"default": {}
}
},
"tools": [
"mail_accounts",
"mail_search",
@@ -96,14 +110,14 @@
"type": "file",
"path": "${dir:state}/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"
"template": "files/database-url"
},
{
"id": "store",
"type": "file",
"path": "${dir:state}/store.json",
"mode": "0600",
"content": "{\n \"scheme\": \"${bound:s3-bucket:scheme}\",\n \"at\": \"${bound:s3-bucket:at}\",\n \"port\": \"${bound:s3-bucket:port}\",\n \"bucket\": \"${bound:s3-bucket:bucket}\",\n \"region\": \"${bound:s3-bucket:region}\",\n \"key\": \"${bound:s3-bucket:as}\",\n \"secret\": \"${secret:s3-bucket}\"\n}\n"
"template": "files/store.json"
},
{
"id": "accounts",
@@ -112,10 +126,10 @@
"path": "${dir:state}/accounts.json",
"mode": "0600",
"merge": "json",
"takes-settings": [
"template": "files/accounts.json",
"takes-config": [
"accounts"
],
"content": "{\n \"accounts\": {}\n}\n"
]
},
{
"id": "grants",
@@ -124,10 +138,10 @@
"path": "${dir:state}/grants.json",
"mode": "0600",
"merge": "json",
"takes-settings": [
"template": "files/grants.json",
"takes-config": [
"grants"
],
"content": "{\n \"grants\": {}\n}\n"
]
},
{
"id": "prepare",
@@ -221,6 +235,11 @@
"MESH_MAIL_STORE": "${dir:state}/store.json",
"MESH_MAIL_STATUS": "${dir:state}/health.json"
}
},
{
"name": "files",
"kind": "archive",
"from": "files"
}
]
}