fix: implement logging function and replace echo statements with log calls
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
parent
da44b44468
commit
89da2f4d36
1 changed files with 31 additions and 45 deletions
|
|
@ -58,6 +58,12 @@ fail() {
|
|||
exit 1
|
||||
}
|
||||
|
||||
log() {
|
||||
local level="${1:-info}"
|
||||
local msg="${2:-}"
|
||||
echo "${msg}" | systemd-cat -t panelctl -p "${level}" 2>/dev/null || true
|
||||
}
|
||||
|
||||
ensure_base_dirs() {
|
||||
mkdir -p "${STACKS_DIR}" "${VOLUMES_DIR}" "${ROUTES_DIR}" "${APPS_DIR}" "${BACKUPS_DIR}"
|
||||
}
|
||||
|
|
@ -275,7 +281,7 @@ cmd_init() {
|
|||
write_manifest "${name}" "${domains}" "${port}" "${auth}"
|
||||
cmd_render_route "${name}"
|
||||
|
||||
echo "initialized app '${name}'"
|
||||
log info "initialized app '${name}'"
|
||||
}
|
||||
|
||||
cmd_render_route() {
|
||||
|
|
@ -326,13 +332,13 @@ cmd_render_route() {
|
|||
} >>"${tmp}"
|
||||
|
||||
install -m 0664 -o reudy -g panelroutes "${tmp}" "${route_file}"
|
||||
echo "rendered route ${route_file}"
|
||||
log info "rendered route ${route_file}"
|
||||
}
|
||||
|
||||
maybe_reload_caddy() {
|
||||
# Try Caddy admin API first (no root required)
|
||||
if curl -sf -X POST http://localhost:2019/config/ >/dev/null 2>&1; then
|
||||
echo "reloaded caddy via admin API"
|
||||
log info "reloaded caddy via admin API"
|
||||
return
|
||||
fi
|
||||
|
||||
|
|
@ -345,52 +351,32 @@ maybe_reload_caddy() {
|
|||
|
||||
# Fall back to systemctl (sudo if needed)
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
systemctl reload caddy && echo "reloaded caddy"
|
||||
systemctl reload caddy && log info "reloaded caddy"
|
||||
elif sudo -n /run/current-system/sw/bin/systemctl reload caddy 2>/dev/null; then
|
||||
echo "reloaded caddy via sudo"
|
||||
log info "reloaded caddy via sudo"
|
||||
else
|
||||
echo "caddy reload requires root; run: sudo systemctl reload caddy"
|
||||
log warning "caddy reload requires root; run: sudo systemctl reload caddy"
|
||||
fi
|
||||
}
|
||||
|
||||
# maybe_reload_caddy() {
|
||||
# if [[ -x /run/current-system/sw/bin/caddy && -f /etc/caddy/Caddyfile ]]; then
|
||||
# /run/current-system/sw/bin/caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile || echo "warning: caddy validation failed" >&2
|
||||
# fi
|
||||
|
||||
# if [[ "${EUID}" -eq 0 ]]; then
|
||||
# systemctl reload caddy
|
||||
# echo "reloaded caddy"
|
||||
# return
|
||||
# fi
|
||||
|
||||
# if command -v sudo >/dev/null 2>&1 && sudo -n true >/dev/null 2>&1; then
|
||||
# sudo -n /run/current-system/sw/bin/systemctl reload caddy
|
||||
# echo "reloaded caddy via sudo"
|
||||
# return
|
||||
# fi
|
||||
|
||||
# echo "caddy reload requires root; run: sudo systemctl reload caddy"
|
||||
# }
|
||||
|
||||
cmd_deploy() {
|
||||
local name="$1"
|
||||
validate_name "${name}"
|
||||
load_app "${name}"
|
||||
|
||||
echo "Starting deployment for app '${name}'" | systemd-cat -t panelctl -p info 2>/dev/null || true
|
||||
log info "Starting deployment for app '${name}'"
|
||||
|
||||
cmd_render_route "${name}"
|
||||
|
||||
if ! run_compose -f "${APP_COMPOSE_FILE}" up -d 2>&1 | systemd-cat -t panelctl -p info 2>/dev/null; then
|
||||
echo "Deployment failed for app '${name}'" | systemd-cat -t panelctl -p err 2>/dev/null || true
|
||||
log err "Deployment failed for app '${name}'"
|
||||
fail "compose up failed"
|
||||
fi
|
||||
|
||||
maybe_reload_caddy
|
||||
|
||||
echo "Successfully deployed app '${name}'" | systemd-cat -t panelctl -p info 2>/dev/null || true
|
||||
echo "deployed app '${name}'"
|
||||
log info "Successfully deployed app '${name}'"
|
||||
log info "deployed app '${name}'"
|
||||
}
|
||||
|
||||
cmd_restart() {
|
||||
|
|
@ -398,7 +384,7 @@ cmd_restart() {
|
|||
validate_name "${name}"
|
||||
load_app "${name}"
|
||||
|
||||
echo "Restarting app '${name}'" | systemd-cat -t panelctl -p info 2>/dev/null || true
|
||||
log info "Restarting app '${name}'"
|
||||
|
||||
run_compose -f "${APP_COMPOSE_FILE}" down || fail "compose down failed"
|
||||
|
||||
|
|
@ -406,7 +392,7 @@ cmd_restart() {
|
|||
fail "compose up failed during restart"
|
||||
fi
|
||||
|
||||
echo "restarted app '${name}'"
|
||||
log info "restarted app '${name}'"
|
||||
}
|
||||
|
||||
cmd_stop() {
|
||||
|
|
@ -415,7 +401,7 @@ cmd_stop() {
|
|||
load_app "${name}"
|
||||
|
||||
run_compose -f "${APP_COMPOSE_FILE}" down || fail "compose down failed"
|
||||
echo "stopped app '${name}'"
|
||||
log info "stopped app '${name}'"
|
||||
}
|
||||
|
||||
cmd_status() {
|
||||
|
|
@ -425,7 +411,7 @@ cmd_status() {
|
|||
|
||||
run_compose -f "${APP_COMPOSE_FILE}" ps --format json 2>/dev/null || \
|
||||
run_compose -f "${APP_COMPOSE_FILE}" ps 2>/dev/null || \
|
||||
echo "no containers running"
|
||||
log info "no containers running"
|
||||
}
|
||||
|
||||
cmd_logs() {
|
||||
|
|
@ -447,7 +433,7 @@ cmd_logs() {
|
|||
esac
|
||||
done
|
||||
|
||||
run_compose -f "${APP_COMPOSE_FILE}" logs --tail "${tail_lines}" 2>&1 || echo "no logs available"
|
||||
run_compose -f "${APP_COMPOSE_FILE}" logs --tail "${tail_lines}" 2>&1 || log info "no logs available"
|
||||
}
|
||||
|
||||
cmd_validate_compose() {
|
||||
|
|
@ -456,7 +442,7 @@ cmd_validate_compose() {
|
|||
load_app "${name}"
|
||||
|
||||
if run_compose -f "${APP_COMPOSE_FILE}" config >/dev/null 2>&1; then
|
||||
echo "compose file is valid"
|
||||
log info "compose file is valid"
|
||||
else
|
||||
local output
|
||||
output="$(run_compose -f "${APP_COMPOSE_FILE}" config 2>&1 || true)"
|
||||
|
|
@ -490,7 +476,7 @@ cmd_remove() {
|
|||
fi
|
||||
|
||||
maybe_reload_caddy
|
||||
echo "removed app '${name}'"
|
||||
log info "removed app '${name}'"
|
||||
}
|
||||
|
||||
cmd_backup() {
|
||||
|
|
@ -512,7 +498,7 @@ cmd_backup() {
|
|||
local was_running=false
|
||||
if run_compose -f "${APP_COMPOSE_FILE}" ps --format json 2>/dev/null | grep -q '"running"' 2>/dev/null; then
|
||||
was_running=true
|
||||
echo "stopping containers for consistent backup..."
|
||||
log info "stopping containers for consistent backup..."
|
||||
run_compose -f "${APP_COMPOSE_FILE}" down 2>/dev/null || true
|
||||
fi
|
||||
|
||||
|
|
@ -527,13 +513,13 @@ cmd_backup() {
|
|||
|
||||
# Restart if it was running
|
||||
if [[ "${was_running}" == "true" ]]; then
|
||||
echo "restarting containers after backup..."
|
||||
log info "restarting containers after backup..."
|
||||
run_compose -f "${APP_COMPOSE_FILE}" up -d 2>/dev/null || true
|
||||
fi
|
||||
|
||||
local size
|
||||
size="$(du -h "${backup_file}" | cut -f1)"
|
||||
echo "backup created: ${backup_file} (${size})"
|
||||
log info "backup created: ${backup_file} (${size})"
|
||||
}
|
||||
|
||||
cmd_list_backups() {
|
||||
|
|
@ -554,7 +540,7 @@ cmd_list_backups() {
|
|||
done
|
||||
|
||||
if [[ "${found}" -eq 0 ]]; then
|
||||
echo "no backups found for '${name}'"
|
||||
log info "no backups found for '${name}'"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -582,7 +568,7 @@ cmd_restore() {
|
|||
volume_dir="$(app_volume_dir "${name}")"
|
||||
|
||||
# Stop containers before restore
|
||||
echo "stopping containers for restore..."
|
||||
log info "stopping containers for restore..."
|
||||
run_compose -f "${APP_COMPOSE_FILE}" down 2>/dev/null || true
|
||||
|
||||
# Clear existing volume data and extract backup
|
||||
|
|
@ -590,8 +576,8 @@ cmd_restore() {
|
|||
mkdir -p "${volume_dir}"
|
||||
(cd "${volume_dir}" && unzip -o "${norm_path}") || fail "unzip failed"
|
||||
|
||||
echo "restored '${name}' from $(basename "${norm_path}")"
|
||||
echo "run 'panelctl deploy ${name}' to start the app"
|
||||
log info "restored '${name}' from $(basename "${norm_path}")"
|
||||
log info "run 'panelctl deploy ${name}' to start the app'"
|
||||
}
|
||||
|
||||
cmd_list() {
|
||||
|
|
@ -607,7 +593,7 @@ cmd_list() {
|
|||
done
|
||||
|
||||
if [[ "${found}" -eq 0 ]]; then
|
||||
echo "no apps found"
|
||||
log info "no apps found"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue