1
0

runtime: publish GITEA-READER-NGINX-ACTIVE-CONFIG-262

This commit is contained in:
homelab-runtime-publisher
2026-07-22 20:30:28 +00:00
parent 385a25b904
commit caae6d9541
4 changed files with 75 additions and 247 deletions
@@ -0,0 +1,30 @@
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "GITEA-READER-NGINX-ACTIVE-CONFIG-262",
"status": "FAIL",
"rc": 127,
"host": "pve01",
"mode": "change",
"component": "cluster-admin",
"started_at_utc": "2026-07-22T20:30:28Z",
"finished_at_utc": "2026-07-22T20:30:28Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752",
"command_sha256": "f3d6b54702586dad0346e8f99db8262a7140ad24721c057478192c44f174dc6a",
"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": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"sanitized_output_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": ""
}
@@ -0,0 +1,24 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=GITEA-READER-NGINX-ACTIVE-CONFIG-262
STATUS=FAIL
RC=127
HOST=pve01
MODE=change
COMPONENT=cluster-admin
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
COMMAND_SHA256=f3d6b54702586dad0346e8f99db8262a7140ad24721c057478192c44f174dc6a
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGES_MADE=true
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SANITIZED_OUTPUT_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
OUTPUT_BEGIN
OUTPUT_END
CHAT_OUTPUT_END
+12 -12
View File
File diff suppressed because one or more lines are too long
+9 -235
View File
@@ -1,250 +1,24 @@
CHAT_OUTPUT_BEGIN CHAT_OUTPUT_BEGIN
COMMAND_ID=RUNNER-FAILURE-DIAGNOSTIC-HOOK-DISCOVERY-261 COMMAND_ID=GITEA-READER-NGINX-ACTIVE-CONFIG-262
STATUS=OK STATUS=FAIL
RC=0 RC=127
HOST=pve01 HOST=pve01
MODE=read-only MODE=change
COMPONENT=cluster-audit COMPONENT=cluster-admin
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=352caa763388abe52f7800d70b48b752023cd8e19277127fb3ac421823680210 COMMAND_SHA256=f3d6b54702586dad0346e8f99db8262a7140ad24721c057478192c44f174dc6a
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=0eadf0475d642be592cd8964c1aec57e12fc87ff0d41844e9f4b13fc910a78a3 RAW_EVIDENCE_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SANITIZED_OUTPUT_SHA256=bf8edda14ec575719275d87ab74aa3e5212762dff54939003287742c89cc8866 SANITIZED_OUTPUT_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
OUTPUT_BEGIN OUTPUT_BEGIN
PREVIOUS_COMMAND_ID=GITEA-READER-NGINX-APPLY-FAILURE-260
=== RESULT_BUILD_AND_PUBLICATION ===
25:COMMAND_ID="$1"
66: sha256sum \
119:REFERENCE_SHA256="$(sha256sum "$REFERENCE" | awk '{print $1}')"
120:ERROR_REGISTER_SHA256="$(sha256sum "$ERROR_REGISTER" | awk '{print $1}')"
128: sha256sum |
132:PREVIOUS_FAILED_RC="$(
161: RC=73
162: STATUS='BLOCKED'
167: echo "PREVIOUS_RC=$PREVIOUS_FAILED_RC"
189: RC=$?
192: RC=$?
198: STATUS='OK'
200: STATUS='FAIL'
205:RAW_SHA256="$(sha256sum "$RAW_FILE" | awk '{print $1}')"
310: sha256sum "$SANITIZED_FILE" |
353: sanitized_sha,
389: "reference_sha256": reference_sha,
391: "error_register_sha256": error_sha,
392: "command_sha256": command_sha,
397: "sanitized": True,
401: "raw_evidence_sha256": raw_sha,
402: "sanitized_output_sha256": sanitized_sha,
404: "full_sanitized_output_url": (
423: echo 'CHAT_OUTPUT_BEGIN'
424: echo "COMMAND_ID=$COMMAND_ID"
425: echo "STATUS=$STATUS"
426: echo "RC=$RC"
443: echo 'OUTPUT_BEGIN'
446: echo 'OUTPUT_END'
447: echo 'CHAT_OUTPUT_END'
519: echo "COMMAND_ID=$COMMAND_ID"
520: echo "LOCAL_RAW_FILE=$RAW_FILE"
534:echo "COMMAND_ID=$COMMAND_ID"
535:echo "STATUS=$STATUS"
536:echo "RC=$RC"
542:echo "LOCAL_RAW_FILE=$RAW_FILE"
=== RELEVANT_SOURCE_BLOCKS ===
----- LINES 403-458 -----
"output_truncated_in_json": output_truncated,
"full_sanitized_output_url": (
"https://git.gram1.ru/.well-known/"
"homelab-runtime/latest.txt"
),
"output": output_preview,
}
Path(json_path).write_text(
json.dumps(
document,
ensure_ascii=False,
indent=2,
)
+ "\n",
encoding="utf-8",
)
PY
{
echo 'CHAT_OUTPUT_BEGIN'
echo "COMMAND_ID=$COMMAND_ID"
echo "STATUS=$STATUS"
echo "RC=$RC"
echo "HOST=$HOST_SHORT"
echo "MODE=$MODE"
echo "COMPONENT=$COMPONENT"
echo 'REFERENCE_REGISTER_CHECK=OK'
echo "REFERENCE_SHA256=$REFERENCE_SHA256"
echo 'ERROR_REGISTER_CHECK=OK'
echo "ERROR_REGISTER_SHA256=$ERROR_REGISTER_SHA256"
echo "COMMAND_SHA256=$COMMAND_SHA256"
echo "DUPLICATE_FAILED_COMMAND_BLOCKED=$REPEAT_BLOCKED"
echo "EXECUTION_STARTED=$RUN_STARTED"
echo "CHANGES_MADE=$CHANGES_MADE"
echo 'SANITIZED=yes'
echo 'SECRETS_INCLUDED=no'
echo 'PRIVATE_ADDRESSES_INCLUDED=no'
echo "RAW_EVIDENCE_SHA256=$RAW_SHA256"
echo "SANITIZED_OUTPUT_SHA256=$SANITIZED_SHA256"
echo 'OUTPUT_BEGIN'
cat "$SANITIZED_FILE"
echo
echo 'OUTPUT_END'
echo 'CHAT_OUTPUT_END'
} >"$TXT_FILE"
chmod 0600 \
"$RAW_FILE" \
"$SANITIZED_FILE" \
"$JSON_FILE" \
"$TXT_FILE"
TARGET=debian@[PRIVATE_IP]
REMOTE_PREFIX="/tmp/homelab-runtime-${COMMAND_ID}-$$"
----- LINES 423-478 -----
echo 'CHAT_OUTPUT_BEGIN'
echo "COMMAND_ID=$COMMAND_ID"
echo "STATUS=$STATUS"
echo "RC=$RC"
echo "HOST=$HOST_SHORT"
echo "MODE=$MODE"
echo "COMPONENT=$COMPONENT"
echo 'REFERENCE_REGISTER_CHECK=OK'
echo "REFERENCE_SHA256=$REFERENCE_SHA256"
echo 'ERROR_REGISTER_CHECK=OK'
echo "ERROR_REGISTER_SHA256=$ERROR_REGISTER_SHA256"
echo "COMMAND_SHA256=$COMMAND_SHA256"
echo "DUPLICATE_FAILED_COMMAND_BLOCKED=$REPEAT_BLOCKED"
echo "EXECUTION_STARTED=$RUN_STARTED"
echo "CHANGES_MADE=$CHANGES_MADE"
echo 'SANITIZED=yes'
echo 'SECRETS_INCLUDED=no'
echo 'PRIVATE_ADDRESSES_INCLUDED=no'
echo "RAW_EVIDENCE_SHA256=$RAW_SHA256"
echo "SANITIZED_OUTPUT_SHA256=$SANITIZED_SHA256"
echo 'OUTPUT_BEGIN'
cat "$SANITIZED_FILE"
echo
echo 'OUTPUT_END'
echo 'CHAT_OUTPUT_END'
} >"$TXT_FILE"
chmod 0600 \
"$RAW_FILE" \
"$SANITIZED_FILE" \
"$JSON_FILE" \
"$TXT_FILE"
TARGET=debian@[PRIVATE_IP]
REMOTE_PREFIX="/tmp/homelab-runtime-${COMMAND_ID}-$$"
SSH_OPTS=(
-o BatchMode=yes
-o ConnectTimeout=10
-o ConnectionAttempts=1
-o StrictHostKeyChecking=yes
-o UserKnownHostsFile=[SENSITIVE_PATH]
)
scp \
-q \
"${SSH_OPTS[@]}" \
"$JSON_FILE" \
"${TARGET}:${REMOTE_PREFIX}.json"
scp \
-q \
"${SSH_OPTS[@]}" \
"$TXT_FILE" \
"${TARGET}:${REMOTE_PREFIX}.txt"
----- LINES 500-555 -----
CONTENT="$(
curl -fsS \
--max-time 15 \
"$PUBLIC_URL" 2>/dev/null ||
true
)"
if printf '%s\n' "$CONTENT" |
grep -Fq "\"command_id\": \"$COMMAND_ID\""; then
PUBLIC_VISIBLE=true
break
fi
sleep 2
done
if [ "$PUBLIC_VISIBLE" != true ]; then
echo 'RESULT=FAIL'
echo 'REASON=PUBLIC_RUNTIME_RESULT_NOT_VISIBLE'
echo "COMMAND_ID=$COMMAND_ID"
echo "LOCAL_RAW_FILE=$RAW_FILE"
exit 75
fi
printf '%s\t%s\t%s\t%s\t%s\t%s\n' \
"$FINISHED_AT" \
"$COMMAND_ID" \
"$COMMAND_SHA256" \
"$RC" \
"$STATUS" \
"$COMPONENT" >>"$LEDGER"
echo
echo '===== HOMELAB CHAT RUN COMPLETE ====='
echo "COMMAND_ID=$COMMAND_ID"
echo "STATUS=$STATUS"
echo "RC=$RC"
echo 'REFERENCE_REGISTER_CHECK=OK'
echo 'ERROR_REGISTER_CHECK=OK'
echo "DUPLICATE_FAILED_COMMAND_BLOCKED=$REPEAT_BLOCKED"
echo 'GITEA_PUBLICATION=OK'
echo "PUBLIC_URL=$PUBLIC_URL"
echo "LOCAL_RAW_FILE=$RAW_FILE"
echo 'SHELL_SESSION_PRESERVED=yes'
exit "$RC"
----- LINES 522-577 -----
fi
printf '%s\t%s\t%s\t%s\t%s\t%s\n' \
"$FINISHED_AT" \
"$COMMAND_ID" \
"$COMMAND_SHA256" \
"$RC" \
"$STATUS" \
"$COMPONENT" >>"$LEDGER"
echo
echo '===== HOMELAB CHAT RUN COMPLETE ====='
echo "COMMAND_ID=$COMMAND_ID"
echo "STATUS=$STATUS"
echo "RC=$RC"
echo 'REFERENCE_REGISTER_CHECK=OK'
echo 'ERROR_REGISTER_CHECK=OK'
echo "DUPLICATE_FAILED_COMMAND_BLOCKED=$REPEAT_BLOCKED"
echo 'GITEA_PUBLICATION=OK'
echo "PUBLIC_URL=$PUBLIC_URL"
echo "LOCAL_RAW_FILE=$RAW_FILE"
echo 'SHELL_SESSION_PRESERVED=yes'
exit "$RC"
CHANGES_MADE=NO
OUTPUT_END OUTPUT_END
CHAT_OUTPUT_END CHAT_OUTPUT_END