86 lines
3.6 KiB
Plaintext
86 lines
3.6 KiB
Plaintext
CHAT_OUTPUT_BEGIN
|
|
COMMAND_ID=SUPPORT-261006-WINDOWS-DACHA-PLINK-TOPOLOGY-RCA-99747R1
|
|
STATUS=OK
|
|
RC=0
|
|
HOST=pve01
|
|
MODE=read-only
|
|
COMPONENT=windows-dacha-plink-topology-rca
|
|
REFERENCE_REGISTER_CHECK=OK
|
|
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
|
ERROR_REGISTER_CHECK=OK
|
|
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
|
COMMAND_SHA256=063e8aea897730f6790f9e8c1497608a5b33b01fbd2b5c1859e141cffc29cdd2
|
|
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
|
EXECUTION_STARTED=true
|
|
CHANGE_DECLARED=false
|
|
RESULT_CONTRACT_VALID=true
|
|
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
|
|
RESULT_CONTRACT_ERROR=NONE
|
|
COMMAND_RC=0
|
|
CHANGES_MADE=false
|
|
ROLLBACK_STARTED=false
|
|
ROLLBACK_RESTORED=null
|
|
MUTATION_OUTCOME=NO_MUTATION
|
|
SANITIZED=yes
|
|
SECRETS_INCLUDED=no
|
|
PRIVATE_ADDRESSES_INCLUDED=no
|
|
RAW_EVIDENCE_SHA256=d8060be39ec2fd196d262f31d38eccf91307916447aeaa6a15fb2871f9134813
|
|
SANITIZED_OUTPUT_SHA256=d8060be39ec2fd196d262f31d38eccf91307916447aeaa6a15fb2871f9134813
|
|
OUTPUT_BEGIN
|
|
WINDOWS_DACHA_PLINK_TOPOLOGY_RCA=V1
|
|
MODE=read-only
|
|
NO_MUTATION=true
|
|
WINDOWS_LOCAL_INSPECT_RC=0
|
|
echo "PVE64020_LISTENER_COUNT=$(ss -ltn 2>/dev/null | awk '$4 ~ /127\.0\.0\.1:64020$/ {n++} END{print n+0}')"
|
|
echo "PVE64020_SSHD_OWNER_COUNT=$(ss -ltnp 2>/dev/null | grep -E '127\.0\.0\.1:64020[[:space:]]' | grep -c 'sshd' || true)"
|
|
probe(){
|
|
label="$1"; shift
|
|
set +e
|
|
code="$(curl -ksS "$@" -o /dev/null -w '%{http_code}' --connect-timeout 5 --max-time 10 https://api.telegram.org/ 2>/dev/null)"
|
|
rc=$?
|
|
set -e
|
|
echo "REC|PVE64020_PROTOCOL|MODE=$label|RC=$rc|HTTP=$code"
|
|
}
|
|
probe SOCKS5 --socks5-hostname 127.0.0.1:64020
|
|
probe SOCKS4A --socks4a 127.0.0.1:64020
|
|
probe HTTP_PROXY -x http://127.0.0.1:64020
|
|
|
|
ssh -n -o BatchMode=yes -o ConnectTimeout=8 root@pve02 '
|
|
st="$(dpkg-query -W -f="${db:Status-Abbrev}|${Version}\n" zfsutils-linux 2>/dev/null || true)"
|
|
echo "PVE02_ZFS_DPKG_STATE=$st"
|
|
echo "PVE02_ZPOOL_COUNT=$(zpool list -H 2>/dev/null | wc -l)"
|
|
echo "PVE02_ZFS_MOUNT_COUNT=$(findmnt -rn -t zfs 2>/dev/null | wc -l)"
|
|
echo "PVE02_ZFS_STORAGE_CFG_REF_COUNT=$(grep -Ec "^[[:space:]]*zfspool:" /etc/pve/storage.cfg 2>/dev/null || true)"
|
|
echo "PVE02_ZFS_KERNEL_MODULE_LOADED=$([ -d /sys/module/zfs ] && echo true || echo false)"
|
|
' </dev/null
|
|
|
|
pvecm status >/tmp/w2-99747-pvecm.$$ 2>&1 || true
|
|
echo "CLUSTER_QUORATE=$(awk '/Quorate:/{print ($2=="Yes"?"true":"false")}' /tmp/w2-99747-pvecm.$$)"
|
|
rm -f /tmp/w2-99747-pvecm.$$
|
|
netbird status --json >/tmp/w2-99747-nb.$$ 2>/dev/null || true
|
|
python3 - /tmp/w2-99747-nb.$$ <<'PY'
|
|
import json,sys
|
|
try:d=json.load(open(sys.argv[1]))
|
|
except:d={}
|
|
p=((d.get('peers') or {}).get('details') if isinstance(d.get('peers'),dict) else []) or []
|
|
c=sum(1 for x in p if isinstance(x,dict) and str(x.get('status') or x.get('connectionStatus') or '').lower()=='connected')
|
|
print('NETBIRD_LAZY='+str(d.get('lazyConnectionEnabled','')).lower())
|
|
print('NETBIRD_MANAGEMENT='+str(bool((d.get('management') or {}).get('connected'))).lower())
|
|
print('NETBIRD_SIGNAL='+str(bool((d.get('signal') or {}).get('connected'))).lower())
|
|
print('NETBIRD_CONNECTED='+str(c))
|
|
PY
|
|
rm -f /tmp/w2-99747-nb.$$
|
|
|
|
echo 'DECISION=PASS_WINDOWS_DACHA_PLINK_TOPOLOGY_RCA'
|
|
echo 'NEXT_GATE=RESTORE_FROM_PROVEN_PERSISTENCE_OR_FORWARD_SHAPE'
|
|
echo 'TASK_RESULT=WINDOWS_DACHA_PLINK_TOPOLOGY_RCA'
|
|
echo 'CHANGES_MADE=false'
|
|
echo 'ROLLBACK_STARTED=false'
|
|
echo 'ROLLBACK_RESTORED=null'
|
|
echo 'MUTATION_OUTCOME=NO_MUTATION'
|
|
echo 'HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261006-WINDOWS-DACHA-PLINK-TOPOLOGY-RCA-99747R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}'
|
|
exit 0
|
|
|
|
OUTPUT_END
|
|
CHAT_OUTPUT_END
|