Feature 57 (config and provisioning): modules declare config and provisions, their files rendered from templates; synced with main (issues of feature 57, 874)

This commit is contained in:
2026-10-16 07:37:43 +00:00
parent 1a2c917abf
commit 9652b2d5ce
771 changed files with 52063 additions and 1774 deletions
+25 -12
View File
@@ -26,24 +26,32 @@
"why": "queries, writes and the web UI, over http; consumers granted influxdb-api sign in with the mesh's credential, and a name is a route grant"
}
],
"settings": {
"config": {
"org": {
"kind": "preference",
"default": "mesh",
"why": "the organisation influxdb-api names to its consumers; mesh is the one influxdb makes at its first start (server.env), and a machine whose server was set up with another sets its own (novox/hq issue 696, ADR 0348 clause 11)"
"type": "string",
"description": "The organisation influxdb-api names to its consumers and the module's tools write to; mesh is the one influxdb makes at its first start (server.env), and a machine whose server was set up with another sets its own (novox/hq issue 696, ADR 0348 clause 11).",
"trusted": true,
"default": "mesh"
},
"bucket": {
"kind": "preference",
"default": "default",
"why": "the bucket influxdb-api names to its consumers; default is the one influxdb makes at its first start (server.env), and a machine whose server was set up with another sets its own (novox/hq issue 696, ADR 0348 clause 11)"
"type": "string",
"description": "The bucket influxdb-api names to its consumers and the module's tools write to; default is the one influxdb makes at its first start (server.env), and a machine whose server was set up with another sets its own (novox/hq issue 696, ADR 0348 clause 11).",
"trusted": true,
"default": "default"
},
"url": {
"type": "string",
"description": "The address the module's tools reach influxdb at, as a URL; empty is this machine's influxdb on its port.",
"trusted": true,
"default": ""
}
},
"serves": {
"influxdb-api": {
"scheme": "http",
"port": 8086,
"org": "${setting:org}",
"bucket": "${setting:bucket}"
"org": "${config:org}",
"bucket": "${config:bucket}"
}
},
"receives": {
@@ -110,7 +118,7 @@
"type": "file",
"path": "${dir:state}/server.env",
"mode": "0600",
"content": "DOCKER_INFLUXDB_INIT_MODE=setup\nDOCKER_INFLUXDB_INIT_USERNAME=admin\nDOCKER_INFLUXDB_INIT_PASSWORD_FILE=/run/secrets/admin\nDOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE=/run/secrets/admin-token\nDOCKER_INFLUXDB_INIT_ORG=mesh\nDOCKER_INFLUXDB_INIT_BUCKET=default\n"
"template": "files/server.env"
},
{
"id": "server",
@@ -135,9 +143,9 @@
"type": "file",
"path": "${dir:mesh-state}/config.json",
"mode": "0600",
"content": "{}\n",
"template": "files/config.json",
"merge": "json",
"takes-settings": [
"takes-config": [
"bucket",
"org",
"url"
@@ -174,6 +182,11 @@
"MESH_INFLUXDB_TOKEN_FILE": "${dir:state}/admin-token.secret",
"MESH_RECEIVES": "${dir:grants}/mesh.json"
}
},
{
"name": "files",
"kind": "archive",
"from": "files"
}
]
}