librelad 98e1a0a05d refactor(apps): per-app post-install hooks + move gluetun/crowdsec logic into their apps
Replace the central app-name if-ladder in app_update_specifics.sh with a generic
dispatcher: each app ships containers/<app>/scripts/<app>_update_specifics.sh
defining appUpdateSpecifics_<app> (live-sourced by the container scan, dispatched
by `declare -F` — same pattern as tools). A hook may set shouldrestart=true. Apps
with no specifics ship no hook.

- Move the adguard/pihole (DNS updater), dashy (conf refresh), focalboard (nobody
  ownership + restart), and libreportal (webui regen) branches to per-app hooks.
- Move scripts/gluetun/gluetun_route_apps.sh -> containers/gluetun/scripts/
  (scripts/gluetun/ removed).
- Move scripts/install/install_crowdsec.sh -> containers/crowdsec/scripts/
  crowdsec_install_host.sh; fix the path note in crowdsec.sh.
- Regenerate arrays (moved files drop out; the per-app files are container-scanned,
  not arrayed).

Dispatch verified with stubs: adguard/pihole/dashy/focalboard/libreportal behave
identically to the old ladder (incl. shouldrestart propagation), apps without a
hook are a clean no-op. The CLI itself had no per-app branches — app-specific CLI
is already the (now fully modular) tools system.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-25 23:38:19 +01:00

33 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# This file is auto-generated by generate_arrays.sh
# Do not edit manually - run './scripts/source/files/generate_arrays.sh run' to regenerate
source_scripts=(
"source/fetch.sh"
"source/files/arrays/files_app.sh"
"source/files/arrays/files_backup.sh"
"source/files/arrays/files_checks.sh"
"source/files/arrays/files_cli.sh"
"source/files/arrays/files_config.sh"
"source/files/arrays/files_crontab.sh"
"source/files/arrays/files_database.sh"
"source/files/arrays/files_docker.sh"
"source/files/arrays/files_function.sh"
"source/files/arrays/files_headscale.sh"
"source/files/arrays/files_install.sh"
"source/files/arrays/files_logs.sh"
"source/files/arrays/files_menu.sh"
"source/files/arrays/files_migrate.sh"
"source/files/arrays/files_network.sh"
"source/files/arrays/files_os.sh"
"source/files/arrays/files_restore.sh"
"source/files/arrays/files_setup.sh"
"source/files/arrays/files_source.sh"
"source/files/arrays/files_ssh.sh"
"source/files/arrays/files_start.sh"
"source/files/arrays/files_update.sh"
"source/files/arrays/files_webui.sh"
)