LibrePortal/configs/general/general_catalogs
librelad abf3a65c88 refactor(catalog): move sources into a config file (CFG_CATALOG_1..9), generate from it
Per the intended model: catalog sources should live in the config place (like
domains), and registry_catalog.json should be a purely GENERATED artifact
derived from them — not the source of truth. Replaces the earlier
$docker_dir/catalog/sources.json store.

- New configs/general/general_catalogs — CFG_CATALOG_1..9, one catalog base URL
  per slot ("url" or "url|channel"), domains-style. Official stays pinned as
  source #1 (derived from CFG_RELEASE_BASE_URL, not listed here). Slot N → source
  idx N+1 (stable id for the Add picker / `app add --source`).
- catalog_sources.sh now reads/writes those CFG vars (via updateConfigOption)
  instead of a JSON file; dropped catalogSourcesFile + the enable/disable toggle
  (presence = enabled; remove = clear the slot).
- configUpdateBatch regenerates registry_catalog.json when a CFG_CATALOG_* key
  changed — so pressing Save in the WebUI rebuilds the browse data.
- webuiRegistryCatalogScan is unchanged (still iterates catalogEnabledSources).

Verified: CFG_CATALOG_1/2 → sources at idx 2/3, empty slots skipped, url|channel
parsed, official pinned at idx 1.

Signed-off-by: librelad <librelad@digitalangels.vip>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 22:01:22 +01:00

18 lines
1.5 KiB
Plaintext

# ================================================================================
# App Catalogs - Extra app-catalog sources the App Center browses
# ================================================================================
# Each slot is a catalog base URL served with a signed /<channel>/index.json
# (channel defaults to stable; append |<channel> for another). Sources are tried
# in priority order 1..9. The official catalog (from the Release Host) is always
# source #1 and is NOT listed here. Third-party catalogs are UNVERIFIED — you are
# trusting that host. Edit these from the App Center's Catalog Sources block.
CFG_CATALOG_1= # Catalog 1 - Extra catalog base URL, e.g. https://catalog.example.org
CFG_CATALOG_2= # Catalog 2 - Extra catalog base URL
CFG_CATALOG_3= # Catalog 3 - Extra catalog base URL
CFG_CATALOG_4= # Catalog 4 - Extra catalog base URL
CFG_CATALOG_5= # Catalog 5 - Extra catalog base URL
CFG_CATALOG_6= # Catalog 6 - Extra catalog base URL
CFG_CATALOG_7= # Catalog 7 - Extra catalog base URL
CFG_CATALOG_8= # Catalog 8 - Extra catalog base URL
CFG_CATALOG_9= # Catalog 9 - Extra catalog base URL