runtime: publish CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"channel": "homelab-runtime",
|
||||
"command_id": "CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191",
|
||||
"status": "FAIL",
|
||||
"rc": 1,
|
||||
"host": "pve01",
|
||||
"mode": "change",
|
||||
"component": "cluster-audit",
|
||||
"started_at_utc": "2026-07-22T12:32:35Z",
|
||||
"finished_at_utc": "2026-07-22T12:32:35Z",
|
||||
"reference_register_checked": true,
|
||||
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
||||
"error_register_checked": true,
|
||||
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
|
||||
"command_sha256": "cfef5ce60e9f66d9d9ebeb7521a0a78f38060e1be92394ec1513db4ae1ad8b90",
|
||||
"duplicate_failed_command_blocked": false,
|
||||
"block_reason": null,
|
||||
"execution_started": true,
|
||||
"changes_made": true,
|
||||
"sanitized": true,
|
||||
"secrets_included": false,
|
||||
"private_addresses_included": false,
|
||||
"raw_evidence_retained_locally": true,
|
||||
"raw_evidence_sha256": "72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814",
|
||||
"sanitized_output_sha256": "72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814",
|
||||
"output_truncated_in_json": false,
|
||||
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
||||
"output": "validation=PASS\nPREVIOUS_RESULT_190=OK\n"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191
|
||||
STATUS=FAIL
|
||||
RC=1
|
||||
HOST=pve01
|
||||
MODE=change
|
||||
COMPONENT=cluster-audit
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||
COMMAND_SHA256=cfef5ce60e9f66d9d9ebeb7521a0a78f38060e1be92394ec1513db4ae1ad8b90
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGES_MADE=true
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814
|
||||
SANITIZED_OUTPUT_SHA256=72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814
|
||||
OUTPUT_BEGIN
|
||||
validation=PASS
|
||||
PREVIOUS_RESULT_190=OK
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
+11
-11
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"channel": "homelab-runtime",
|
||||
"command_id": "CLUSTER-REFERENCE-RUNNER-COMPONENT-AUDIT-190",
|
||||
"status": "OK",
|
||||
"rc": 0,
|
||||
"command_id": "CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191",
|
||||
"status": "FAIL",
|
||||
"rc": 1,
|
||||
"host": "pve01",
|
||||
"mode": "read-only",
|
||||
"mode": "change",
|
||||
"component": "cluster-audit",
|
||||
"started_at_utc": "2026-07-22T12:28:26Z",
|
||||
"finished_at_utc": "2026-07-22T12:28:26Z",
|
||||
"started_at_utc": "2026-07-22T12:32:35Z",
|
||||
"finished_at_utc": "2026-07-22T12:32:35Z",
|
||||
"reference_register_checked": true,
|
||||
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
||||
"error_register_checked": true,
|
||||
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
|
||||
"command_sha256": "2c58a67f72680af3ac4b0b98fdc27f29c9fc2595425de099c209563f3d68fcce",
|
||||
"command_sha256": "cfef5ce60e9f66d9d9ebeb7521a0a78f38060e1be92394ec1513db4ae1ad8b90",
|
||||
"duplicate_failed_command_blocked": false,
|
||||
"block_reason": null,
|
||||
"execution_started": true,
|
||||
"changes_made": false,
|
||||
"changes_made": true,
|
||||
"sanitized": true,
|
||||
"secrets_included": false,
|
||||
"private_addresses_included": false,
|
||||
"raw_evidence_retained_locally": true,
|
||||
"raw_evidence_sha256": "50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713",
|
||||
"sanitized_output_sha256": "50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713",
|
||||
"raw_evidence_sha256": "72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814",
|
||||
"sanitized_output_sha256": "72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814",
|
||||
"output_truncated_in_json": false,
|
||||
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
||||
"output": "validation=PASS\nAUTHORITATIVE_PREVIOUS=CLUSTER-REFERENCE-PUBLISHER-GIT-HISTORY-RECOVERY-182:OK\nPREVIOUS_REJECTION=INVALID_COMPONENT\nPREVIOUS_PAYLOAD_EXECUTED=NO\nMODE_CONFIRMED=change\n=== COMPONENT_VALIDATION_SOURCE ===\n#!/usr/bin/env bash\nset -Eeuo pipefail\numask 077\n\nusage() {\n cat >&2 <<'USAGE'\nUsage:\n homelab-chat-run COMMAND_ID MODE COMPONENT -- command [arguments...]\n\nMODE:\n read-only\n verify\n change\n transport-test\n\nEnvironment:\n HOMELAB_ALLOW_REPEAT=1 Allow exact repeat of a previously failed command.\n HOMELAB_TIMEOUT=SECONDS Optional command timeout.\nUSAGE\n exit 64\n}\n\n[ \"$#\" -ge 5 ] || usage\n\nCOMMAND_ID=\"$1\"\nMODE=\"$2\"\nCOMPONENT=\"$3\"\nshift 3\n\n[ \"${1:-}\" = '--' ] || usage\nshift\n[ \"$#\" -ge 1 ] || usage\n\ncase \"$COMMAND_ID\" in\n ''|*[!A-Za-z0-9._-]*)\n echo 'RESULT=FAIL'\n echo 'REASON=INVALID_COMMAND_ID'\n exit 65\n ;;\nesac\n\ncase \"$COMPONENT\" in\n ''|*[!A-Za-z0-9._-]*)\n echo 'RESULT=FAIL'\n echo 'REASON=INVALID_COMPONENT'\n exit 66\n ;;\nesac\n\ncase \"$MODE\" in\n read-only|verify|change|transport-test)\n ;;\n *)\n echo 'RESULT=FAIL'\n echo 'REASON=INVALID_MODE'\n exit 67\n ;;\nesac\n\nfor TOOL in \\\n awk \\\n curl \\\n flock \\\n python3 \\\n scp \\\n=== USAGE_SOURCE ===\n7:Usage:\nREFERENCE_CHECK=OK\nERROR_REGISTER_CHECK=OK\nSECRET_PRINTED=NO\nPRIVATE_ADDRESS_PRINTED=NO\nRUNNER_COMPONENT_AUDIT=COMPLETE\n"
|
||||
"output": "validation=PASS\nPREVIOUS_RESULT_190=OK\n"
|
||||
}
|
||||
|
||||
+9
-85
@@ -1,102 +1,26 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=CLUSTER-REFERENCE-RUNNER-COMPONENT-AUDIT-190
|
||||
STATUS=OK
|
||||
RC=0
|
||||
COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191
|
||||
STATUS=FAIL
|
||||
RC=1
|
||||
HOST=pve01
|
||||
MODE=read-only
|
||||
MODE=change
|
||||
COMPONENT=cluster-audit
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||
COMMAND_SHA256=2c58a67f72680af3ac4b0b98fdc27f29c9fc2595425de099c209563f3d68fcce
|
||||
COMMAND_SHA256=cfef5ce60e9f66d9d9ebeb7521a0a78f38060e1be92394ec1513db4ae1ad8b90
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGES_MADE=false
|
||||
CHANGES_MADE=true
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713
|
||||
SANITIZED_OUTPUT_SHA256=50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713
|
||||
RAW_EVIDENCE_SHA256=72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814
|
||||
SANITIZED_OUTPUT_SHA256=72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814
|
||||
OUTPUT_BEGIN
|
||||
validation=PASS
|
||||
AUTHORITATIVE_PREVIOUS=CLUSTER-REFERENCE-PUBLISHER-GIT-HISTORY-RECOVERY-182:OK
|
||||
PREVIOUS_REJECTION=INVALID_COMPONENT
|
||||
PREVIOUS_PAYLOAD_EXECUTED=NO
|
||||
MODE_CONFIRMED=change
|
||||
=== COMPONENT_VALIDATION_SOURCE ===
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
umask 077
|
||||
|
||||
usage() {
|
||||
cat >&2 <<'USAGE'
|
||||
Usage:
|
||||
homelab-chat-run COMMAND_ID MODE COMPONENT -- command [arguments...]
|
||||
|
||||
MODE:
|
||||
read-only
|
||||
verify
|
||||
change
|
||||
transport-test
|
||||
|
||||
Environment:
|
||||
HOMELAB_ALLOW_REPEAT=1 Allow exact repeat of a previously failed command.
|
||||
HOMELAB_TIMEOUT=SECONDS Optional command timeout.
|
||||
USAGE
|
||||
exit 64
|
||||
}
|
||||
|
||||
[ "$#" -ge 5 ] || usage
|
||||
|
||||
COMMAND_ID="$1"
|
||||
MODE="$2"
|
||||
COMPONENT="$3"
|
||||
shift 3
|
||||
|
||||
[ "${1:-}" = '--' ] || usage
|
||||
shift
|
||||
[ "$#" -ge 1 ] || usage
|
||||
|
||||
case "$COMMAND_ID" in
|
||||
''|*[!A-Za-z0-9._-]*)
|
||||
echo 'RESULT=FAIL'
|
||||
echo 'REASON=INVALID_COMMAND_ID'
|
||||
exit 65
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$COMPONENT" in
|
||||
''|*[!A-Za-z0-9._-]*)
|
||||
echo 'RESULT=FAIL'
|
||||
echo 'REASON=INVALID_COMPONENT'
|
||||
exit 66
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$MODE" in
|
||||
read-only|verify|change|transport-test)
|
||||
;;
|
||||
*)
|
||||
echo 'RESULT=FAIL'
|
||||
echo 'REASON=INVALID_MODE'
|
||||
exit 67
|
||||
;;
|
||||
esac
|
||||
|
||||
for TOOL in \
|
||||
awk \
|
||||
curl \
|
||||
flock \
|
||||
python3 \
|
||||
scp \
|
||||
=== USAGE_SOURCE ===
|
||||
7:Usage:
|
||||
REFERENCE_CHECK=OK
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
SECRET_PRINTED=NO
|
||||
PRIVATE_ADDRESS_PRINTED=NO
|
||||
RUNNER_COMPONENT_AUDIT=COMPLETE
|
||||
PREVIOUS_RESULT_190=OK
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
|
||||
Reference in New Issue
Block a user