ia_dev/deploy/scripts/install-lpldf-https-watch-on-proxy.sh
Nicolas Cantu 4a0b031b89 Add LPLDF HTTPS watchdog systemd units for 4NK proxy
**Motivations:**
- Alert when the LPLDF storefront HTTPS endpoint is down from the proxy

**Root causes:**
- N/A (monitoring gap)

**Correctifs:**
- N/A

**Evolutions:**
- watch-https-lpldf.sh: curl check, state file, syslog tag lpldf-https-watch, optional webhook/email via env file
- systemd oneshot + 5-minute timer; install script via SSH/scp

**Pages affectées:**
- tools/proxy-https-watch-lpldf.sh
- tools/proxy-https-watch-lpldf.env.example
- deploy/proxy-units/lpldf-https-watch.service
- deploy/proxy-units/lpldf-https-watch.timer
- deploy/scripts/install-lpldf-https-watch-on-proxy.sh
- deploy/README-lpldf-https-watch.md
2026-03-22 23:35:43 +01:00

40 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Install HTTPS watchdog + systemd timer on the 4NK proxy (192.168.1.100).
# Does not modify Nginx. Run from ia_dev root: ./deploy/scripts/install-lpldf-https-watch-on-proxy.sh
set -euo pipefail
IA_DEV_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
# shellcheck source=deploy/_lib/ssh.sh
source "${IA_DEV_ROOT}/deploy/_lib/ssh.sh"
readonly SSH_KEY="${DEPLOY_SSH_KEY:-${HOME}/.ssh/id_ed25519}"
readonly SSH_USER="${DEPLOY_SSH_USER:-ncantu}"
readonly PROXY_HOST="${DEPLOY_PROXY_HOST:-192.168.1.100}"
export DEPLOY_SSH_PROXY_HOST="${DEPLOY_SSH_PROXY_HOST:-4nk.myftp.biz}"
readonly REMOTE_SCRIPT="/opt/proxy-config/scripts/watch-https-lpldf.sh"
readonly REMOTE_ENV_DIR="/opt/proxy-config/scripts/env"
readonly REMOTE_ENV="${REMOTE_ENV_DIR}/watch-https-lpldf.env"
readonly SERVICE_NAME="lpldf-https-watch"
scp_copy "$SSH_KEY" "${IA_DEV_ROOT}/tools/proxy-https-watch-lpldf.sh" "$SSH_USER" "$PROXY_HOST" "/tmp/watch-https-lpldf.sh" "false"
scp_copy "$SSH_KEY" "${IA_DEV_ROOT}/deploy/proxy-units/${SERVICE_NAME}.service" "$SSH_USER" "$PROXY_HOST" "/tmp/${SERVICE_NAME}.service" "false"
scp_copy "$SSH_KEY" "${IA_DEV_ROOT}/deploy/proxy-units/${SERVICE_NAME}.timer" "$SSH_USER" "$PROXY_HOST" "/tmp/${SERVICE_NAME}.timer" "false"
ssh_run "$SSH_KEY" "$SSH_USER" "$PROXY_HOST" \
"sudo install -d -m 755 /opt/proxy-config/scripts && \
sudo install -d -m 700 ${REMOTE_ENV_DIR} && \
sudo install -m 755 /tmp/watch-https-lpldf.sh ${REMOTE_SCRIPT} && \
sudo rm -f /tmp/watch-https-lpldf.sh && \
sudo install -d -m 755 /var/lib/lpldf-https-watch && \
sudo install -m 644 /tmp/${SERVICE_NAME}.service /etc/systemd/system/${SERVICE_NAME}.service && \
sudo install -m 644 /tmp/${SERVICE_NAME}.timer /etc/systemd/system/${SERVICE_NAME}.timer && \
sudo rm -f /tmp/${SERVICE_NAME}.service /tmp/${SERVICE_NAME}.timer && \
sudo systemctl daemon-reload && \
sudo systemctl enable --now ${SERVICE_NAME}.timer && \
sudo systemctl start ${SERVICE_NAME}.service || true && \
systemctl --no-pager --full status ${SERVICE_NAME}.timer"
echo "[install-lpldf-https-watch] Installed ${REMOTE_SCRIPT} and ${SERVICE_NAME}.timer on ${PROXY_HOST}"
echo "[install-lpldf-https-watch] Optional: create ${REMOTE_ENV} (chmod 600); see tools/proxy-https-watch-lpldf.env.example"