test(team-delete): verify DELETE /api/teams/{idx} tears a team down completely
Created a scratch team 5, booted all 16 of its containers, snapshotted its
footprint, deleted it via the API, and re-snapshotted:
before: 16 containers, 1 sidecar, team5_default network, teams/team5 dir
after : 0 containers, 0 sidecars, network gone, dir GONE, 34 UFW ports
closed, Traefik domain removed, 0 score rows
took 102s; the other 4 teams (64 containers, receivers active) were
untouched and still at 64/64 SLA.
Adds panel/team_footprint.sh (before/after proof of a delete),
team_health.sh, watch_load.sh.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# Team footprint snapshot: everything a team owns, so a delete can be proven
|
||||
# rather than assumed. Usage: ./team_footprint.sh <idx> [label]
|
||||
set -uo pipefail
|
||||
IDX=${1:-5}
|
||||
LABEL=${2:-team$IDX}
|
||||
echo "=== $LABEL ($IDX) ==="
|
||||
echo " containers : $(docker ps --format '{{.Names}}' | grep -c "_container_team${IDX}\$")"
|
||||
echo " sidecars : $(docker ps --format '{{.Names}}' | grep -c "team${IDX}-.*-1\$")"
|
||||
echo " network : $(docker network ls --format '{{.Name}}' | grep -c "^team${IDX}_default\$")"
|
||||
echo " volumes : $(docker volume ls --format '{{.Name}}' | grep -c "^team${IDX}")"
|
||||
echo " dir : $([ -d "/opt/gemastik18-final/teams/team${IDX}" ] && echo present || echo GONE)"
|
||||
echo " recv unit : $(systemctl is-active "gemastik-receiver-team${IDX}.service" 2>/dev/null || echo GONE)"
|
||||
echo " ufw rules : $(ufw status | grep -cE " 3${IDX}0[0-9]{2}/tcp| 3${IDX}[1-9][0-9]{2}/tcp")"
|
||||
echo " traefik : $(grep -c "team${IDX}" /data/coolify/proxy/dynamic/attackdefense-teams.yaml 2>/dev/null || echo 0)"
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# Health of every real team: container count, receiver unit, disk.
|
||||
set -uo pipefail
|
||||
cd /opt/gemastik18-final
|
||||
for i in 1 2 3 4; do
|
||||
printf "team%s: %2s containers | receiver=%s | team dir=%s\n" "$i" \
|
||||
"$(docker ps --format '{{.Names}}' | grep -c "_container_team${i}\$")" \
|
||||
"$(systemctl is-active "gemastik-receiver-team${i}.service")" \
|
||||
"$([ -d "teams/team${i}" ] && echo ok || echo MISSING)"
|
||||
done
|
||||
echo "panel: $(systemctl is-active gemastik-panel)"
|
||||
df -h / | tail -1
|
||||
Reference in New Issue
Block a user