From ab44ff02e1872861716b9baa93f335bc163758f8 Mon Sep 17 00:00:00 2001 From: jochens Date: Wed, 30 Sep 2026 00:39:19 +0200 Subject: [PATCH] sonarr, radarr, lidarr: provide their API to the mesh A consumer on another machine (ombi first; jackett, bazarr and home-assistant later) reached these by container name on HAL's shared network, which the mesh does not have. Each app now provides -api at mesh scope and serves the software port, so the mesh tells a consumer where it is and redirects the port to where the machine published it. Named per app, not one servarr-api: a requirement is matched by name and answered by exactly one provider per node, so a consumer cannot require one name from three providers - and ombi's code is written against each app's own API version (ADR 0027). No grants and no provisioner: a Servarr instance has one API key, which the mesh cannot mint. The operator accepts it as the pair credential for each consumer (ADR 0092). --- modules/lidarr/module.json | 13 +++++++++++++ modules/radarr/module.json | 13 +++++++++++++ modules/sonarr/module.json | 13 +++++++++++++ 3 files changed, 39 insertions(+) diff --git a/modules/lidarr/module.json b/modules/lidarr/module.json index a1dde33..fb47a06 100644 --- a/modules/lidarr/module.json +++ b/modules/lidarr/module.json @@ -1,6 +1,19 @@ { "module": "lidarr", "version": "1", + "provides": [ + { + "name": "lidarr-api", + "scope": "mesh" + } + ], + "serves": { + "lidarr-api": { + "scheme": "http", + "port": 8686, + "url-base": "" + } + }, "capabilities": [ "container-runtime" ], diff --git a/modules/radarr/module.json b/modules/radarr/module.json index cf9a6f6..b3c31c6 100644 --- a/modules/radarr/module.json +++ b/modules/radarr/module.json @@ -1,6 +1,19 @@ { "module": "radarr", "version": "1", + "provides": [ + { + "name": "radarr-api", + "scope": "mesh" + } + ], + "serves": { + "radarr-api": { + "scheme": "http", + "port": 7878, + "url-base": "" + } + }, "capabilities": [ "container-runtime" ], diff --git a/modules/sonarr/module.json b/modules/sonarr/module.json index 17711be..b051720 100644 --- a/modules/sonarr/module.json +++ b/modules/sonarr/module.json @@ -1,6 +1,19 @@ { "module": "sonarr", "version": "1", + "provides": [ + { + "name": "sonarr-api", + "scope": "mesh" + } + ], + "serves": { + "sonarr-api": { + "scheme": "http", + "port": 8989, + "url-base": "" + } + }, "capabilities": [ "container-runtime" ],