runtime: publish RUNNER-FAILURE-DIAGNOSTIC-HOOK-DISCOVERY-261
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,250 @@
|
|||||||
|
CHAT_OUTPUT_BEGIN
|
||||||
|
COMMAND_ID=RUNNER-FAILURE-DIAGNOSTIC-HOOK-DISCOVERY-261
|
||||||
|
STATUS=OK
|
||||||
|
RC=0
|
||||||
|
HOST=pve01
|
||||||
|
MODE=read-only
|
||||||
|
COMPONENT=cluster-audit
|
||||||
|
REFERENCE_REGISTER_CHECK=OK
|
||||||
|
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
|
||||||
|
ERROR_REGISTER_CHECK=OK
|
||||||
|
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
|
||||||
|
COMMAND_SHA256=352caa763388abe52f7800d70b48b752023cd8e19277127fb3ac421823680210
|
||||||
|
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||||
|
EXECUTION_STARTED=true
|
||||||
|
CHANGES_MADE=false
|
||||||
|
SANITIZED=yes
|
||||||
|
SECRETS_INCLUDED=no
|
||||||
|
PRIVATE_ADDRESSES_INCLUDED=no
|
||||||
|
RAW_EVIDENCE_SHA256=0eadf0475d642be592cd8964c1aec57e12fc87ff0d41844e9f4b13fc910a78a3
|
||||||
|
SANITIZED_OUTPUT_SHA256=bf8edda14ec575719275d87ab74aa3e5212762dff54939003287742c89cc8866
|
||||||
|
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
|
||||||
|
CHAT_OUTPUT_END
|
||||||
+7
-7
File diff suppressed because one or more lines are too long
+228
-24
@@ -1,5 +1,5 @@
|
|||||||
CHAT_OUTPUT_BEGIN
|
CHAT_OUTPUT_BEGIN
|
||||||
COMMAND_ID=GITEA-READER-NGINX-APPLY-FAILURE-260
|
COMMAND_ID=RUNNER-FAILURE-DIAGNOSTIC-HOOK-DISCOVERY-261
|
||||||
STATUS=OK
|
STATUS=OK
|
||||||
RC=0
|
RC=0
|
||||||
HOST=pve01
|
HOST=pve01
|
||||||
@@ -9,37 +9,241 @@ 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=c338db3c4b88501c7100746a6fc233f0975f695940bc3f2598425c56302599d5
|
COMMAND_SHA256=352caa763388abe52f7800d70b48b752023cd8e19277127fb3ac421823680210
|
||||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||||
EXECUTION_STARTED=true
|
EXECUTION_STARTED=true
|
||||||
CHANGES_MADE=false
|
CHANGES_MADE=false
|
||||||
SANITIZED=yes
|
SANITIZED=yes
|
||||||
SECRETS_INCLUDED=no
|
SECRETS_INCLUDED=no
|
||||||
PRIVATE_ADDRESSES_INCLUDED=no
|
PRIVATE_ADDRESSES_INCLUDED=no
|
||||||
RAW_EVIDENCE_SHA256=e0adbd212321166916b28796a51aae339dda52d316725013d198ffd3847fc9d5
|
RAW_EVIDENCE_SHA256=0eadf0475d642be592cd8964c1aec57e12fc87ff0d41844e9f4b13fc910a78a3
|
||||||
SANITIZED_OUTPUT_SHA256=e0adbd212321166916b28796a51aae339dda52d316725013d198ffd3847fc9d5
|
SANITIZED_OUTPUT_SHA256=bf8edda14ec575719275d87ab74aa3e5212762dff54939003287742c89cc8866
|
||||||
OUTPUT_BEGIN
|
OUTPUT_BEGIN
|
||||||
PREVIOUS_COMMAND_ID=GITEA-READER-NGINX-APPLY-FROM-256-259
|
PREVIOUS_COMMAND_ID=GITEA-READER-NGINX-APPLY-FAILURE-260
|
||||||
=== RAW_LOG_259 ===
|
=== RESULT_BUILD_AND_PUBLICATION ===
|
||||||
UNSUPPORTED_DECISION=
|
25:COMMAND_ID="$1"
|
||||||
SOURCE_DECISION=
|
66: sha256sum \
|
||||||
=== ERROR_LINES ===
|
119:REFERENCE_SHA256="$(sha256sum "$REFERENCE" | awk '{print $1}')"
|
||||||
1:UNSUPPORTED_DECISION=
|
120:ERROR_REGISTER_SHA256="$(sha256sum "$ERROR_REGISTER" | awk '{print $1}')"
|
||||||
2:SOURCE_DECISION=
|
128: sha256sum |
|
||||||
=== READER_V3 ===
|
132:PREVIOUS_FAILED_RC="$(
|
||||||
Result=success
|
161: RC=73
|
||||||
ExecMainStatus=0
|
162: STATUS='BLOCKED'
|
||||||
LoadState=loaded
|
167: echo "PREVIOUS_RC=$PREVIOUS_FAILED_RC"
|
||||||
ActiveState=active
|
189: RC=$?
|
||||||
SubState=running
|
192: RC=$?
|
||||||
LISTEN 0 5 127.0.0.1:18788 0.0.0.0:* users:(("python3",pid=2649737,fd=3))
|
198: STATUS='OK'
|
||||||
{"status":"ok","version":3}
|
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,
|
||||||
|
}
|
||||||
|
|
||||||
LOCAL_HTTP_CODE=200
|
Path(json_path).write_text(
|
||||||
=== NGINX_STATE ===
|
json.dumps(
|
||||||
/usr/bin/bash: line 1: /usr/sbin/nginx: No such file or directory
|
document,
|
||||||
=== HTTPS_ROUTE ===
|
ensure_ascii=False,
|
||||||
curl: (7) Failed to connect to git.gram1.ru port 443 after 0 ms: Could not connect to server
|
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
|
CHANGES_MADE=NO
|
||||||
|
|
||||||
OUTPUT_END
|
OUTPUT_END
|
||||||
|
|||||||
Reference in New Issue
Block a user