runtime: publish SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"channel": "homelab-runtime",
|
||||
"command_id": "SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1",
|
||||
"status": "OK",
|
||||
"rc": 0,
|
||||
"host": "pve01",
|
||||
"mode": "read-only",
|
||||
"component": "infra-dr-backupv2-control-backup-logic",
|
||||
"started_at_utc": "2026-09-11T23:33:29Z",
|
||||
"finished_at_utc": "2026-09-11T23:33:29Z",
|
||||
"reference_register_checked": true,
|
||||
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
|
||||
"error_register_checked": true,
|
||||
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
|
||||
"command_sha256": "2c1d227e011446eb686ecf97218c70c89f651616f45b4bb3e68f32bba3533ace",
|
||||
"duplicate_failed_command_blocked": false,
|
||||
"block_reason": null,
|
||||
"execution_started": true,
|
||||
"change_declared": false,
|
||||
"result_contract_valid": true,
|
||||
"result_contract_status": null,
|
||||
"result_contract_error": null,
|
||||
"command_rc": 0,
|
||||
"changes_made": false,
|
||||
"rollback_started": false,
|
||||
"rollback_restored": null,
|
||||
"mutation_outcome": "NO_MUTATION",
|
||||
"sanitized": true,
|
||||
"secrets_included": false,
|
||||
"private_addresses_included": false,
|
||||
"raw_evidence_retained_locally": true,
|
||||
"raw_evidence_sha256": "4be463d9015eac40cac32a68aa1b48e571e45d59f953244a55f8eba2d6e159cb",
|
||||
"sanitized_output_sha256": "f367fb4787ad044b2e839dc8ca1d49f1687c27df5a650940aeacd85661a27130",
|
||||
"output_truncated_in_json": false,
|
||||
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
||||
"output": "LOGIC255_BEGIN\nCOMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1\nMODE=READ_ONLY_LOCAL_SOURCE_LOGIC\nCLOUD_CALLS_BY_255=0\nRCLONE_COMMANDS_EXECUTED_BY_255=0\nERROR_REGISTER_CHECK=READ\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=READ\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_FRESH_READ=OK\nTARGET_PATH=/usr/local/sbin/homelab-control-backup\nTARGET_SHA256=0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57\nTARGET_SHA_MATCH=YES\nUNIT_PATH=/etc/systemd/system/homelab-control-backup.service\nUNIT_SHA256=428d3e1f3042c3347b7c34b6f190e44fa35f7a97264eec3974239f581c9b9250\nUNIT_SHA_MATCH=YES\nTARGET_LINE_COUNT=150\nFUNCTION_COUNT=0\nSOURCE_SKELETON_BEGIN\nSRC_LINE_001=#!/usr/bin/env bash\nSRC_LINE_002=set -Eeuo pipefail\nSRC_LINE_003=umask 077\nSRC_LINE_004=LOGICAL_ID=control-bootstrap-v2\nSRC_LINE_005=DUE_SECONDS=43200\nSRC_LINE_006=SLA_SECONDS=86400\nSRC_LINE_007=STATE_ROOT=<LONG_TOKEN_REDACTED>\nSRC_LINE_008=STATE_DIR=$STATE_ROOT/$LOGICAL_ID\nSRC_LINE_009=EVIDENCE_ROOT=<LONG_TOKEN_REDACTED>\nSRC_LINE_010=HEALTH=<LONG_TOKEN_REDACTED>.json\nSRC_LINE_011=STAGE_ROOT=<LONG_TOKEN_REDACTED>\nSRC_LINE_012=VERIFY_ROOT=<LONG_TOKEN_REDACTED>\nSRC_LINE_013=LOCK=<LONG_TOKEN_REDACTED>.lock\nSRC_LINE_014=HEAVY_LOCK=/run/homelab-backup-heavy.lock\nSRC_LINE_015=RCLONE_CONFIG_SOURCE=${RCLONE_CONFIG:-/root/.config/rclone/[SENSITIVE_FILE]}\nSRC_LINE_016=TRANSPORT=<LONG_TOKEN_REDACTED>\nSRC_LINE_017=TRANSPORT_SHA=<LONG_TOKEN_REDACTED>\nSRC_LINE_018=BUILDER=<LONG_TOKEN_REDACTED>\nSRC_LINE_019=BUILDER_SHA=<LONG_TOKEN_REDACTED>\nSRC_LINE_020=REMOTE_A=pve01-mail-01-crypt:homelab-backups\nSRC_LINE_021=REMOTE_B=pve01-mail-02-crypt:homelab-backups\nSRC_LINE_022=CLOUD_WRITE_MARKER=${<LONG_TOKEN_REDACTED>:-}\nSRC_LINE_023=\nSRC_LINE_024=die(){ printf 'CONTROL_BACKUP_ERROR=%s<LF>' \"$1\" >&2; exit \"${2:-65}\"; }\nSRC_LINE_025=for c in jq date find sort tail cut sha256sum stat flock rclone mktemp cmp awk mkdir rm install xargs grep cat mv chmod; do command -v \"$c\" >/dev/null || die \"TOOL_MISSING_$c\" 69; done\nSRC_LINE_026=[[ -x \"$TRANSPORT\" && ! -L \"$TRANSPORT\" ]] || die TRANSPORT_UNSAFE 69\nSRC_LINE_027=[[ \"$(sha256sum \"$TRANSPORT\"|awk '{print $1}')\" == \"$TRANSPORT_SHA\" ]] || die TRANSPORT_SHA_DRIFT 65\nSRC_LINE_028=[[ -x \"$BUILDER\" && ! -L \"$BUILDER\" ]] || die BUILDER_UNSAFE 69\nSRC_LINE_029=[[ \"$(sha256sum \"$BUILDER\"|awk '{print $1}')\" == \"$BUILDER_SHA\" ]] || die BUILDER_SHA_DRIFT 65\nSRC_LINE_030=\nSOURCE_SKELETON_END\nSOURCE_REDACTED_LINE_COUNT=0\nFIXED_REMOTE_PVE01_MAIL_01_CRYPT_LINES=20\nFIXED_REMOTE_PVE01_MAIL_02_CRYPT_LINES=21\nMARKER_RCLONE_LINES=15,25,66,67,68,74,79,94\nMARKER_SEALED_LINES=43,46,92,114,129,142\nMARKER_VERIFY_SEALED_LINES=92\nMARKER_BACKUP_DELETE_LINES=129,139\nMARKER_LOCAL_CLEANUP_LINES=NONE\nMARKER_RUN_BACKUP_LINES=109,146,147\nMARKER_VERIFY_GENERATION_LINES=87,120,129,141,148\nMARKER_CLEANUP_VERIFY_LINES=95,106\nMARKER_RECONSTRUCT_LINES=70,97,103\nMARKER_SPLIT_LINES=NONE\nMARKER_536870912_LINES=NONE\nMARKER_512M_LINES=NONE\nMARKER_PART_LINES=71,72,73,74,78,79,80,81,82\nUNIT_LINE_COUNT=16\nUNIT_SKELETON_BEGIN\nUNIT_LINE_001=[Unit]\nUNIT_LINE_002=Description=Homelab recurring CONTROL cloud quorum backup\nUNIT_LINE_003=After=network-online.target\nUNIT_LINE_004=Wants=network-online.target\nUNIT_LINE_005=ConditionPathExists=<LONG_TOKEN_REDACTED>\nUNIT_LINE_006=ConditionPathExists=<LONG_TOKEN_REDACTED>\nUNIT_LINE_007=\nUNIT_LINE_008=[Service]\nUNIT_LINE_009=Type=oneshot\nUNIT_LINE_010=ExecStart=<LONG_TOKEN_REDACTED> run\nUNIT_LINE_011=User=root\nUNIT_LINE_012=Group=root\nUNIT_LINE_013=UMask=0077\nUNIT_LINE_014=Nice=10\nUNIT_LINE_015=IOSchedulingClass=best-effort\nUNIT_LINE_016=IOSchedulingPriority=7\nUNIT_SKELETON_END\nUNIT_REDACTED_LINE_COUNT=0\nFILES_WRITTEN_BY_PAYLOAD=0\nSYSTEMD_MUTATIONS_BY_255=0\nLOGIC255_READY_FOR_MINIMAL_PATCH=YES\nLOGIC255_END\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
MODE=read-only
|
||||
COMPONENT=infra-dr-backupv2-control-backup-logic
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
COMMAND_SHA256=2c1d227e011446eb686ecf97218c70c89f651616f45b4bb3e68f32bba3533ace
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGE_DECLARED=false
|
||||
RESULT_CONTRACT_VALID=true
|
||||
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
|
||||
RESULT_CONTRACT_ERROR=NONE
|
||||
COMMAND_RC=0
|
||||
CHANGES_MADE=false
|
||||
ROLLBACK_STARTED=false
|
||||
ROLLBACK_RESTORED=null
|
||||
MUTATION_OUTCOME=NO_MUTATION
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=4be463d9015eac40cac32a68aa1b48e571e45d59f953244a55f8eba2d6e159cb
|
||||
SANITIZED_OUTPUT_SHA256=f367fb4787ad044b2e839dc8ca1d49f1687c27df5a650940aeacd85661a27130
|
||||
OUTPUT_BEGIN
|
||||
LOGIC255_BEGIN
|
||||
COMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1
|
||||
MODE=READ_ONLY_LOCAL_SOURCE_LOGIC
|
||||
CLOUD_CALLS_BY_255=0
|
||||
RCLONE_COMMANDS_EXECUTED_BY_255=0
|
||||
ERROR_REGISTER_CHECK=READ
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
REFERENCE_CHECK=READ
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
AUTHORITY_FRESH_READ=OK
|
||||
TARGET_PATH=/usr/local/sbin/homelab-control-backup
|
||||
TARGET_SHA256=0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57
|
||||
TARGET_SHA_MATCH=YES
|
||||
UNIT_PATH=/etc/systemd/system/homelab-control-backup.service
|
||||
UNIT_SHA256=428d3e1f3042c3347b7c34b6f190e44fa35f7a97264eec3974239f581c9b9250
|
||||
UNIT_SHA_MATCH=YES
|
||||
TARGET_LINE_COUNT=150
|
||||
FUNCTION_COUNT=0
|
||||
SOURCE_SKELETON_BEGIN
|
||||
SRC_LINE_001=#!/usr/bin/env bash
|
||||
SRC_LINE_002=set -Eeuo pipefail
|
||||
SRC_LINE_003=umask 077
|
||||
SRC_LINE_004=LOGICAL_ID=control-bootstrap-v2
|
||||
SRC_LINE_005=DUE_SECONDS=43200
|
||||
SRC_LINE_006=SLA_SECONDS=86400
|
||||
SRC_LINE_007=STATE_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_008=STATE_DIR=$STATE_ROOT/$LOGICAL_ID
|
||||
SRC_LINE_009=EVIDENCE_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_010=HEALTH=<LONG_TOKEN_REDACTED>.json
|
||||
SRC_LINE_011=STAGE_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_012=VERIFY_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_013=LOCK=<LONG_TOKEN_REDACTED>.lock
|
||||
SRC_LINE_014=HEAVY_LOCK=/run/homelab-backup-heavy.lock
|
||||
SRC_LINE_015=RCLONE_CONFIG_SOURCE=${RCLONE_CONFIG:-/root/.config/rclone/[SENSITIVE_FILE]}
|
||||
SRC_LINE_016=TRANSPORT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_017=TRANSPORT_SHA=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_018=BUILDER=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_019=BUILDER_SHA=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_020=REMOTE_A=pve01-mail-01-crypt:homelab-backups
|
||||
SRC_LINE_021=REMOTE_B=pve01-mail-02-crypt:homelab-backups
|
||||
SRC_LINE_022=CLOUD_WRITE_MARKER=${<LONG_TOKEN_REDACTED>:-}
|
||||
SRC_LINE_023=
|
||||
SRC_LINE_024=die(){ printf 'CONTROL_BACKUP_ERROR=%s<LF>' "$1" >&2; exit "${2:-65}"; }
|
||||
SRC_LINE_025=for c in jq date find sort tail cut sha256sum stat flock rclone mktemp cmp awk mkdir rm install xargs grep cat mv chmod; do command -v "$c" >/dev/null || die "TOOL_MISSING_$c" 69; done
|
||||
SRC_LINE_026=[[ -x "$TRANSPORT" && ! -L "$TRANSPORT" ]] || die TRANSPORT_UNSAFE 69
|
||||
SRC_LINE_027=[[ "$(sha256sum "$TRANSPORT"|awk '{print $1}')" == "$TRANSPORT_SHA" ]] || die TRANSPORT_SHA_DRIFT 65
|
||||
SRC_LINE_028=[[ -x "$BUILDER" && ! -L "$BUILDER" ]] || die BUILDER_UNSAFE 69
|
||||
SRC_LINE_029=[[ "$(sha256sum "$BUILDER"|awk '{print $1}')" == "$BUILDER_SHA" ]] || die BUILDER_SHA_DRIFT 65
|
||||
SRC_LINE_030=
|
||||
SOURCE_SKELETON_END
|
||||
SOURCE_REDACTED_LINE_COUNT=0
|
||||
FIXED_REMOTE_PVE01_MAIL_01_CRYPT_LINES=20
|
||||
FIXED_REMOTE_PVE01_MAIL_02_CRYPT_LINES=21
|
||||
MARKER_RCLONE_LINES=15,25,66,67,68,74,79,94
|
||||
MARKER_SEALED_LINES=43,46,92,114,129,142
|
||||
MARKER_VERIFY_SEALED_LINES=92
|
||||
MARKER_BACKUP_DELETE_LINES=129,139
|
||||
MARKER_LOCAL_CLEANUP_LINES=NONE
|
||||
MARKER_RUN_BACKUP_LINES=109,146,147
|
||||
MARKER_VERIFY_GENERATION_LINES=87,120,129,141,148
|
||||
MARKER_CLEANUP_VERIFY_LINES=95,106
|
||||
MARKER_RECONSTRUCT_LINES=70,97,103
|
||||
MARKER_SPLIT_LINES=NONE
|
||||
MARKER_536870912_LINES=NONE
|
||||
MARKER_512M_LINES=NONE
|
||||
MARKER_PART_LINES=71,72,73,74,78,79,80,81,82
|
||||
UNIT_LINE_COUNT=16
|
||||
UNIT_SKELETON_BEGIN
|
||||
UNIT_LINE_001=[Unit]
|
||||
UNIT_LINE_002=Description=Homelab recurring CONTROL cloud quorum backup
|
||||
UNIT_LINE_003=After=network-online.target
|
||||
UNIT_LINE_004=Wants=network-online.target
|
||||
UNIT_LINE_005=ConditionPathExists=<LONG_TOKEN_REDACTED>
|
||||
UNIT_LINE_006=ConditionPathExists=<LONG_TOKEN_REDACTED>
|
||||
UNIT_LINE_007=
|
||||
UNIT_LINE_008=[Service]
|
||||
UNIT_LINE_009=Type=oneshot
|
||||
UNIT_LINE_010=ExecStart=<LONG_TOKEN_REDACTED> run
|
||||
UNIT_LINE_011=User=root
|
||||
UNIT_LINE_012=Group=root
|
||||
UNIT_LINE_013=UMask=0077
|
||||
UNIT_LINE_014=Nice=10
|
||||
UNIT_LINE_015=IOSchedulingClass=best-effort
|
||||
UNIT_LINE_016=IOSchedulingPriority=7
|
||||
UNIT_SKELETON_END
|
||||
UNIT_REDACTED_LINE_COUNT=0
|
||||
FILES_WRITTEN_BY_PAYLOAD=0
|
||||
SYSTEMD_MUTATIONS_BY_255=0
|
||||
LOGIC255_READY_FOR_MINIMAL_PATCH=YES
|
||||
LOGIC255_END
|
||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
+8
-8
File diff suppressed because one or more lines are too long
+80
-223
@@ -1,15 +1,15 @@
|
||||
CHAT_OUTPUT_BEGIN
|
||||
COMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-STATIC-254R1
|
||||
COMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1
|
||||
STATUS=OK
|
||||
RC=0
|
||||
HOST=pve01
|
||||
MODE=read-only
|
||||
COMPONENT=infra-dr-backupv2-control-backup-static
|
||||
COMPONENT=infra-dr-backupv2-control-backup-logic
|
||||
REFERENCE_REGISTER_CHECK=OK
|
||||
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||
ERROR_REGISTER_CHECK=OK
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
COMMAND_SHA256=0d1c1e2624f3ddfc06d59a300295efe0f8010bee2dfd582760022ba3bfac16f3
|
||||
COMMAND_SHA256=2c1d227e011446eb686ecf97218c70c89f651616f45b4bb3e68f32bba3533ace
|
||||
DUPLICATE_FAILED_COMMAND_BLOCKED=false
|
||||
EXECUTION_STARTED=true
|
||||
CHANGE_DECLARED=false
|
||||
@@ -24,14 +24,14 @@ MUTATION_OUTCOME=NO_MUTATION
|
||||
SANITIZED=yes
|
||||
SECRETS_INCLUDED=no
|
||||
PRIVATE_ADDRESSES_INCLUDED=no
|
||||
RAW_EVIDENCE_SHA256=1daa06d99f984ed4228e1380fc92b69a832c3c7dd89f74d9838e95a51a875daf
|
||||
SANITIZED_OUTPUT_SHA256=1daa06d99f984ed4228e1380fc92b69a832c3c7dd89f74d9838e95a51a875daf
|
||||
RAW_EVIDENCE_SHA256=4be463d9015eac40cac32a68aa1b48e571e45d59f953244a55f8eba2d6e159cb
|
||||
SANITIZED_OUTPUT_SHA256=f367fb4787ad044b2e839dc8ca1d49f1687c27df5a650940aeacd85661a27130
|
||||
OUTPUT_BEGIN
|
||||
STATIC254_BEGIN
|
||||
COMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-STATIC-254R1
|
||||
MODE=READ_ONLY_LOCAL_STATIC_INSPECTION
|
||||
CLOUD_CALLS_BY_254=0
|
||||
RCLONE_COMMANDS_EXECUTED_BY_254=0
|
||||
LOGIC255_BEGIN
|
||||
COMMAND_ID=SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1
|
||||
MODE=READ_ONLY_LOCAL_SOURCE_LOGIC
|
||||
CLOUD_CALLS_BY_255=0
|
||||
RCLONE_COMMANDS_EXECUTED_BY_255=0
|
||||
ERROR_REGISTER_CHECK=READ
|
||||
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||
REFERENCE_CHECK=READ
|
||||
@@ -39,228 +39,85 @@ REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d6
|
||||
AUTHORITY_FRESH_READ=OK
|
||||
TARGET_PATH=/usr/local/sbin/homelab-control-backup
|
||||
TARGET_SHA256=0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57
|
||||
TARGET_EXPECTED_SHA256=0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57
|
||||
TARGET_SHA_MATCH=YES
|
||||
TARGET_SIZE=11862
|
||||
TARGET_MODE=0755
|
||||
UNIT_PATH=/etc/systemd/system/homelab-control-backup.service
|
||||
UNIT_SHA256=428d3e1f3042c3347b7c34b6f190e44fa35f7a97264eec3974239f581c9b9250
|
||||
UNIT_SHA_MATCH=YES
|
||||
TARGET_LINE_COUNT=150
|
||||
TARGET_SHEBANG_CLASS=SHELL
|
||||
FUNCTION_COUNT=7
|
||||
FUNCTION_01_NAME=latest_state
|
||||
FUNCTION_01_START_LINE=31
|
||||
FUNCTION_01_END_LINE=34
|
||||
FUNCTION_01_BODY_SHA256=bec501f7ff7546300cd64d2544a149d608e5c682ce2de15996f53d847645f797
|
||||
FUNCTION_02_NAME=state_decision
|
||||
FUNCTION_02_START_LINE=35
|
||||
FUNCTION_02_END_LINE=57
|
||||
FUNCTION_02_BODY_SHA256=50a7cb6579d12dde99f66d43b9e323a8339f96abece487e1ef8c60124419b8a2
|
||||
FUNCTION_03_NAME=mark_cloud_write
|
||||
FUNCTION_03_START_LINE=58
|
||||
FUNCTION_03_END_LINE=65
|
||||
FUNCTION_03_BODY_SHA256=780374f488da4bf93632d8a0de2db31cd351329b6c5581bf5ef7a8a4f63a6002
|
||||
FUNCTION_04_NAME=prepare_rclone
|
||||
FUNCTION_04_START_LINE=66
|
||||
FUNCTION_04_END_LINE=69
|
||||
FUNCTION_04_BODY_SHA256=9894074a28ce27f1a50447d4b6e33b4f5dde259754ad71f2dd982831ef9fe0c5
|
||||
FUNCTION_05_NAME=reconstruct
|
||||
FUNCTION_05_START_LINE=70
|
||||
FUNCTION_05_END_LINE=86
|
||||
FUNCTION_05_BODY_SHA256=19062cac5f312d1f9a6930f3e9f5e7c96ea37b265f69acc51425b4b74187ff0e
|
||||
FUNCTION_06_NAME=verify_generation
|
||||
FUNCTION_06_START_LINE=87
|
||||
FUNCTION_06_END_LINE=108
|
||||
FUNCTION_06_BODY_SHA256=a5ddad1c6e8de963c1b9fc548a1fe2716af4e57e0e591a0966ffcd2e78691e16
|
||||
FUNCTION_07_NAME=run_backup
|
||||
FUNCTION_07_START_LINE=109
|
||||
FUNCTION_07_END_LINE=150
|
||||
FUNCTION_07_BODY_SHA256=e086b8a4c2bf8bcd159cdd65733b8552d73ff3266c360e156ed2c97e93bdd60d
|
||||
ASSIGNMENT_COUNT=44
|
||||
ASSIGN_001_LINE=4
|
||||
ASSIGN_001_NAME=LOGICAL_ID
|
||||
ASSIGN_001_CLASS=SAFE_SCALAR
|
||||
ASSIGN_002_LINE=5
|
||||
ASSIGN_002_NAME=DUE_SECONDS
|
||||
ASSIGN_002_CLASS=SAFE_SCALAR
|
||||
ASSIGN_003_LINE=6
|
||||
ASSIGN_003_NAME=SLA_SECONDS
|
||||
ASSIGN_003_CLASS=SAFE_SCALAR
|
||||
ASSIGN_004_LINE=7
|
||||
ASSIGN_004_NAME=STATE_ROOT
|
||||
ASSIGN_004_CLASS=PATH_LITERAL
|
||||
ASSIGN_005_LINE=8
|
||||
ASSIGN_005_NAME=STATE_DIR
|
||||
ASSIGN_005_CLASS=OTHER
|
||||
ASSIGN_006_LINE=9
|
||||
ASSIGN_006_NAME=EVIDENCE_ROOT
|
||||
ASSIGN_006_CLASS=PATH_LITERAL
|
||||
ASSIGN_007_LINE=10
|
||||
ASSIGN_007_NAME=HEALTH
|
||||
ASSIGN_007_CLASS=PATH_LITERAL
|
||||
ASSIGN_008_LINE=11
|
||||
ASSIGN_008_NAME=STAGE_ROOT
|
||||
ASSIGN_008_CLASS=PATH_LITERAL
|
||||
ASSIGN_009_LINE=12
|
||||
ASSIGN_009_NAME=VERIFY_ROOT
|
||||
ASSIGN_009_CLASS=PATH_LITERAL
|
||||
ASSIGN_010_LINE=13
|
||||
ASSIGN_010_NAME=LOCK
|
||||
ASSIGN_010_CLASS=PATH_LITERAL
|
||||
ASSIGN_011_LINE=14
|
||||
ASSIGN_011_NAME=HEAVY_LOCK
|
||||
ASSIGN_011_CLASS=PATH_LITERAL
|
||||
ASSIGN_012_LINE=15
|
||||
ASSIGN_012_NAME=RCLONE_CONFIG_SOURCE
|
||||
ASSIGN_012_CLASS=OTHER
|
||||
ASSIGN_013_LINE=16
|
||||
ASSIGN_013_NAME=TRANSPORT
|
||||
ASSIGN_013_CLASS=PATH_LITERAL
|
||||
ASSIGN_014_LINE=17
|
||||
ASSIGN_014_NAME=TRANSPORT_SHA
|
||||
ASSIGN_014_CLASS=SAFE_SCALAR
|
||||
ASSIGN_015_LINE=18
|
||||
ASSIGN_015_NAME=BUILDER
|
||||
ASSIGN_015_CLASS=PATH_LITERAL
|
||||
ASSIGN_016_LINE=19
|
||||
ASSIGN_016_NAME=BUILDER_SHA
|
||||
ASSIGN_016_CLASS=SAFE_SCALAR
|
||||
ASSIGN_017_LINE=20
|
||||
ASSIGN_017_NAME=REMOTE_A
|
||||
ASSIGN_017_CLASS=FIXED_CRYPT_REMOTE
|
||||
ASSIGN_018_LINE=21
|
||||
ASSIGN_018_NAME=REMOTE_B
|
||||
ASSIGN_018_CLASS=FIXED_CRYPT_REMOTE
|
||||
ASSIGN_019_LINE=22
|
||||
ASSIGN_019_NAME=CLOUD_WRITE_MARKER
|
||||
ASSIGN_019_CLASS=OTHER
|
||||
ASSIGN_020_LINE=39
|
||||
ASSIGN_020_NAME=status
|
||||
ASSIGN_020_CLASS=OTHER
|
||||
ASSIGN_021_LINE=46
|
||||
ASSIGN_021_NAME=sha
|
||||
ASSIGN_021_CLASS=OTHER
|
||||
ASSIGN_022_LINE=47
|
||||
ASSIGN_022_NAME=epoch
|
||||
ASSIGN_022_CLASS=OTHER
|
||||
ASSIGN_023_LINE=49
|
||||
ASSIGN_023_NAME=ev
|
||||
ASSIGN_023_CLASS=OTHER
|
||||
ASSIGN_024_LINE=53
|
||||
ASSIGN_024_NAME=age
|
||||
ASSIGN_024_CLASS=OTHER
|
||||
ASSIGN_025_LINE=72
|
||||
ASSIGN_025_NAME=expected_manifest
|
||||
ASSIGN_025_CLASS=OTHER
|
||||
ASSIGN_026_LINE=73
|
||||
ASSIGN_026_NAME=manifest
|
||||
ASSIGN_026_CLASS=OTHER
|
||||
ASSIGN_027_LINE=76
|
||||
ASSIGN_027_NAME=idx
|
||||
ASSIGN_027_CLASS=SAFE_SCALAR
|
||||
ASSIGN_028_LINE=79
|
||||
ASSIGN_028_NAME=part
|
||||
ASSIGN_028_CLASS=OTHER
|
||||
ASSIGN_029_LINE=80
|
||||
ASSIGN_029_NAME=got_size
|
||||
ASSIGN_029_CLASS=OTHER
|
||||
ASSIGN_030_LINE=89
|
||||
ASSIGN_030_NAME=gen
|
||||
ASSIGN_030_CLASS=OTHER
|
||||
ASSIGN_031_LINE=90
|
||||
ASSIGN_031_NAME=state
|
||||
ASSIGN_031_CLASS=OTHER
|
||||
ASSIGN_032_LINE=94
|
||||
ASSIGN_032_NAME=work
|
||||
ASSIGN_032_CLASS=OTHER
|
||||
ASSIGN_033_LINE=96
|
||||
ASSIGN_033_NAME=base_a
|
||||
ASSIGN_033_CLASS=OTHER
|
||||
ASSIGN_034_LINE=99
|
||||
ASSIGN_034_NAME=verify_json
|
||||
ASSIGN_034_CLASS=OTHER
|
||||
ASSIGN_035_LINE=101
|
||||
ASSIGN_035_NAME=archive_sha
|
||||
ASSIGN_035_CLASS=OTHER
|
||||
ASSIGN_036_LINE=102
|
||||
ASSIGN_036_NAME=tmp
|
||||
ASSIGN_036_CLASS=OTHER
|
||||
ASSIGN_037_LINE=105
|
||||
ASSIGN_037_NAME=tmp
|
||||
ASSIGN_037_CLASS=OTHER
|
||||
ASSIGN_038_LINE=114
|
||||
ASSIGN_038_NAME=incompletes
|
||||
ASSIGN_038_CLASS=OTHER
|
||||
ASSIGN_039_LINE=116
|
||||
ASSIGN_039_NAME=line
|
||||
ASSIGN_039_CLASS=OTHER
|
||||
ASSIGN_040_LINE=117
|
||||
ASSIGN_040_NAME=gen
|
||||
ASSIGN_040_CLASS=OTHER
|
||||
ASSIGN_041_LINE=123
|
||||
ASSIGN_041_NAME=decision
|
||||
ASSIGN_041_CLASS=SAFE_SCALAR
|
||||
ASSIGN_042_LINE=126
|
||||
ASSIGN_042_NAME=state
|
||||
ASSIGN_042_CLASS=OTHER
|
||||
ASSIGN_043_LINE=133
|
||||
ASSIGN_043_NAME=now
|
||||
ASSIGN_043_CLASS=OTHER
|
||||
ASSIGN_044_LINE=135
|
||||
ASSIGN_044_NAME=payload
|
||||
ASSIGN_044_CLASS=OTHER
|
||||
FIXED_REMOTE_PVE01_MAIL_01_CRYPT_PRESENT=YES
|
||||
FUNCTION_COUNT=0
|
||||
SOURCE_SKELETON_BEGIN
|
||||
SRC_LINE_001=#!/usr/bin/env bash
|
||||
SRC_LINE_002=set -Eeuo pipefail
|
||||
SRC_LINE_003=umask 077
|
||||
SRC_LINE_004=LOGICAL_ID=control-bootstrap-v2
|
||||
SRC_LINE_005=DUE_SECONDS=43200
|
||||
SRC_LINE_006=SLA_SECONDS=86400
|
||||
SRC_LINE_007=STATE_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_008=STATE_DIR=$STATE_ROOT/$LOGICAL_ID
|
||||
SRC_LINE_009=EVIDENCE_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_010=HEALTH=<LONG_TOKEN_REDACTED>.json
|
||||
SRC_LINE_011=STAGE_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_012=VERIFY_ROOT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_013=LOCK=<LONG_TOKEN_REDACTED>.lock
|
||||
SRC_LINE_014=HEAVY_LOCK=/run/homelab-backup-heavy.lock
|
||||
SRC_LINE_015=RCLONE_CONFIG_SOURCE=${RCLONE_CONFIG:-/root/.config/rclone/[SENSITIVE_FILE]}
|
||||
SRC_LINE_016=TRANSPORT=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_017=TRANSPORT_SHA=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_018=BUILDER=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_019=BUILDER_SHA=<LONG_TOKEN_REDACTED>
|
||||
SRC_LINE_020=REMOTE_A=pve01-mail-01-crypt:homelab-backups
|
||||
SRC_LINE_021=REMOTE_B=pve01-mail-02-crypt:homelab-backups
|
||||
SRC_LINE_022=CLOUD_WRITE_MARKER=${<LONG_TOKEN_REDACTED>:-}
|
||||
SRC_LINE_023=
|
||||
SRC_LINE_024=die(){ printf 'CONTROL_BACKUP_ERROR=%s<LF>' "$1" >&2; exit "${2:-65}"; }
|
||||
SRC_LINE_025=for c in jq date find sort tail cut sha256sum stat flock rclone mktemp cmp awk mkdir rm install xargs grep cat mv chmod; do command -v "$c" >/dev/null || die "TOOL_MISSING_$c" 69; done
|
||||
SRC_LINE_026=[[ -x "$TRANSPORT" && ! -L "$TRANSPORT" ]] || die TRANSPORT_UNSAFE 69
|
||||
SRC_LINE_027=[[ "$(sha256sum "$TRANSPORT"|awk '{print $1}')" == "$TRANSPORT_SHA" ]] || die TRANSPORT_SHA_DRIFT 65
|
||||
SRC_LINE_028=[[ -x "$BUILDER" && ! -L "$BUILDER" ]] || die BUILDER_UNSAFE 69
|
||||
SRC_LINE_029=[[ "$(sha256sum "$BUILDER"|awk '{print $1}')" == "$BUILDER_SHA" ]] || die BUILDER_SHA_DRIFT 65
|
||||
SRC_LINE_030=
|
||||
SOURCE_SKELETON_END
|
||||
SOURCE_REDACTED_LINE_COUNT=0
|
||||
FIXED_REMOTE_PVE01_MAIL_01_CRYPT_LINES=20
|
||||
FIXED_REMOTE_PVE01_MAIL_02_CRYPT_PRESENT=YES
|
||||
FIXED_REMOTE_PVE01_MAIL_02_CRYPT_LINES=21
|
||||
DYNAMIC_TERM_COUNT=0
|
||||
RCLONE_REFERENCE_LINE_COUNT=8
|
||||
RCLONE_REF_01_LINE=15
|
||||
RCLONE_REF_01_VERBS=UNKNOWN
|
||||
RCLONE_REF_02_LINE=25
|
||||
RCLONE_REF_02_VERBS=cat,mkdir
|
||||
RCLONE_REF_03_LINE=66
|
||||
RCLONE_REF_03_VERBS=UNKNOWN
|
||||
RCLONE_REF_04_LINE=67
|
||||
RCLONE_REF_04_VERBS=UNKNOWN
|
||||
RCLONE_REF_05_LINE=68
|
||||
RCLONE_REF_05_VERBS=UNKNOWN
|
||||
RCLONE_REF_06_LINE=74
|
||||
RCLONE_REF_06_VERBS=cat
|
||||
RCLONE_REF_07_LINE=79
|
||||
RCLONE_REF_07_VERBS=cat
|
||||
RCLONE_REF_08_LINE=94
|
||||
RCLONE_REF_08_VERBS=UNKNOWN
|
||||
MARKER_SEALED_PRESENT=YES
|
||||
MARKER_SEALED_LINES=43,114,129,142
|
||||
MARKER_VERIFY_SEALED_PRESENT=YES
|
||||
MARKER_RCLONE_LINES=15,25,66,67,68,74,79,94
|
||||
MARKER_SEALED_LINES=43,46,92,114,129,142
|
||||
MARKER_VERIFY_SEALED_LINES=92
|
||||
MARKER_BACKUP_DELETE_PRESENT=YES
|
||||
MARKER_BACKUP_DELETE_LINES=129,139
|
||||
MARKER_LOCAL_CLEANUP_PRESENT=NO
|
||||
MARKER_LOCAL_CLEANUP_LINES=NONE
|
||||
MARKER_536870912_PRESENT=NO
|
||||
MARKER_RUN_BACKUP_LINES=109,146,147
|
||||
MARKER_VERIFY_GENERATION_LINES=87,120,129,141,148
|
||||
MARKER_CLEANUP_VERIFY_LINES=95,106
|
||||
MARKER_RECONSTRUCT_LINES=70,97,103
|
||||
MARKER_SPLIT_LINES=NONE
|
||||
MARKER_536870912_LINES=NONE
|
||||
MARKER_HOMELAB_CLOUD_QUORUM_PAYLOAD_V1_PRESENT=NO
|
||||
MARKER_HOMELAB_CLOUD_QUORUM_PAYLOAD_V1_LINES=NONE
|
||||
DELETE_LIKE_LINE_COUNT=8
|
||||
DELETE_LIKE_LINES=25,79,82,85,95,129,139,140
|
||||
WRAPPER_UNIT_COUNT=1
|
||||
WRAPPER_01_UNIT=homelab-control-backup.service
|
||||
WRAPPER_01_PATH=/etc/systemd/system/homelab-control-backup.service
|
||||
WRAPPER_01_SHA256=428d3e1f3042c3347b7c34b6f190e44fa35f7a97264eec3974239f581c9b9250
|
||||
WRAPPER_01_SIZE=411
|
||||
WRAPPER_01_ACTIVE=inactive
|
||||
WRAPPER_01_ENABLED=static
|
||||
STATIC_FIXED_PAIR_PRESENT=YES
|
||||
STATIC_DYNAMIC_ALLOCATOR_PRESENT=NO
|
||||
STATIC_512M_PART_MARKER_PRESENT=NO
|
||||
STATIC_SEALED_VERIFY_GATE_PRESENT=YES
|
||||
STATIC_DELETE_PATH_PRESENT=YES
|
||||
STATIC_COMPATIBLE_WITH_DYNAMIC_2_OF_13=NO
|
||||
MARKER_512M_LINES=NONE
|
||||
MARKER_PART_LINES=71,72,73,74,78,79,80,81,82
|
||||
UNIT_LINE_COUNT=16
|
||||
UNIT_SKELETON_BEGIN
|
||||
UNIT_LINE_001=[Unit]
|
||||
UNIT_LINE_002=Description=Homelab recurring CONTROL cloud quorum backup
|
||||
UNIT_LINE_003=After=network-online.target
|
||||
UNIT_LINE_004=Wants=network-online.target
|
||||
UNIT_LINE_005=ConditionPathExists=<LONG_TOKEN_REDACTED>
|
||||
UNIT_LINE_006=ConditionPathExists=<LONG_TOKEN_REDACTED>
|
||||
UNIT_LINE_007=
|
||||
UNIT_LINE_008=[Service]
|
||||
UNIT_LINE_009=Type=oneshot
|
||||
UNIT_LINE_010=ExecStart=<LONG_TOKEN_REDACTED> run
|
||||
UNIT_LINE_011=User=root
|
||||
UNIT_LINE_012=Group=root
|
||||
UNIT_LINE_013=UMask=0077
|
||||
UNIT_LINE_014=Nice=10
|
||||
UNIT_LINE_015=IOSchedulingClass=best-effort
|
||||
UNIT_LINE_016=IOSchedulingPriority=7
|
||||
UNIT_SKELETON_END
|
||||
UNIT_REDACTED_LINE_COUNT=0
|
||||
FILES_WRITTEN_BY_PAYLOAD=0
|
||||
SYSTEMD_MUTATIONS_BY_254=0
|
||||
STATIC254_READY_FOR_MINIMAL_PATCH_DESIGN=YES
|
||||
STATIC254_END
|
||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-STATIC-254R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||
SYSTEMD_MUTATIONS_BY_255=0
|
||||
LOGIC255_READY_FOR_MINIMAL_PATCH=YES
|
||||
LOGIC255_END
|
||||
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260912-INFRA-DR-BACKUPV2-CONTROL-BACKUP-LOGIC-255R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
|
||||
|
||||
OUTPUT_END
|
||||
CHAT_OUTPUT_END
|
||||
|
||||
Reference in New Issue
Block a user