fix(catalog): store sources.json in the state root, not under configs/

Every file under $configs_dir is treated as a config (some get sourced at
startup), so a JSON file there was executed as bash — "[name:…]: command not
found" on every config load. Move it beside the apps DB in the manager state
root ($docker_dir/catalog/sources.json): persistent, manager-owned, and never
config-scanned.

Signed-off-by: librelad <librelad@digitalangels.vip>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
librelad 2026-07-06 19:49:59 +01:00
parent b83f8c589d
commit 748fde25c0

View File

@ -17,8 +17,10 @@
# (lpFetchIndex is untouched) — a third-party catalog can never become a channel
# for system updates.
# Its own file, next to the other live config (manager-owned control plane).
catalogSourcesFile() { echo "${configs_dir%/}/catalog/sources.json"; }
# Its own file in the manager's persistent state root ($docker_dir — beside the
# apps database), NOT under configs/ (every file there is treated as a sourced
# .config, so a JSON there would be executed as bash at startup).
catalogSourcesFile() { echo "${docker_dir%/}/catalog/sources.json"; }
# The extra (non-official) sources as a JSON array; [] when none/absent/invalid.
catalogExtraSourcesJson() {