integration: worker image, bridge, compose, Makefile, deploy scripts

This commit is contained in:
Raphael Westphal
2026-08-18 13:03:57 +02:00
parent 631aaf060b
commit 05ad577eea
8 changed files with 202 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Deploy lvmh to alarm over ssh (tailnet). Source is rsynced; compose builds there.
set -euo pipefail
REMOTE="${1:-alarm}"
REMOTE_DIR="${2:-/zdata/root/dockerFiles/lvmh}"
if ! ssh "$REMOTE" "test -f $REMOTE_DIR/.env" 2>/dev/null; then
echo "ERROR: $REMOTE:$REMOTE_DIR/.env missing. Create it first (see .env.example):"
echo " ssh $REMOTE 'mkdir -p $REMOTE_DIR && cat > $REMOTE_DIR/.env' <<EOF
LVMH_TOKEN=...
ZAI_RENAUD_API_KEY=...
EOF"
exit 1
fi
rsync -az --delete \
--exclude .git --exclude node_modules --exclude web/dist \
--exclude .env --exclude .scratch --exclude .pi \
./ "$REMOTE:$REMOTE_DIR/"
ssh "$REMOTE" "cd $REMOTE_DIR && docker compose build lvmh && docker compose up -d && docker compose ps"
echo "Deployed: http://$REMOTE:8686"
Executable
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Post-deploy smoke test. Requires LVMH_HOST (default alarm), LVMH_TOKEN env.
set -euo pipefail
HOST="${LVMH_HOST:-alarm}"
TOKEN="${LVMH_TOKEN:?set LVMH_TOKEN}"
BASE="http://$HOST:8686"
auth=(-H "Authorization: Bearer $TOKEN")
echo "== sessions =="
curl -fsS "${auth[@]}" "$BASE/api/sessions" | head -c 400; echo
echo "== gitlab status =="
curl -fsS "${auth[@]}" "$BASE/api/gitlab/status"; echo
echo "== web dist =="
curl -fsS "$BASE/" | grep -o '<title>[^<]*</title>' || echo "no title tag"
echo "SMOKE OK"