runtime: publish GITEA-READER-NGINX-ACTIVE-CONFIG-262
This commit is contained in:
@@ -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
File diff suppressed because one or more lines are too long
+9
-235
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user