978 B
opened
| opened |
|---|
| 2026-09-30 |
166 — A requirement cannot be optional
What was observed
Making every dependency on ace a provision turned soft dependencies into hard ones. grafana now
requires influxdb-api (a data source), ombi requires sonarr-api, radarr-api and lidarr-api,
home-assistant requires the Servarr APIs and mqtt-topic. Each is optional to the software — grafana
runs without a data source, ombi without lidarr — but a mesh without influxdb cannot assign grafana at
all, and a mesh without lidarr cannot run ombi.
What would be right
A requirement a module can run without: resolved and bound when a provider exists, absent (with its
${bound:…} placeholders refused or defaulted explicitly, never rendered empty) when none does — so
the module description stays true on every mesh.
Re-checked 2026-10-08: still holds. A manifest's requires is still a list of hard requirements; no
optional form exists in the controller's catalog.