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,
|
"schema_version": 1,
|
||||||
"channel": "homelab-runtime",
|
"channel": "homelab-runtime",
|
||||||
"command_id": "CLUSTER-REFERENCE-RUNNER-COMPONENT-AUDIT-190",
|
"command_id": "CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191",
|
||||||
"status": "OK",
|
"status": "FAIL",
|
||||||
"rc": 0,
|
"rc": 1,
|
||||||
"host": "pve01",
|
"host": "pve01",
|
||||||
"mode": "read-only",
|
"mode": "change",
|
||||||
"component": "cluster-audit",
|
"component": "cluster-audit",
|
||||||
"started_at_utc": "2026-07-22T12:28:26Z",
|
"started_at_utc": "2026-07-22T12:32:35Z",
|
||||||
"finished_at_utc": "2026-07-22T12:28:26Z",
|
"finished_at_utc": "2026-07-22T12:32:35Z",
|
||||||
"reference_register_checked": true,
|
"reference_register_checked": true,
|
||||||
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
|
||||||
"error_register_checked": true,
|
"error_register_checked": true,
|
||||||
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
|
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
|
||||||
"command_sha256": "2c58a67f72680af3ac4b0b98fdc27f29c9fc2595425de099c209563f3d68fcce",
|
"command_sha256": "cfef5ce60e9f66d9d9ebeb7521a0a78f38060e1be92394ec1513db4ae1ad8b90",
|
||||||
"duplicate_failed_command_blocked": false,
|
"duplicate_failed_command_blocked": false,
|
||||||
"block_reason": null,
|
"block_reason": null,
|
||||||
"execution_started": true,
|
"execution_started": true,
|
||||||
"changes_made": false,
|
"changes_made": true,
|
||||||
"sanitized": true,
|
"sanitized": true,
|
||||||
"secrets_included": false,
|
"secrets_included": false,
|
||||||
"private_addresses_included": false,
|
"private_addresses_included": false,
|
||||||
"raw_evidence_retained_locally": true,
|
"raw_evidence_retained_locally": true,
|
||||||
"raw_evidence_sha256": "50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713",
|
"raw_evidence_sha256": "72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814",
|
||||||
"sanitized_output_sha256": "50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713",
|
"sanitized_output_sha256": "72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814",
|
||||||
"output_truncated_in_json": false,
|
"output_truncated_in_json": false,
|
||||||
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
"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
|
CHAT_OUTPUT_BEGIN
|
||||||
COMMAND_ID=CLUSTER-REFERENCE-RUNNER-COMPONENT-AUDIT-190
|
COMMAND_ID=CLUSTER-REFERENCE-PUBLISHER-INSTALL-VERIFY-191
|
||||||
STATUS=OK
|
STATUS=FAIL
|
||||||
RC=0
|
RC=1
|
||||||
HOST=pve01
|
HOST=pve01
|
||||||
MODE=read-only
|
MODE=change
|
||||||
COMPONENT=cluster-audit
|
COMPONENT=cluster-audit
|
||||||
REFERENCE_REGISTER_CHECK=OK
|
REFERENCE_REGISTER_CHECK=OK
|
||||||
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||||
ERROR_REGISTER_CHECK=OK
|
ERROR_REGISTER_CHECK=OK
|
||||||
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||||
COMMAND_SHA256=2c58a67f72680af3ac4b0b98fdc27f29c9fc2595425de099c209563f3d68fcce
|
COMMAND_SHA256=cfef5ce60e9f66d9d9ebeb7521a0a78f38060e1be92394ec1513db4ae1ad8b90
|
||||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||||
EXECUTION_STARTED=true
|
EXECUTION_STARTED=true
|
||||||
CHANGES_MADE=false
|
CHANGES_MADE=true
|
||||||
SANITIZED=yes
|
SANITIZED=yes
|
||||||
SECRETS_INCLUDED=no
|
SECRETS_INCLUDED=no
|
||||||
PRIVATE_ADDRESSES_INCLUDED=no
|
PRIVATE_ADDRESSES_INCLUDED=no
|
||||||
RAW_EVIDENCE_SHA256=50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713
|
RAW_EVIDENCE_SHA256=72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814
|
||||||
SANITIZED_OUTPUT_SHA256=50c5288fafe435b80b8e9de4846b79a183a0c833a6bf62f029861c02cbf5e713
|
SANITIZED_OUTPUT_SHA256=72b818cad1d56aa6c49ebc71f160b4f3e6c355a48713d380f1be6cb058515814
|
||||||
OUTPUT_BEGIN
|
OUTPUT_BEGIN
|
||||||
validation=PASS
|
validation=PASS
|
||||||
AUTHORITATIVE_PREVIOUS=CLUSTER-REFERENCE-PUBLISHER-GIT-HISTORY-RECOVERY-182:OK
|
PREVIOUS_RESULT_190=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
|
|
||||||
|
|
||||||
OUTPUT_END
|
OUTPUT_END
|
||||||
CHAT_OUTPUT_END
|
CHAT_OUTPUT_END
|
||||||
|
|||||||
Reference in New Issue
Block a user