observability: fix alloy ui component, busybox healthchecks for loki/alloy
- alloy 1.x renamed the server component to ui; the old block failed the initial load and the container crash-looped - grafana/loki is distroless and grafana/alloy lacks wget, so their healthchecks could never run; local images add a static busybox from alpine for that one command - deploy.sh builds all three local images if missing - tests: 3 new seams
This commit is contained in:
@@ -136,3 +136,29 @@ CADDYFILE="$REPO_ROOT/dankclaw/Caddyfile"
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
# --- distroless healthchecks (loki/alloy carry a static busybox) ---
|
||||
|
||||
@test "loki and alloy run from local images carrying a static busybox" {
|
||||
local compose="$REPO_ROOT/dankclaw/compose.yaml"
|
||||
grep -q 'image: franksdank/loki:latest' "$compose" || { echo "loki image not local"; return 1; }
|
||||
grep -q 'image: franksdank/alloy:latest' "$compose" || { echo "alloy image not local"; return 1; }
|
||||
local img
|
||||
for img in loki alloy; do
|
||||
local cf="$REPO_ROOT/dankclaw/$img/Containerfile"
|
||||
[ -f "$cf" ] || { echo "missing $cf"; return 1; }
|
||||
grep -q 'busybox' "$cf" || { echo "$cf does not install busybox"; return 1; }
|
||||
done
|
||||
}
|
||||
|
||||
@test "loki and alloy healthchecks use the busybox wget" {
|
||||
local compose="$REPO_ROOT/dankclaw/compose.yaml"
|
||||
local n
|
||||
n=$(grep -c '/usr/local/bin/busybox' "$compose")
|
||||
[ "$n" -ge 2 ] || { echo "expected >=2 busybox healthchecks, found $n"; return 1; }
|
||||
}
|
||||
|
||||
@test "alloy config uses the ui component (the server component was renamed)" {
|
||||
grep -qE '^ui \{' "$REPO_ROOT/shared/alloy/config.alloy"
|
||||
! grep -qE '^server \{' "$REPO_ROOT/shared/alloy/config.alloy"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user