1
0

runtime: publish SUPPORT-261006-WINDOWS-DACHA-PLINK-TOPOLOGY-RCA-99747R1

This commit is contained in:
homelab-runtime-publisher
2026-10-07 03:33:47 +00:00
parent 898bf2991e
commit ced54aa7b1
4 changed files with 235 additions and 150 deletions
@@ -0,0 +1,38 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
"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",
"started_at_utc": "2026-10-07T03:33:46Z",
"finished_at_utc": "2026-10-07T03:33:47Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "063e8aea897730f6790f9e8c1497608a5b33b01fbd2b5c1859e141cffc29cdd2",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "d8060be39ec2fd196d262f31d38eccf91307916447aeaa6a15fb2871f9134813",
"sanitized_output_sha256": "d8060be39ec2fd196d262f31d38eccf91307916447aeaa6a15fb2871f9134813",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "WINDOWS_DACHA_PLINK_TOPOLOGY_RCA=V1\nMODE=read-only\nNO_MUTATION=true\nWINDOWS_LOCAL_INSPECT_RC=0\necho \"PVE64020_LISTENER_COUNT=$(ss -ltn 2>/dev/null | awk '$4 ~ /127\\.0\\.0\\.1:64020$/ {n++} END{print n+0}')\"\necho \"PVE64020_SSHD_OWNER_COUNT=$(ss -ltnp 2>/dev/null | grep -E '127\\.0\\.0\\.1:64020[[:space:]]' | grep -c 'sshd' || true)\"\nprobe(){\n label=\"$1\"; shift\n set +e\n code=\"$(curl -ksS \"$@\" -o /dev/null -w '%{http_code}' --connect-timeout 5 --max-time 10 https://api.telegram.org/ 2>/dev/null)\"\n rc=$?\n set -e\n echo \"REC|PVE64020_PROTOCOL|MODE=$label|RC=$rc|HTTP=$code\"\n}\nprobe SOCKS5 --socks5-hostname 127.0.0.1:64020\nprobe SOCKS4A --socks4a 127.0.0.1:64020\nprobe HTTP_PROXY -x http://127.0.0.1:64020\n\nssh -n -o BatchMode=yes -o ConnectTimeout=8 root@pve02 '\n st=\"$(dpkg-query -W -f=\"${db:Status-Abbrev}|${Version}\\n\" zfsutils-linux 2>/dev/null || true)\"\n echo \"PVE02_ZFS_DPKG_STATE=$st\"\n echo \"PVE02_ZPOOL_COUNT=$(zpool list -H 2>/dev/null | wc -l)\"\n echo \"PVE02_ZFS_MOUNT_COUNT=$(findmnt -rn -t zfs 2>/dev/null | wc -l)\"\n echo \"PVE02_ZFS_STORAGE_CFG_REF_COUNT=$(grep -Ec \"^[[:space:]]*zfspool:\" /etc/pve/storage.cfg 2>/dev/null || true)\"\n echo \"PVE02_ZFS_KERNEL_MODULE_LOADED=$([ -d /sys/module/zfs ] && echo true || echo false)\"\n' </dev/null\n\npvecm status >/tmp/w2-99747-pvecm.$$ 2>&1 || true\necho \"CLUSTER_QUORATE=$(awk '/Quorate:/{print ($2==\"Yes\"?\"true\":\"false\")}' /tmp/w2-99747-pvecm.$$)\"\nrm -f /tmp/w2-99747-pvecm.$$\nnetbird status --json >/tmp/w2-99747-nb.$$ 2>/dev/null || true\npython3 - /tmp/w2-99747-nb.$$ <<'PY'\nimport json,sys\ntry:d=json.load(open(sys.argv[1]))\nexcept:d={}\np=((d.get('peers') or {}).get('details') if isinstance(d.get('peers'),dict) else []) or []\nc=sum(1 for x in p if isinstance(x,dict) and str(x.get('status') or x.get('connectionStatus') or '').lower()=='connected')\nprint('NETBIRD_LAZY='+str(d.get('lazyConnectionEnabled','')).lower())\nprint('NETBIRD_MANAGEMENT='+str(bool((d.get('management') or {}).get('connected'))).lower())\nprint('NETBIRD_SIGNAL='+str(bool((d.get('signal') or {}).get('connected'))).lower())\nprint('NETBIRD_CONNECTED='+str(c))\nPY\nrm -f /tmp/w2-99747-nb.$$\n\necho 'DECISION=PASS_WINDOWS_DACHA_PLINK_TOPOLOGY_RCA'\necho 'NEXT_GATE=RESTORE_FROM_PROVEN_PERSISTENCE_OR_FORWARD_SHAPE'\necho 'TASK_RESULT=WINDOWS_DACHA_PLINK_TOPOLOGY_RCA'\necho 'CHANGES_MADE=false'\necho 'ROLLBACK_STARTED=false'\necho 'ROLLBACK_RESTORED=null'\necho 'MUTATION_OUTCOME=NO_MUTATION'\necho '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}'\nexit 0\n"
}
@@ -0,0 +1,85 @@
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
+38 -1
View File
@@ -1 +1,38 @@
{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20261007T031701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-10-07T03:17:01Z","finished_at_utc":"2026-10-07T03:17:02Z","reference_register_checked":true,"reference_sha256":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","error_register_checked":true,"error_register_sha256":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"}
{
"schema_version": 1,
"channel": "homelab-runtime",
"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",
"started_at_utc": "2026-10-07T03:33:46Z",
"finished_at_utc": "2026-10-07T03:33:47Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "063e8aea897730f6790f9e8c1497608a5b33b01fbd2b5c1859e141cffc29cdd2",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "d8060be39ec2fd196d262f31d38eccf91307916447aeaa6a15fb2871f9134813",
"sanitized_output_sha256": "d8060be39ec2fd196d262f31d38eccf91307916447aeaa6a15fb2871f9134813",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "WINDOWS_DACHA_PLINK_TOPOLOGY_RCA=V1\nMODE=read-only\nNO_MUTATION=true\nWINDOWS_LOCAL_INSPECT_RC=0\necho \"PVE64020_LISTENER_COUNT=$(ss -ltn 2>/dev/null | awk '$4 ~ /127\\.0\\.0\\.1:64020$/ {n++} END{print n+0}')\"\necho \"PVE64020_SSHD_OWNER_COUNT=$(ss -ltnp 2>/dev/null | grep -E '127\\.0\\.0\\.1:64020[[:space:]]' | grep -c 'sshd' || true)\"\nprobe(){\n label=\"$1\"; shift\n set +e\n code=\"$(curl -ksS \"$@\" -o /dev/null -w '%{http_code}' --connect-timeout 5 --max-time 10 https://api.telegram.org/ 2>/dev/null)\"\n rc=$?\n set -e\n echo \"REC|PVE64020_PROTOCOL|MODE=$label|RC=$rc|HTTP=$code\"\n}\nprobe SOCKS5 --socks5-hostname 127.0.0.1:64020\nprobe SOCKS4A --socks4a 127.0.0.1:64020\nprobe HTTP_PROXY -x http://127.0.0.1:64020\n\nssh -n -o BatchMode=yes -o ConnectTimeout=8 root@pve02 '\n st=\"$(dpkg-query -W -f=\"${db:Status-Abbrev}|${Version}\\n\" zfsutils-linux 2>/dev/null || true)\"\n echo \"PVE02_ZFS_DPKG_STATE=$st\"\n echo \"PVE02_ZPOOL_COUNT=$(zpool list -H 2>/dev/null | wc -l)\"\n echo \"PVE02_ZFS_MOUNT_COUNT=$(findmnt -rn -t zfs 2>/dev/null | wc -l)\"\n echo \"PVE02_ZFS_STORAGE_CFG_REF_COUNT=$(grep -Ec \"^[[:space:]]*zfspool:\" /etc/pve/storage.cfg 2>/dev/null || true)\"\n echo \"PVE02_ZFS_KERNEL_MODULE_LOADED=$([ -d /sys/module/zfs ] && echo true || echo false)\"\n' </dev/null\n\npvecm status >/tmp/w2-99747-pvecm.$$ 2>&1 || true\necho \"CLUSTER_QUORATE=$(awk '/Quorate:/{print ($2==\"Yes\"?\"true\":\"false\")}' /tmp/w2-99747-pvecm.$$)\"\nrm -f /tmp/w2-99747-pvecm.$$\nnetbird status --json >/tmp/w2-99747-nb.$$ 2>/dev/null || true\npython3 - /tmp/w2-99747-nb.$$ <<'PY'\nimport json,sys\ntry:d=json.load(open(sys.argv[1]))\nexcept:d={}\np=((d.get('peers') or {}).get('details') if isinstance(d.get('peers'),dict) else []) or []\nc=sum(1 for x in p if isinstance(x,dict) and str(x.get('status') or x.get('connectionStatus') or '').lower()=='connected')\nprint('NETBIRD_LAZY='+str(d.get('lazyConnectionEnabled','')).lower())\nprint('NETBIRD_MANAGEMENT='+str(bool((d.get('management') or {}).get('connected'))).lower())\nprint('NETBIRD_SIGNAL='+str(bool((d.get('signal') or {}).get('connected'))).lower())\nprint('NETBIRD_CONNECTED='+str(c))\nPY\nrm -f /tmp/w2-99747-nb.$$\n\necho 'DECISION=PASS_WINDOWS_DACHA_PLINK_TOPOLOGY_RCA'\necho 'NEXT_GATE=RESTORE_FROM_PROVEN_PERSISTENCE_OR_FORWARD_SHAPE'\necho 'TASK_RESULT=WINDOWS_DACHA_PLINK_TOPOLOGY_RCA'\necho 'CHANGES_MADE=false'\necho 'ROLLBACK_STARTED=false'\necho 'ROLLBACK_RESTORED=null'\necho 'MUTATION_OUTCOME=NO_MUTATION'\necho '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}'\nexit 0\n"
}
+74 -149
View File
File diff suppressed because one or more lines are too long