diff --git a/CLAUDE.md b/CLAUDE.md index ee4a85c..d418374 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,7 +17,12 @@ checklist per group, and calls `install_()` for each selected item. 1. Create `services/.sh` (kebab-case filename) 2. Call `register_service` at the top of the file -3. Define `install_()` (hyphens → underscores in function name) +3. Define `install_()` — keep hyphens **literal** in the function name + (`install_asterisk-digital-ocean`, not `install_asterisk_digital_ocean`). + `setup.sh`'s dispatcher calls `install_${name}` with no hyphen→underscore + conversion, so the function name must match the service name exactly. + Confirmed live: a mismatched underscore here produces + `Service 'x' has no install_x` at runtime, not a load-time error. That's it. The menu picks it up on the next run. diff --git a/services/security-dashboard.sh b/services/security-dashboard.sh index 6690b54..9601baf 100644 --- a/services/security-dashboard.sh +++ b/services/security-dashboard.sh @@ -66,7 +66,7 @@ fi register_service security-dashboard homelab "Security dashboard: Asterisk failed-connections + CrowdSec bans (Authelia-protected)" 8092 -install_security_dashboard() { +install_security-dashboard() { local APP_DIR="/opt/security-dashboard" local DASHBOARD_PORT=8092 local ASTERISK_LOG_DIR="$DOCKER_DIR/asterisk-digital-ocean/logs" @@ -682,4 +682,4 @@ if __name__ == "__main__": PYAPP } -[[ "${_RUN_STANDALONE:-0}" == 1 ]] && install_security_dashboard +[[ "${_RUN_STANDALONE:-0}" == 1 ]] && install_security-dashboard