Stabilize Debian systemd smoke files

This commit is contained in:
Ochenstarik 2026-07-19 17:44:06 +07:00
parent 3a8d7da47f
commit 8620ade42e

View file

@ -9,6 +9,9 @@ bootstrap="$(realpath "${3:?bootstrap is required}")"
name="smm-systemd-${RANDOM}-${RANDOM}" name="smm-systemd-${RANDOM}-${RANDOM}"
image="smm-systemd-smoke:${base_image//[:\/]/-}" image="smm-systemd-smoke:${base_image//[:\/]/-}"
port="17443" port="17443"
smoke_dir="/root/smm-smoke"
remote_archive="$smoke_dir/release.tar.gz"
remote_bootstrap="$smoke_dir/ochenstarik-server-monitor-manager.sh"
cleanup() { cleanup() {
docker rm -f "$name" >/dev/null 2>&1 || true docker rm -f "$name" >/dev/null 2>&1 || true
@ -38,18 +41,19 @@ state="$(docker exec "$name" systemctl is-system-running 2>/dev/null || true)"
exit 1 exit 1
} }
docker cp "$archive" "$name:/tmp/release.tar.gz" docker exec "$name" install -d -m 0700 "$smoke_dir"
docker cp "${archive}.sha256" "$name:/tmp/release.tar.gz.sha256" docker cp "$archive" "$name:$remote_archive"
docker cp "$bootstrap" "$name:/tmp/ochenstarik-server-monitor-manager.sh" docker cp "${archive}.sha256" "$name:${remote_archive}.sha256"
docker exec "$name" chmod 0700 /tmp/ochenstarik-server-monitor-manager.sh docker cp "$bootstrap" "$name:$remote_bootstrap"
docker exec "$name" /tmp/ochenstarik-server-monitor-manager.sh preflight docker exec "$name" chmod 0700 "$remote_bootstrap"
docker exec "$name" /tmp/ochenstarik-server-monitor-manager.sh install-control \ docker exec "$name" "$remote_bootstrap" preflight
/tmp/release.tar.gz 127.0.0.1 "$port" docker exec "$name" "$remote_bootstrap" install-control \
"$remote_archive" 127.0.0.1 "$port"
docker exec "$name" curl --fail --silent --show-error --retry 15 --retry-all-errors --retry-delay 1 \ docker exec "$name" curl --fail --silent --show-error --retry 15 --retry-all-errors --retry-delay 1 \
--cacert /etc/ochenstarik-server-monitor-manager/control-ca.crt \ --cacert /etc/ochenstarik-server-monitor-manager/control-ca.crt \
"https://127.0.0.1:$port/healthz" "https://127.0.0.1:$port/healthz"
docker exec "$name" /tmp/ochenstarik-server-monitor-manager.sh install-control \ docker exec "$name" "$remote_bootstrap" install-control \
/tmp/release.tar.gz 127.0.0.1 "$port" "$remote_archive" 127.0.0.1 "$port"
docker restart "$name" >/dev/null docker restart "$name" >/dev/null
for _ in {1..60}; do for _ in {1..60}; do