First catalog apps to exercise core 26.17's app-to-app dependency feature — until now every app was standalone. - mosquitto: MQTT broker, first dependency *provider*. Mandatory auth; per-consumer accounts created by on_install/on_start hooks (scripts/provision-client.sh, scripts/ensure-client.sh) that run inside the broker container via `docker compose exec`. Provider-side password stash so on_start can restore an account after a volume wipe. - zigbee2mqtt: first dependency *consumer*. `requires` mosquitto; MQTT creds wired in from the provisioning hook via ZIGBEE2MQTT_CONFIG_* env. Serial coordinator path as a text setting + devices mapping. Supporting changes: - Bump vendored furtka_manifest.py (26.10-era -> 26.17) so the validator actually validates the `requires` schema instead of ignoring it. - Document `requires`/hooks in apps/README.md (was undocumented), including the three framework gaps building this pair surfaced. - CI now shellchecks app hook scripts (apps/*/scripts/*.sh), not just repo-root scripts/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 lines
538 B
XML
11 lines
538 B
XML
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
|
|
<circle cx="32" cy="32" r="6" fill="currentColor" stroke="none"/>
|
|
<circle cx="12" cy="14" r="5"/>
|
|
<circle cx="52" cy="14" r="5"/>
|
|
<circle cx="12" cy="50" r="5"/>
|
|
<circle cx="52" cy="50" r="5"/>
|
|
<line x1="16" y1="17" x2="28" y2="29"/>
|
|
<line x1="48" y1="17" x2="36" y2="29"/>
|
|
<line x1="16" y1="47" x2="28" y2="35"/>
|
|
<line x1="48" y1="47" x2="36" y2="35"/>
|
|
</svg>
|