Files
hq/04-ISSUES/166-a-requirement-cannot-be-optional/00-report.md
T
jschoubben 49b1136ded Issues 164-168: found provisioning every dependency on ace
164 a credential that must be accepted is minted anyway
165 one accepted value must be accepted once per consumer
166 a requirement cannot be optional
167 code several modules share has no home
168 a setting reaches every file and every contribution
2026-09-30 13:28:53 +02:00

25 lines
958 B
Markdown

---
status: open
opened: 2026-09-30
located-in:
- mesh-controller internal/catalogue (requires is a list of hard requirements)
fixed-by:
amended-design:
---
# 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.