The operator asked on 2026-10-08 for the deprecated issues to be gone. In hq an issue is closed, never deleted, so each one is resolved with its fix, closed wontfix with a reason, or re-checked against main and the live mesh.
28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
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.
|
|
|
|
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 catalogue.
|