From 2dd6510ded29247254e57c39bfcc5804afd40b05 Mon Sep 17 00:00:00 2001 From: mesh-admin Date: Wed, 14 Oct 2026 01:36:59 +0000 Subject: [PATCH] influxdb: serve org and bucket from its settings (issue 696) A settings layer will stop replacing what a provider serves (ADR 0348 clause 11). influxdb on ace relies on that today: its layer sets org and bucket over the served literals, and grafana writes the bucket into its data source. Serving ${setting:org} and ${setting:bucket}, with today's literals as defaults, keeps every consumer's binding the same before and after the controller change. Declaring settings means runtime-config names the keys it takes; it keeps every key its client reads. Co-Authored-By: Claude Opus 5.5 --- modules/influxdb/module.json | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/modules/influxdb/module.json b/modules/influxdb/module.json index bad5aee4..6bf2588f 100644 --- a/modules/influxdb/module.json +++ b/modules/influxdb/module.json @@ -26,12 +26,24 @@ "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": { + "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)" + }, + "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)" + } + }, "serves": { "influxdb-api": { "scheme": "http", "port": 8086, - "org": "mesh", - "bucket": "default" + "org": "${setting:org}", + "bucket": "${setting:bucket}" } }, "receives": { @@ -124,7 +136,13 @@ "path": "${dir:mesh-state}/config.json", "mode": "0600", "content": "{}\n", - "merge": "json" + "merge": "json", + "takes-settings": [ + "bucket", + "org", + "url" + ], + "trusted": true } ], "requires": [