From 1c16528823f54ef371f2ff80d1789fc814ba7bd9 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Thu, 1 Oct 2026 11:50:51 +0000 Subject: [PATCH] runtime: publish SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1 --- ...V2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.json | 38 ++++ ...PV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.txt | 104 ++++++++++ runtime/latest.json | 22 +-- runtime/latest.txt | 187 +++++++----------- 4 files changed, 229 insertions(+), 122 deletions(-) create mode 100644 runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.json create mode 100644 runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.txt diff --git a/runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.json b/runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.json new file mode 100644 index 00000000..bd6ba614 --- /dev/null +++ b/runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "backupv2-vpsus-transitive-semantics", + "started_at_utc": "2026-10-01T11:50:49Z", + "finished_at_utc": "2026-10-01T11:50:50Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "27b102f3e3240a033380d3a6f3392e21bdca6d812921151fa1106998c22f94dc", + "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": "b77913f393173f1e230d495c3fc0664a38043598a85e35cc42690270c1cf3cde", + "sanitized_output_sha256": "b6cb5200d2c3b090aa71baba03c91c14d87ff55fd915dfedff95ac4be1a503ac", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS=V1\nINGRESS_HOSTKEY_SELF_BOUND=true\nOPERATOR_KEY_PRESENT=true\nOPERATOR_KEY_FP_MATCH=true\nBACKUPV2_TARGETS_SHA_EXACT=true\nBACKUPV2_RETIRED_US_NETBIRD_EXACT=true\nLEGACY_AST_PASS=true\nENTRY_CAPTURE_VPS_US_PRESENT=true\nENTRY_CAPTURE_VPS_US_REACHABLE=capture_vps_us,pipe_to_zstd,vps_ssh_argv\nENTRY_CAPTURE_VPS_US_DIRECT_CALLS=join,pipe_to_zstd,vps_ssh_argv\nENTRY_BOOTSTRAP_VPS_KEYS_PRESENT=true\nENTRY_BOOTSTRAP_VPS_KEYS_REACHABLE=atomic_write,bootstrap_vps_keys,ensure_dir,ensure_vps_known_hosts,operator_key_fingerprint,run,scan_hostkey_line,vps_run,vps_ssh_argv\nENTRY_BOOTSTRAP_VPS_KEYS_DIRECT_CALLS=BackupError,decode,ensure_vps_known_hosts,get,operator_key_fingerprint,run,str,strip,vps_run\nENTRY_ENSURE_VPS_KNOWN_HOSTS_PRESENT=true\nENTRY_ENSURE_VPS_KNOWN_HOSTS_REACHABLE=atomic_write,ensure_dir,ensure_vps_known_hosts,run,scan_hostkey_line\nENTRY_ENSURE_VPS_KNOWN_HOSTS_DIRECT_CALLS=append,atomic_write,encode,join,scan_hostkey_line\nENTRY_CAPTURE_TARGET_PRESENT=true\nENTRY_CAPTURE_TARGET_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cluster_inventory,epoch,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,parse_router_legacy,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,remote_hashset,router_read,run,sha256_bytes,sha256_file,ssh_remote,vps_run,vps_ssh_argv,xf_guest_builder\nENTRY_CAPTURE_TARGET_DIRECT_CALLS=BackupError,capture_node_bundle,capture_pve_guest,capture_router,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo\nENTRY_GREEN_RUN_PRESENT=true\nENTRY_GREEN_RUN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cleanup_source,cluster_inventory,control_verify,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_targets,locate_exact_sha,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,select_replicas,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder\nENTRY_GREEN_RUN_DIRECT_CALLS=BackupError,append,backup_target,bootstrap_vps_keys,dumps,ensure_router_known_hosts,get,join,len,load_targets,print,sub,sum,upper\nENTRY_MAIN_PRESENT=true\nENTRY_MAIN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_isolated_release_graph_selftest,_lxc_job,_pve_dumpdir_spec,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,choose_due_target,cleanup_source,cluster_inventory,control_verify,default_targets,discover,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_state_all,load_targets,locate_exact_sha,main,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,scheduled_run,select_replicas,selftest,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder\nENTRY_MAIN_DIRECT_CALLS=discover,green_run,len,print,scheduled_run,selftest\nENTRY_DEFAULT_TARGETS_PRESENT=true\nENTRY_DEFAULT_TARGETS_REACHABLE=default_targets\nENTRY_DEFAULT_TARGETS_DIRECT_CALLS=append,str\nENTRY_VALIDATE_PAYLOAD_PRESENT=true\nENTRY_VALIDATE_PAYLOAD_REACHABLE=run,validate_payload,validate_tar_zst\nENTRY_VALIDATE_PAYLOAD_DIRECT_CALLS=BackupError,Popen,close,communicate,len,run,str,validate_tar_zst,wait,which\nVPS_US_IF_TESTS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_)\nVPS_US_IF_TEST_COUNT=3\nUS_NETBIRD_IF_TESTS=NONE\nUS_NETBIRD_IF_TEST_COUNT=0\nGREEN1_IF_TESTS=cmd == _green1_\nGREEN1_IF_TEST_COUNT=1\nALL_IF_TESTS=NONE\nALL_IF_TEST_COUNT=0\nVPS_US_TRANSITIVE_STRINGS=IdentityAgent=none,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,port,user,vps_us\nBOOTSTRAP_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,IdentityAgent=none,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,hostkey_fingerprint,logical_id,port,ssh-ed25519,ssh-keygen,user,vps_us\nKNOWNHOST_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,host,hostkey_fingerprint,port,ssh-ed25519,vps_us\nGREEN_TRANSITIVE_STRINGS=/manifest.json,[SENSITIVE_PATH],/usr/bin/lxc-usernsexec,CONTROL_ENGINE_IDENTITY,GREEN_REPLICA_COMPARE,HISTORICAL_RELEASE_GRAPH_IDENTITY,HOSTKEY_PIN_MISMATCH,IMPORT_PACKAGE_OR_SAFE_CLI_NOT_BLIND_CONFIG_REPLACE,IdentityAgent=none,LXC_CUSTOM_IDMAP_UNSUPPORTED,MANIFEST_PART_TOTAL_MISMATCH,MANIFEST_PAYLOAD_SHA_INVALID,MANIFEST_READBACK_MISMATCH,MANIFEST_REPLICA_PHYSICAL_DUPLICATE,P270_IDENTITY,P282_IDENTITY,PATH=/usr/sbin:/usr/bin:/sbin:/bin_ export PATH_ exec ,PYTHONNOUSERSITE,RCLONE_ABOUT_JSON,RCLONE_CAT_FAILED,RCLONE_CAT_SIZE_MISMATCH,RCLONE_CAT_TIMEOUT,RCLONE_FREE_UNKNOWN,RCLONE_RCAT_FAILED,RCLONE_SMALL_OBJECT_TOO_LARGE,ROUTER_KNOWN_HOSTS_IDENTITY,ROUTER_LEGACY_SCRIPT_IDENTITY,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,TARGET_MANIFEST_DUPLICATE,TARGET_MANIFEST_SCHEMA,UserKnownHostsFile=,_REPLICAS=,__s_(_:export_s+)_([A-Za-z_][A-Za-z0-9_]_)=(._)_,_bsshpass_b[__n]__(_:___s)-f_s+(__[___]_____[__]___[__s_]+),_if not root.startswith(_/var/www/forums/_) or not db.startswith(_xf__): raise SystemExit(20)_tmp=pathlib.Path(_/tmp/homelab-v2-xf-_+token)_ tmp.mkdir(mode=0o700,exist_ok=False)_dump=tmp/_db.sql__ out=pathlib.Path(_/tmp/homelab-v2-xf-_+token+_.tar.zst_)_lock=None_try:_ if strategy==_global_read_lock_:_ lock=subprocess.Popen([_mariadb_,_--user=root_,_--batch_,_--skip-column-names_,_--unbuffered_],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL,text=True,bufsize=1)_ lock.stdin.write(_FLUSH TABLES WITH READ LOCK_ SELECT _LOCKED___n_)_ lock.stdin.flush()_ rr,_,_=select.select([lock.stdout],[],[],5)_ if not rr or lock.stdout.readline().strip()_=_LOCKED_: raise RuntimeError(_LOCK_ACQUIRE_)_ dump_timeout=15_ else: dump_timeout=180_ with open(dump,_wb_) as f:_ argv=[_mariadb-dump_,_--user=root_,_--quick_,_--skip-lock-tables_,_--hex-blob_,_--routines_,_,etc/hostname,etc/hosts,etc/pve/user.cfg,green1,host,hostkey_fingerprint,import base64,sys_ p=sys.argv[1]_ o=int(sys.argv[2])_ n=int(sys.argv[3])_ f=open(p,_rb_)_ f.seek(o)_ b=f.read(n)_ f.close()_ sys.stdout.write(base64.b64encode(b).decode()),import hashlib,json,os,pathlib,select,shutil,subprocess,tempfile,time_root=,logical_id,lxc-usernsexec,manifest_sha256,port,replicas,reported_maxdisk_bytes,reported_maxmem_bytes,root/.ssh/id_ed25519_netbird_operator,root/.ssh/id_ed25519_netbird_operator.pub,ssh-ed25519,ssh-keygen,user,vps_us\nVPS_US_TRANSITIVE_KEYS=host,port,user\nGREEN_TRANSITIVE_KEYS=SSH_AUTH_SOCK,allocator_healthy,app_root,archive_cap_bytes,bytes,crypt,db_bytes,db_name,dump_strategy,exit-code,exitcode,exited,free,generation,green1,guest_type,healthy,host,hostkey_fingerprint,kind,last_success_epoch,logical_id,maxdisk,maxmem,name,node,offset,out-data,parts,path,payload_bytes,payload_sha256,physical,port,replicas,schema,scope,sha256,slug,status,targets,template,type,user,vmid\nBOOTSTRAP_TRANSITIVE_KEYS=SSH_AUTH_SOCK,host,hostkey_fingerprint,logical_id,port,type,user\nSEMANTIC_PATH_LITERALS=/etc/homelab-backup-v2,[SENSITIVE_PATH],[SENSITIVE_PATH]\nTRANSITIVE_EXTERNAL_COMMANDS=python3,ssh,ssh-keygen,tar,zstd\nVPS_US_SSH_CLI_FLAGS=-T,-i,-o,-p,-q\nUS_NETBIRD_COMPARISONS=_t[_logical_id_] for t in default_targets() if t.get(_green1_)_ == __ct112_, _node-pve01_, _md-relay_, _spb-ingress_, _us-netbird_, _router-netcraze_, _xf-codevipe_, _xf-zakrutim_, _control-bootstrap-v2__\nVPS_US_COMPARISONS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_),x[_type_] == _vps_us_\nCAPTURE_VPS_US_CALLSITES=capture_vps_us(t, gen, work)\nGREEN_RUN_CALLSITES=green_run(_GREEN1_),green_run(_GREEN2_)\nTARGET_TYPE_SUMMARY=control:1:1:1,pve_guest:13:13:1,pve_node_bundle:3:3:1,router:1:1:1,vps_md:1:0:1,vps_spb:1:0:1,vps_us:1:0:1,xenforo:7:7:2\nRCLONE_REMOTE_COUNT=26\nRCLONE_REMOTE_NAMES=pve01-mail-01,pve01-mail-01-crypt,pve01-mail-02,pve01-mail-02-crypt,pve01-mail-03,pve01-mail-03-crypt,pve01-mail-04,pve01-mail-04-crypt,pve01-mail-05,pve01-mail-05-crypt,pve02-mail-01,pve02-mail-01-crypt,pve02-mail-02,pve02-mail-02-crypt,pve02-mail-03,pve02-mail-03-crypt,pve02-mail-04,pve02-mail-04-crypt,pve03-mail-01,pve03-mail-01-crypt,pve03-mail-02,pve03-mail-02-crypt,pve03-mail-03,pve03-mail-03-crypt,pve03-mail-04,pve03-mail-04-crypt\nRCLONE_GREEN_NAMED_REMOTES=NONE\nRUNNER_REALPATH=/usr/local/sbin/homelab-backup-v2\nRUNNER_SHA=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c\nBACKUPV2_SERVICE_EXECSTART=/usr/local/sbin/homelab-backup-v2 scheduled\nPVE01_TARGET_PIN_SUCCESS=0/3\nPVE01_OPERATOR_TARGET_SSH_PASS=false\nPVE01_OPERATOR_TARGET_UID0=false\nBACKUPV2_FINAL_CHANGE_INPUT_READY=false\nDECISION=HOLD_BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS\nNEXT_GATE=RCA_BACKUPV2_VPSUS_KEY_OR_GREEN_REPLICA\nTASK_RESULT=BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.txt b/runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.txt new file mode 100644 index 00000000..66f1ba50 --- /dev/null +++ b/runtime/history/SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1.txt @@ -0,0 +1,104 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=backupv2-vpsus-transitive-semantics +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=27b102f3e3240a033380d3a6f3392e21bdca6d812921151fa1106998c22f94dc +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=b77913f393173f1e230d495c3fc0664a38043598a85e35cc42690270c1cf3cde +SANITIZED_OUTPUT_SHA256=b6cb5200d2c3b090aa71baba03c91c14d87ff55fd915dfedff95ac4be1a503ac +OUTPUT_BEGIN +BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS=V1 +INGRESS_HOSTKEY_SELF_BOUND=true +OPERATOR_KEY_PRESENT=true +OPERATOR_KEY_FP_MATCH=true +BACKUPV2_TARGETS_SHA_EXACT=true +BACKUPV2_RETIRED_US_NETBIRD_EXACT=true +LEGACY_AST_PASS=true +ENTRY_CAPTURE_VPS_US_PRESENT=true +ENTRY_CAPTURE_VPS_US_REACHABLE=capture_vps_us,pipe_to_zstd,vps_ssh_argv +ENTRY_CAPTURE_VPS_US_DIRECT_CALLS=join,pipe_to_zstd,vps_ssh_argv +ENTRY_BOOTSTRAP_VPS_KEYS_PRESENT=true +ENTRY_BOOTSTRAP_VPS_KEYS_REACHABLE=atomic_write,bootstrap_vps_keys,ensure_dir,ensure_vps_known_hosts,operator_key_fingerprint,run,scan_hostkey_line,vps_run,vps_ssh_argv +ENTRY_BOOTSTRAP_VPS_KEYS_DIRECT_CALLS=BackupError,decode,ensure_vps_known_hosts,get,operator_key_fingerprint,run,str,strip,vps_run +ENTRY_ENSURE_VPS_KNOWN_HOSTS_PRESENT=true +ENTRY_ENSURE_VPS_KNOWN_HOSTS_REACHABLE=atomic_write,ensure_dir,ensure_vps_known_hosts,run,scan_hostkey_line +ENTRY_ENSURE_VPS_KNOWN_HOSTS_DIRECT_CALLS=append,atomic_write,encode,join,scan_hostkey_line +ENTRY_CAPTURE_TARGET_PRESENT=true +ENTRY_CAPTURE_TARGET_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cluster_inventory,epoch,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,parse_router_legacy,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,remote_hashset,router_read,run,sha256_bytes,sha256_file,ssh_remote,vps_run,vps_ssh_argv,xf_guest_builder +ENTRY_CAPTURE_TARGET_DIRECT_CALLS=BackupError,capture_node_bundle,capture_pve_guest,capture_router,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo +ENTRY_GREEN_RUN_PRESENT=true +ENTRY_GREEN_RUN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cleanup_source,cluster_inventory,control_verify,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_targets,locate_exact_sha,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,select_replicas,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder +ENTRY_GREEN_RUN_DIRECT_CALLS=BackupError,append,backup_target,bootstrap_vps_keys,dumps,ensure_router_known_hosts,get,join,len,load_targets,print,sub,sum,upper +ENTRY_MAIN_PRESENT=true +ENTRY_MAIN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_isolated_release_graph_selftest,_lxc_job,_pve_dumpdir_spec,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,choose_due_target,cleanup_source,cluster_inventory,control_verify,default_targets,discover,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_state_all,load_targets,locate_exact_sha,main,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,scheduled_run,select_replicas,selftest,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder +ENTRY_MAIN_DIRECT_CALLS=discover,green_run,len,print,scheduled_run,selftest +ENTRY_DEFAULT_TARGETS_PRESENT=true +ENTRY_DEFAULT_TARGETS_REACHABLE=default_targets +ENTRY_DEFAULT_TARGETS_DIRECT_CALLS=append,str +ENTRY_VALIDATE_PAYLOAD_PRESENT=true +ENTRY_VALIDATE_PAYLOAD_REACHABLE=run,validate_payload,validate_tar_zst +ENTRY_VALIDATE_PAYLOAD_DIRECT_CALLS=BackupError,Popen,close,communicate,len,run,str,validate_tar_zst,wait,which +VPS_US_IF_TESTS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_) +VPS_US_IF_TEST_COUNT=3 +US_NETBIRD_IF_TESTS=NONE +US_NETBIRD_IF_TEST_COUNT=0 +GREEN1_IF_TESTS=cmd == _green1_ +GREEN1_IF_TEST_COUNT=1 +ALL_IF_TESTS=NONE +ALL_IF_TEST_COUNT=0 +VPS_US_TRANSITIVE_STRINGS=IdentityAgent=none,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,port,user,vps_us +BOOTSTRAP_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,IdentityAgent=none,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,hostkey_fingerprint,logical_id,port,ssh-ed25519,ssh-keygen,user,vps_us +KNOWNHOST_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,host,hostkey_fingerprint,port,ssh-ed25519,vps_us +GREEN_TRANSITIVE_STRINGS=/manifest.json,[SENSITIVE_PATH],/usr/bin/lxc-usernsexec,CONTROL_ENGINE_IDENTITY,GREEN_REPLICA_COMPARE,HISTORICAL_RELEASE_GRAPH_IDENTITY,HOSTKEY_PIN_MISMATCH,IMPORT_PACKAGE_OR_SAFE_CLI_NOT_BLIND_CONFIG_REPLACE,IdentityAgent=none,LXC_CUSTOM_IDMAP_UNSUPPORTED,MANIFEST_PART_TOTAL_MISMATCH,MANIFEST_PAYLOAD_SHA_INVALID,MANIFEST_READBACK_MISMATCH,MANIFEST_REPLICA_PHYSICAL_DUPLICATE,P270_IDENTITY,P282_IDENTITY,PATH=/usr/sbin:/usr/bin:/sbin:/bin_ export PATH_ exec ,PYTHONNOUSERSITE,RCLONE_ABOUT_JSON,RCLONE_CAT_FAILED,RCLONE_CAT_SIZE_MISMATCH,RCLONE_CAT_TIMEOUT,RCLONE_FREE_UNKNOWN,RCLONE_RCAT_FAILED,RCLONE_SMALL_OBJECT_TOO_LARGE,ROUTER_KNOWN_HOSTS_IDENTITY,ROUTER_LEGACY_SCRIPT_IDENTITY,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,TARGET_MANIFEST_DUPLICATE,TARGET_MANIFEST_SCHEMA,UserKnownHostsFile=,_REPLICAS=,__s_(_:export_s+)_([A-Za-z_][A-Za-z0-9_]_)=(._)_,_bsshpass_b[__n]__(_:___s)-f_s+(__[___]_____[__]___[__s_]+),_if not root.startswith(_/var/www/forums/_) or not db.startswith(_xf__): raise SystemExit(20)_tmp=pathlib.Path(_/tmp/homelab-v2-xf-_+token)_ tmp.mkdir(mode=0o700,exist_ok=False)_dump=tmp/_db.sql__ out=pathlib.Path(_/tmp/homelab-v2-xf-_+token+_.tar.zst_)_lock=None_try:_ if strategy==_global_read_lock_:_ lock=subprocess.Popen([_mariadb_,_--user=root_,_--batch_,_--skip-column-names_,_--unbuffered_],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL,text=True,bufsize=1)_ lock.stdin.write(_FLUSH TABLES WITH READ LOCK_ SELECT _LOCKED___n_)_ lock.stdin.flush()_ rr,_,_=select.select([lock.stdout],[],[],5)_ if not rr or lock.stdout.readline().strip()_=_LOCKED_: raise RuntimeError(_LOCK_ACQUIRE_)_ dump_timeout=15_ else: dump_timeout=180_ with open(dump,_wb_) as f:_ argv=[_mariadb-dump_,_--user=root_,_--quick_,_--skip-lock-tables_,_--hex-blob_,_--routines_,_,etc/hostname,etc/hosts,etc/pve/user.cfg,green1,host,hostkey_fingerprint,import base64,sys_ p=sys.argv[1]_ o=int(sys.argv[2])_ n=int(sys.argv[3])_ f=open(p,_rb_)_ f.seek(o)_ b=f.read(n)_ f.close()_ sys.stdout.write(base64.b64encode(b).decode()),import hashlib,json,os,pathlib,select,shutil,subprocess,tempfile,time_root=,logical_id,lxc-usernsexec,manifest_sha256,port,replicas,reported_maxdisk_bytes,reported_maxmem_bytes,root/.ssh/id_ed25519_netbird_operator,root/.ssh/id_ed25519_netbird_operator.pub,ssh-ed25519,ssh-keygen,user,vps_us +VPS_US_TRANSITIVE_KEYS=host,port,user +GREEN_TRANSITIVE_KEYS=SSH_AUTH_SOCK,allocator_healthy,app_root,archive_cap_bytes,bytes,crypt,db_bytes,db_name,dump_strategy,exit-code,exitcode,exited,free,generation,green1,guest_type,healthy,host,hostkey_fingerprint,kind,last_success_epoch,logical_id,maxdisk,maxmem,name,node,offset,out-data,parts,path,payload_bytes,payload_sha256,physical,port,replicas,schema,scope,sha256,slug,status,targets,template,type,user,vmid +BOOTSTRAP_TRANSITIVE_KEYS=SSH_AUTH_SOCK,host,hostkey_fingerprint,logical_id,port,type,user +SEMANTIC_PATH_LITERALS=/etc/homelab-backup-v2,[SENSITIVE_PATH],[SENSITIVE_PATH] +TRANSITIVE_EXTERNAL_COMMANDS=python3,ssh,ssh-keygen,tar,zstd +VPS_US_SSH_CLI_FLAGS=-T,-i,-o,-p,-q +US_NETBIRD_COMPARISONS=_t[_logical_id_] for t in default_targets() if t.get(_green1_)_ == __ct112_, _node-pve01_, _md-relay_, _spb-ingress_, _us-netbird_, _router-netcraze_, _xf-codevipe_, _xf-zakrutim_, _control-bootstrap-v2__ +VPS_US_COMPARISONS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_),x[_type_] == _vps_us_ +CAPTURE_VPS_US_CALLSITES=capture_vps_us(t, gen, work) +GREEN_RUN_CALLSITES=green_run(_GREEN1_),green_run(_GREEN2_) +TARGET_TYPE_SUMMARY=control:1:1:1,pve_guest:13:13:1,pve_node_bundle:3:3:1,router:1:1:1,vps_md:1:0:1,vps_spb:1:0:1,vps_us:1:0:1,xenforo:7:7:2 +RCLONE_REMOTE_COUNT=26 +RCLONE_REMOTE_NAMES=pve01-mail-01,pve01-mail-01-crypt,pve01-mail-02,pve01-mail-02-crypt,pve01-mail-03,pve01-mail-03-crypt,pve01-mail-04,pve01-mail-04-crypt,pve01-mail-05,pve01-mail-05-crypt,pve02-mail-01,pve02-mail-01-crypt,pve02-mail-02,pve02-mail-02-crypt,pve02-mail-03,pve02-mail-03-crypt,pve02-mail-04,pve02-mail-04-crypt,pve03-mail-01,pve03-mail-01-crypt,pve03-mail-02,pve03-mail-02-crypt,pve03-mail-03,pve03-mail-03-crypt,pve03-mail-04,pve03-mail-04-crypt +RCLONE_GREEN_NAMED_REMOTES=NONE +RUNNER_REALPATH=/usr/local/sbin/homelab-backup-v2 +RUNNER_SHA=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c +BACKUPV2_SERVICE_EXECSTART=/usr/local/sbin/homelab-backup-v2 scheduled +PVE01_TARGET_PIN_SUCCESS=0/3 +PVE01_OPERATOR_TARGET_SSH_PASS=false +PVE01_OPERATOR_TARGET_UID0=false +BACKUPV2_FINAL_CHANGE_INPUT_READY=false +DECISION=HOLD_BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS +NEXT_GATE=RCA_BACKUPV2_VPSUS_KEY_OR_GREEN_REPLICA +TASK_RESULT=BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index c4ae9771..bd6ba614 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,25 +1,25 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-261001-DSMODS-9633-TRANSACTION-RCA-9635R1", + "command_id": "SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1", "status": "OK", "rc": 0, "host": "pve01", - "mode": "change", - "component": "dsmods-9633-transaction-rca", - "started_at_utc": "2026-10-01T11:50:27Z", - "finished_at_utc": "2026-10-01T11:50:27Z", + "mode": "read-only", + "component": "backupv2-vpsus-transitive-semantics", + "started_at_utc": "2026-10-01T11:50:49Z", + "finished_at_utc": "2026-10-01T11:50:50Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "26431d04901cc1b203f6d87a47391596d51df5bf04d9c6625801b9d41ef0872c", + "command_sha256": "27b102f3e3240a033380d3a6f3392e21bdca6d812921151fa1106998c22f94dc", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "OK", + "result_contract_status": null, "result_contract_error": null, "command_rc": 0, "changes_made": false, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "6958ebdcd459f1590631e7d0a4c673c4fcc4691e5f03ac8b00a16f90f1724862", - "sanitized_output_sha256": "6958ebdcd459f1590631e7d0a4c673c4fcc4691e5f03ac8b00a16f90f1724862", + "raw_evidence_sha256": "b77913f393173f1e230d495c3fc0664a38043598a85e35cc42690270c1cf3cde", + "sanitized_output_sha256": "b6cb5200d2c3b090aa71baba03c91c14d87ff55fd915dfedff95ac4be1a503ac", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "DSMODS_9633_TRANSACTION_RCA=V1\nMODE=read-only-targeted-transaction-rca\nTARGET_FQDN=dsmods.ru\nPRODUCT_MUTATION=false\nMYSQL_MUTATION=false\nPUBLIC_ROOT_MUTATION=false\nCRON_MUTATION=false\nFTP_UPLOAD_ATTEMPT_COUNT=0\nREMOTE_DELETE_ATTEMPT_COUNT=0\nMYSQL_TOTAL=4\nMYSQL_EXACT_ALEISA_DSMODS_COUNT=1\nMYSQL_ANY_DSMODS_COUNT=1\nCRON_TOTAL=1\nCRON_9633_MATCH_COUNT=0\nFTP_DSMODS_LIST_RC=0\nFTP_9633_TXN_ENTRY_COUNT=4\nFTP_TXN_LINE_01_HEX=2e726f6c6c6261636b2d393633332d7075626c69635f68746d6c\nFTP_TXN_LINE_02_HEX=2e77322d393633332e646f6e65\nFTP_TXN_LINE_03_HEX=2e77322d393633332e6c6f636b\nFTP_TXN_LINE_04_HEX=2e77322d393633332e726573756c74\nRESULT_DOWNLOAD_RC=0\nRESULT_PRESENT=true\nRESULT_BYTES=1689\nRESULT_SHA256=e370805e7596c387bea4ee9840449973d29dedcc7de868d58e1be3ce3408d625\nRESULT_CAPTURED_LINE_COUNT=64\nRESULT_LINE_001_HEX=44534d4f44535f473335365f42454745545f46494e414c5f524553544f52453d5631\nRESULT_LINE_002_HEX=4d4f44453d74617267657465642d726573746f7265\nRESULT_LINE_003_HEX=534f555243455f47454e45524154494f4e3d473335362d3230323630393134543035303733335a2d626139363237633961323265613862646366653535666531\nRESULT_LINE_004_HEX=5441524745545f44425f4e414d453d616c656973615f64736d6f6473\nRESULT_LINE_005_HEX=524553544f52455f5343524950545f53454c465f554e4c494e4b45443d74727565\nRESULT_LINE_006_HEX=3c52454441435445445f53454e5349544956455f4c494e455f5348413235363d336536343631383835616265386565366666393135653135333139663136373836306336376438323032636136656666393630376339393332353638663439333e\nRESULT_LINE_007_HEX=5441524745545f544f4f4c5f464c4f434b3d74727565\nRESULT_LINE_008_HEX=5441524745545f544f4f4c5f5441523d74727565\nRESULT_LINE_009_HEX=5441524745545f544f4f4c5f5048503d74727565\nRESULT_LINE_010_HEX=5441524745545f544f4f4c5f505954484f4e333d74727565\nRESULT_LINE_011_HEX=5441524745545f544f4f4c5f4d5953514c3d74727565\nRESULT_LINE_012_HEX=5441524745545f544f4f4c5f475a49503d74727565\nRESULT_LINE_013_HEX=5441524745545f544f4f4c5f4355524c3d74727565\nRESULT_LINE_014_HEX=5441524745545f544f4f4c5f53484132353653554d3d74727565\nRESULT_LINE_015_HEX=5441524745545f544f4f4c5f46494e443d74727565\nRESULT_LINE_016_HEX=5441524745545f544f4f4c5f43484d4f443d74727565\nRESULT_LINE_017_HEX=43555252454e545f5055424c49435f524f4f545f50524553454e543d74727565\nRESULT_LINE_018_HEX=524f4c4c4241434b5f4f525f4e45575f524f4f545f434f4c4c4953494f4e3d66616c7365\nRESULT_LINE_019_HEX=53544147455f50524553454e543d74727565\nRESULT_LINE_020_HEX=53544147455f4150505f53495a453d333233373136373430\nRESULT_LINE_021_HEX=53544147455f4150505f5348413235363d32666337336465356537663865383361396362363637626163363462613662383833343832316133343665383439393737336563663337666239353636373861\nRESULT_LINE_022_HEX=53544147455f44425f53495a453d34323634323431\nRESULT_LINE_023_HEX=53544147455f44425f5348413235363d61313765316465366635623661306634656531353930613733323532356663653432306536353762616663386132373561633935363635353366353833653962\nRESULT_LINE_024_HEX=53544147455f4944454e544954593d50415353\nRESULT_LINE_025_HEX=4e45575f524f4f545f4352454154455f52433d30\nRESULT_LINE_026_HEX=4150505f455854524143545f52433d30\nRESULT_LINE_027_HEX=4e45575f494e4445585f50524553454e543d74727565\nRESULT_LINE_028_HEX=4e45575f58465f4d41524b45525f50524553454e543d74727565\nRESULT_LINE_029_HEX=4e45575f434f4e4649475f50524553454e543d74727565\nRESULT_LINE_030_HEX=4e45575f444154415f46494c45533d363630\nRESULT_LINE_031_HEX=4e45575f494e5445524e414c5f444154415f46494c45533d373034\nRESULT_LINE_032_HEX=4e45575f5352435f46494c45533d35353434\nRESULT_LINE_033_HEX=434f4e4649475f52454255494c445f52433d30\nRESULT_LINE_034_HEX=434f4e4649475f5048505f4c494e545f52433d30\nRESULT_LINE_035_HEX=444154415f5752495441424c453d74727565\nRESULT_LINE_036_HEX=494e5445524e414c5f444154415f5752495441424c453d74727565\nRESULT_LINE_037_HEX=44425f44554d505f434f4d5052455353494f4e3d7a737464\nRESULT_LINE_038_HEX=44425f44554d505f554e5041434b5f52433d30\nRESULT_LINE_039_HEX=44425f4e414d4553504143455f524557524954455f52433d30\nRESULT_LINE_040_HEX=44425f494d504f52545f52433d30\nRESULT_LINE_041_HEX=44425f5441424c455f434f554e543d323234\nRESULT_LINE_042_HEX=44425f494e4e4f44425f434f554e543d323234\nRESULT_LINE_043_HEX=44425f424f4152445f4143544956453d31\nRESULT_LINE_044_HEX=44425f424f4152445f55524c5f4d415443483d74727565\nRESULT_LINE_045_HEX=44425f58465f56455253494f4e5f49443d32303331313730\nRESULT_LINE_046_HEX=58454e464f524f5f434c495f424f4f5453545241505f52433d30\nRESULT_LINE_047_HEX=4f4c445f524f4f545f52454e414d455f52433d30\nRESULT_LINE_048_HEX=4e45575f524f4f545f52454e414d455f52433d30\nRESULT_LINE_049_HEX=524f4f545f535741505045443d74727565\nRESULT_LINE_050_HEX=5055424c49435f524f4f545f4355524c5f52433d30\nRESULT_LINE_051_HEX=5055424c49435f524f4f545f485454503d323030\nRESULT_LINE_052_HEX=5055424c49435f4c4f47494e5f4355524c5f52433d30\nRESULT_LINE_053_HEX=5055424c49435f4c4f47494e5f485454503d323030\nRESULT_LINE_054_HEX=5055424c49435f57484154535f4e45575f4355524c5f52433d30\nRESULT_LINE_055_HEX=5055424c49435f57484154535f4e45575f485454503d323030\nRESULT_LINE_056_HEX=5055424c49435f5757575f4355524c5f52433d30\nRESULT_LINE_057_HEX=5055424c49435f5757575f485454503d333031\nRESULT_LINE_058_HEX=5055424c49435f44534d4f44535f4d41524b45523d66616c7365\nRESULT_LINE_059_HEX=5055424c49435f58454e464f524f5f46494e4745525052494e543d66616c7365\nRESULT_LINE_060_HEX=5055424c49435f42454745545f504c414345484f4c4445523d66616c7365\nRESULT_LINE_061_HEX=524f4c4c4241434b5f535441525445443d66616c7365\nRESULT_LINE_062_HEX=524f4c4c4241434b5f524553544f5245443d6e756c6c\nRESULT_LINE_063_HEX=524553544f52455f504153533d74727565\nRESULT_LINE_064_HEX=4445434953494f4e3d44534d4f44535f58454e464f524f5f524553544f5245445f46524f4d5f473333375f414e445f4c495645\nDONE_DOWNLOAD_RC=0\nDONE_PRESENT=true\nDONE_BYTES=2\nDONE_SHA256=9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa\nROOT_CURL_RC=0\nROOT_HTTP=200\nROOT_BODY_BYTES=0\nROOT_BODY_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nROOT_XENFORO_HINT=false\nROOT_BEGET_PLACEHOLDER=false\nRCA_RESULT=PASS\nNEXT_GATE=CLASSIFY_EXACT_9633_RESULT_OR_TRANSACTION_ARTIFACTS\nTASK_RESULT=DSMODS_9633_TRANSACTION_RCA_COMPLETE\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261001-DSMODS-9633-TRANSACTION-RCA-9635R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" + "output": "BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS=V1\nINGRESS_HOSTKEY_SELF_BOUND=true\nOPERATOR_KEY_PRESENT=true\nOPERATOR_KEY_FP_MATCH=true\nBACKUPV2_TARGETS_SHA_EXACT=true\nBACKUPV2_RETIRED_US_NETBIRD_EXACT=true\nLEGACY_AST_PASS=true\nENTRY_CAPTURE_VPS_US_PRESENT=true\nENTRY_CAPTURE_VPS_US_REACHABLE=capture_vps_us,pipe_to_zstd,vps_ssh_argv\nENTRY_CAPTURE_VPS_US_DIRECT_CALLS=join,pipe_to_zstd,vps_ssh_argv\nENTRY_BOOTSTRAP_VPS_KEYS_PRESENT=true\nENTRY_BOOTSTRAP_VPS_KEYS_REACHABLE=atomic_write,bootstrap_vps_keys,ensure_dir,ensure_vps_known_hosts,operator_key_fingerprint,run,scan_hostkey_line,vps_run,vps_ssh_argv\nENTRY_BOOTSTRAP_VPS_KEYS_DIRECT_CALLS=BackupError,decode,ensure_vps_known_hosts,get,operator_key_fingerprint,run,str,strip,vps_run\nENTRY_ENSURE_VPS_KNOWN_HOSTS_PRESENT=true\nENTRY_ENSURE_VPS_KNOWN_HOSTS_REACHABLE=atomic_write,ensure_dir,ensure_vps_known_hosts,run,scan_hostkey_line\nENTRY_ENSURE_VPS_KNOWN_HOSTS_DIRECT_CALLS=append,atomic_write,encode,join,scan_hostkey_line\nENTRY_CAPTURE_TARGET_PRESENT=true\nENTRY_CAPTURE_TARGET_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cluster_inventory,epoch,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,parse_router_legacy,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,remote_hashset,router_read,run,sha256_bytes,sha256_file,ssh_remote,vps_run,vps_ssh_argv,xf_guest_builder\nENTRY_CAPTURE_TARGET_DIRECT_CALLS=BackupError,capture_node_bundle,capture_pve_guest,capture_router,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo\nENTRY_GREEN_RUN_PRESENT=true\nENTRY_GREEN_RUN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cleanup_source,cluster_inventory,control_verify,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_targets,locate_exact_sha,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,select_replicas,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder\nENTRY_GREEN_RUN_DIRECT_CALLS=BackupError,append,backup_target,bootstrap_vps_keys,dumps,ensure_router_known_hosts,get,join,len,load_targets,print,sub,sum,upper\nENTRY_MAIN_PRESENT=true\nENTRY_MAIN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_isolated_release_graph_selftest,_lxc_job,_pve_dumpdir_spec,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,choose_due_target,cleanup_source,cluster_inventory,control_verify,default_targets,discover,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_state_all,load_targets,locate_exact_sha,main,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,scheduled_run,select_replicas,selftest,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder\nENTRY_MAIN_DIRECT_CALLS=discover,green_run,len,print,scheduled_run,selftest\nENTRY_DEFAULT_TARGETS_PRESENT=true\nENTRY_DEFAULT_TARGETS_REACHABLE=default_targets\nENTRY_DEFAULT_TARGETS_DIRECT_CALLS=append,str\nENTRY_VALIDATE_PAYLOAD_PRESENT=true\nENTRY_VALIDATE_PAYLOAD_REACHABLE=run,validate_payload,validate_tar_zst\nENTRY_VALIDATE_PAYLOAD_DIRECT_CALLS=BackupError,Popen,close,communicate,len,run,str,validate_tar_zst,wait,which\nVPS_US_IF_TESTS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_)\nVPS_US_IF_TEST_COUNT=3\nUS_NETBIRD_IF_TESTS=NONE\nUS_NETBIRD_IF_TEST_COUNT=0\nGREEN1_IF_TESTS=cmd == _green1_\nGREEN1_IF_TEST_COUNT=1\nALL_IF_TESTS=NONE\nALL_IF_TEST_COUNT=0\nVPS_US_TRANSITIVE_STRINGS=IdentityAgent=none,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,port,user,vps_us\nBOOTSTRAP_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,IdentityAgent=none,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,hostkey_fingerprint,logical_id,port,ssh-ed25519,ssh-keygen,user,vps_us\nKNOWNHOST_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,host,hostkey_fingerprint,port,ssh-ed25519,vps_us\nGREEN_TRANSITIVE_STRINGS=/manifest.json,[SENSITIVE_PATH],/usr/bin/lxc-usernsexec,CONTROL_ENGINE_IDENTITY,GREEN_REPLICA_COMPARE,HISTORICAL_RELEASE_GRAPH_IDENTITY,HOSTKEY_PIN_MISMATCH,IMPORT_PACKAGE_OR_SAFE_CLI_NOT_BLIND_CONFIG_REPLACE,IdentityAgent=none,LXC_CUSTOM_IDMAP_UNSUPPORTED,MANIFEST_PART_TOTAL_MISMATCH,MANIFEST_PAYLOAD_SHA_INVALID,MANIFEST_READBACK_MISMATCH,MANIFEST_REPLICA_PHYSICAL_DUPLICATE,P270_IDENTITY,P282_IDENTITY,PATH=/usr/sbin:/usr/bin:/sbin:/bin_ export PATH_ exec ,PYTHONNOUSERSITE,RCLONE_ABOUT_JSON,RCLONE_CAT_FAILED,RCLONE_CAT_SIZE_MISMATCH,RCLONE_CAT_TIMEOUT,RCLONE_FREE_UNKNOWN,RCLONE_RCAT_FAILED,RCLONE_SMALL_OBJECT_TOO_LARGE,ROUTER_KNOWN_HOSTS_IDENTITY,ROUTER_LEGACY_SCRIPT_IDENTITY,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,TARGET_MANIFEST_DUPLICATE,TARGET_MANIFEST_SCHEMA,UserKnownHostsFile=,_REPLICAS=,__s_(_:export_s+)_([A-Za-z_][A-Za-z0-9_]_)=(._)_,_bsshpass_b[__n]__(_:___s)-f_s+(__[___]_____[__]___[__s_]+),_if not root.startswith(_/var/www/forums/_) or not db.startswith(_xf__): raise SystemExit(20)_tmp=pathlib.Path(_/tmp/homelab-v2-xf-_+token)_ tmp.mkdir(mode=0o700,exist_ok=False)_dump=tmp/_db.sql__ out=pathlib.Path(_/tmp/homelab-v2-xf-_+token+_.tar.zst_)_lock=None_try:_ if strategy==_global_read_lock_:_ lock=subprocess.Popen([_mariadb_,_--user=root_,_--batch_,_--skip-column-names_,_--unbuffered_],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL,text=True,bufsize=1)_ lock.stdin.write(_FLUSH TABLES WITH READ LOCK_ SELECT _LOCKED___n_)_ lock.stdin.flush()_ rr,_,_=select.select([lock.stdout],[],[],5)_ if not rr or lock.stdout.readline().strip()_=_LOCKED_: raise RuntimeError(_LOCK_ACQUIRE_)_ dump_timeout=15_ else: dump_timeout=180_ with open(dump,_wb_) as f:_ argv=[_mariadb-dump_,_--user=root_,_--quick_,_--skip-lock-tables_,_--hex-blob_,_--routines_,_,etc/hostname,etc/hosts,etc/pve/user.cfg,green1,host,hostkey_fingerprint,import base64,sys_ p=sys.argv[1]_ o=int(sys.argv[2])_ n=int(sys.argv[3])_ f=open(p,_rb_)_ f.seek(o)_ b=f.read(n)_ f.close()_ sys.stdout.write(base64.b64encode(b).decode()),import hashlib,json,os,pathlib,select,shutil,subprocess,tempfile,time_root=,logical_id,lxc-usernsexec,manifest_sha256,port,replicas,reported_maxdisk_bytes,reported_maxmem_bytes,root/.ssh/id_ed25519_netbird_operator,root/.ssh/id_ed25519_netbird_operator.pub,ssh-ed25519,ssh-keygen,user,vps_us\nVPS_US_TRANSITIVE_KEYS=host,port,user\nGREEN_TRANSITIVE_KEYS=SSH_AUTH_SOCK,allocator_healthy,app_root,archive_cap_bytes,bytes,crypt,db_bytes,db_name,dump_strategy,exit-code,exitcode,exited,free,generation,green1,guest_type,healthy,host,hostkey_fingerprint,kind,last_success_epoch,logical_id,maxdisk,maxmem,name,node,offset,out-data,parts,path,payload_bytes,payload_sha256,physical,port,replicas,schema,scope,sha256,slug,status,targets,template,type,user,vmid\nBOOTSTRAP_TRANSITIVE_KEYS=SSH_AUTH_SOCK,host,hostkey_fingerprint,logical_id,port,type,user\nSEMANTIC_PATH_LITERALS=/etc/homelab-backup-v2,[SENSITIVE_PATH],[SENSITIVE_PATH]\nTRANSITIVE_EXTERNAL_COMMANDS=python3,ssh,ssh-keygen,tar,zstd\nVPS_US_SSH_CLI_FLAGS=-T,-i,-o,-p,-q\nUS_NETBIRD_COMPARISONS=_t[_logical_id_] for t in default_targets() if t.get(_green1_)_ == __ct112_, _node-pve01_, _md-relay_, _spb-ingress_, _us-netbird_, _router-netcraze_, _xf-codevipe_, _xf-zakrutim_, _control-bootstrap-v2__\nVPS_US_COMPARISONS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_),x[_type_] == _vps_us_\nCAPTURE_VPS_US_CALLSITES=capture_vps_us(t, gen, work)\nGREEN_RUN_CALLSITES=green_run(_GREEN1_),green_run(_GREEN2_)\nTARGET_TYPE_SUMMARY=control:1:1:1,pve_guest:13:13:1,pve_node_bundle:3:3:1,router:1:1:1,vps_md:1:0:1,vps_spb:1:0:1,vps_us:1:0:1,xenforo:7:7:2\nRCLONE_REMOTE_COUNT=26\nRCLONE_REMOTE_NAMES=pve01-mail-01,pve01-mail-01-crypt,pve01-mail-02,pve01-mail-02-crypt,pve01-mail-03,pve01-mail-03-crypt,pve01-mail-04,pve01-mail-04-crypt,pve01-mail-05,pve01-mail-05-crypt,pve02-mail-01,pve02-mail-01-crypt,pve02-mail-02,pve02-mail-02-crypt,pve02-mail-03,pve02-mail-03-crypt,pve02-mail-04,pve02-mail-04-crypt,pve03-mail-01,pve03-mail-01-crypt,pve03-mail-02,pve03-mail-02-crypt,pve03-mail-03,pve03-mail-03-crypt,pve03-mail-04,pve03-mail-04-crypt\nRCLONE_GREEN_NAMED_REMOTES=NONE\nRUNNER_REALPATH=/usr/local/sbin/homelab-backup-v2\nRUNNER_SHA=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c\nBACKUPV2_SERVICE_EXECSTART=/usr/local/sbin/homelab-backup-v2 scheduled\nPVE01_TARGET_PIN_SUCCESS=0/3\nPVE01_OPERATOR_TARGET_SSH_PASS=false\nPVE01_OPERATOR_TARGET_UID0=false\nBACKUPV2_FINAL_CHANGE_INPUT_READY=false\nDECISION=HOLD_BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS\nNEXT_GATE=RCA_BACKUPV2_VPSUS_KEY_OR_GREEN_REPLICA\nTASK_RESULT=BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index dbd5ff25..66f1ba50 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,20 +1,20 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-261001-DSMODS-9633-TRANSACTION-RCA-9635R1 +COMMAND_ID=SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1 STATUS=OK RC=0 HOST=pve01 -MODE=change -COMPONENT=dsmods-9633-transaction-rca +MODE=read-only +COMPONENT=backupv2-vpsus-transitive-semantics REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=26431d04901cc1b203f6d87a47391596d51df5bf04d9c6625801b9d41ef0872c +COMMAND_SHA256=27b102f3e3240a033380d3a6f3392e21bdca6d812921151fa1106998c22f94dc DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=OK +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE COMMAND_RC=0 CHANGES_MADE=false @@ -24,116 +24,81 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=6958ebdcd459f1590631e7d0a4c673c4fcc4691e5f03ac8b00a16f90f1724862 -SANITIZED_OUTPUT_SHA256=6958ebdcd459f1590631e7d0a4c673c4fcc4691e5f03ac8b00a16f90f1724862 +RAW_EVIDENCE_SHA256=b77913f393173f1e230d495c3fc0664a38043598a85e35cc42690270c1cf3cde +SANITIZED_OUTPUT_SHA256=b6cb5200d2c3b090aa71baba03c91c14d87ff55fd915dfedff95ac4be1a503ac OUTPUT_BEGIN -DSMODS_9633_TRANSACTION_RCA=V1 -MODE=read-only-targeted-transaction-rca -TARGET_FQDN=dsmods.ru -PRODUCT_MUTATION=false -MYSQL_MUTATION=false -PUBLIC_ROOT_MUTATION=false -CRON_MUTATION=false -FTP_UPLOAD_ATTEMPT_COUNT=0 -REMOTE_DELETE_ATTEMPT_COUNT=0 -MYSQL_TOTAL=4 -MYSQL_EXACT_ALEISA_DSMODS_COUNT=1 -MYSQL_ANY_DSMODS_COUNT=1 -CRON_TOTAL=1 -CRON_9633_MATCH_COUNT=0 -FTP_DSMODS_LIST_RC=0 -FTP_9633_TXN_ENTRY_COUNT=4 -FTP_TXN_LINE_01_HEX=2e726f6c6c6261636b2d393633332d7075626c69635f68746d6c -FTP_TXN_LINE_02_HEX=2e77322d393633332e646f6e65 -FTP_TXN_LINE_03_HEX=2e77322d393633332e6c6f636b -FTP_TXN_LINE_04_HEX=2e77322d393633332e726573756c74 -RESULT_DOWNLOAD_RC=0 -RESULT_PRESENT=true -RESULT_BYTES=1689 -RESULT_SHA256=e370805e7596c387bea4ee9840449973d29dedcc7de868d58e1be3ce3408d625 -RESULT_CAPTURED_LINE_COUNT=64 -RESULT_LINE_001_HEX=44534d4f44535f473335365f42454745545f46494e414c5f524553544f52453d5631 -RESULT_LINE_002_HEX=4d4f44453d74617267657465642d726573746f7265 -RESULT_LINE_003_HEX=534f555243455f47454e45524154494f4e3d473335362d3230323630393134543035303733335a2d626139363237633961323265613862646366653535666531 -RESULT_LINE_004_HEX=5441524745545f44425f4e414d453d616c656973615f64736d6f6473 -RESULT_LINE_005_HEX=524553544f52455f5343524950545f53454c465f554e4c494e4b45443d74727565 -RESULT_LINE_006_HEX=3c52454441435445445f53454e5349544956455f4c494e455f5348413235363d336536343631383835616265386565366666393135653135333139663136373836306336376438323032636136656666393630376339393332353638663439333e -RESULT_LINE_007_HEX=5441524745545f544f4f4c5f464c4f434b3d74727565 -RESULT_LINE_008_HEX=5441524745545f544f4f4c5f5441523d74727565 -RESULT_LINE_009_HEX=5441524745545f544f4f4c5f5048503d74727565 -RESULT_LINE_010_HEX=5441524745545f544f4f4c5f505954484f4e333d74727565 -RESULT_LINE_011_HEX=5441524745545f544f4f4c5f4d5953514c3d74727565 -RESULT_LINE_012_HEX=5441524745545f544f4f4c5f475a49503d74727565 -RESULT_LINE_013_HEX=5441524745545f544f4f4c5f4355524c3d74727565 -RESULT_LINE_014_HEX=5441524745545f544f4f4c5f53484132353653554d3d74727565 -RESULT_LINE_015_HEX=5441524745545f544f4f4c5f46494e443d74727565 -RESULT_LINE_016_HEX=5441524745545f544f4f4c5f43484d4f443d74727565 -RESULT_LINE_017_HEX=43555252454e545f5055424c49435f524f4f545f50524553454e543d74727565 -RESULT_LINE_018_HEX=524f4c4c4241434b5f4f525f4e45575f524f4f545f434f4c4c4953494f4e3d66616c7365 -RESULT_LINE_019_HEX=53544147455f50524553454e543d74727565 -RESULT_LINE_020_HEX=53544147455f4150505f53495a453d333233373136373430 -RESULT_LINE_021_HEX=53544147455f4150505f5348413235363d32666337336465356537663865383361396362363637626163363462613662383833343832316133343665383439393737336563663337666239353636373861 -RESULT_LINE_022_HEX=53544147455f44425f53495a453d34323634323431 -RESULT_LINE_023_HEX=53544147455f44425f5348413235363d61313765316465366635623661306634656531353930613733323532356663653432306536353762616663386132373561633935363635353366353833653962 -RESULT_LINE_024_HEX=53544147455f4944454e544954593d50415353 -RESULT_LINE_025_HEX=4e45575f524f4f545f4352454154455f52433d30 -RESULT_LINE_026_HEX=4150505f455854524143545f52433d30 -RESULT_LINE_027_HEX=4e45575f494e4445585f50524553454e543d74727565 -RESULT_LINE_028_HEX=4e45575f58465f4d41524b45525f50524553454e543d74727565 -RESULT_LINE_029_HEX=4e45575f434f4e4649475f50524553454e543d74727565 -RESULT_LINE_030_HEX=4e45575f444154415f46494c45533d363630 -RESULT_LINE_031_HEX=4e45575f494e5445524e414c5f444154415f46494c45533d373034 -RESULT_LINE_032_HEX=4e45575f5352435f46494c45533d35353434 -RESULT_LINE_033_HEX=434f4e4649475f52454255494c445f52433d30 -RESULT_LINE_034_HEX=434f4e4649475f5048505f4c494e545f52433d30 -RESULT_LINE_035_HEX=444154415f5752495441424c453d74727565 -RESULT_LINE_036_HEX=494e5445524e414c5f444154415f5752495441424c453d74727565 -RESULT_LINE_037_HEX=44425f44554d505f434f4d5052455353494f4e3d7a737464 -RESULT_LINE_038_HEX=44425f44554d505f554e5041434b5f52433d30 -RESULT_LINE_039_HEX=44425f4e414d4553504143455f524557524954455f52433d30 -RESULT_LINE_040_HEX=44425f494d504f52545f52433d30 -RESULT_LINE_041_HEX=44425f5441424c455f434f554e543d323234 -RESULT_LINE_042_HEX=44425f494e4e4f44425f434f554e543d323234 -RESULT_LINE_043_HEX=44425f424f4152445f4143544956453d31 -RESULT_LINE_044_HEX=44425f424f4152445f55524c5f4d415443483d74727565 -RESULT_LINE_045_HEX=44425f58465f56455253494f4e5f49443d32303331313730 -RESULT_LINE_046_HEX=58454e464f524f5f434c495f424f4f5453545241505f52433d30 -RESULT_LINE_047_HEX=4f4c445f524f4f545f52454e414d455f52433d30 -RESULT_LINE_048_HEX=4e45575f524f4f545f52454e414d455f52433d30 -RESULT_LINE_049_HEX=524f4f545f535741505045443d74727565 -RESULT_LINE_050_HEX=5055424c49435f524f4f545f4355524c5f52433d30 -RESULT_LINE_051_HEX=5055424c49435f524f4f545f485454503d323030 -RESULT_LINE_052_HEX=5055424c49435f4c4f47494e5f4355524c5f52433d30 -RESULT_LINE_053_HEX=5055424c49435f4c4f47494e5f485454503d323030 -RESULT_LINE_054_HEX=5055424c49435f57484154535f4e45575f4355524c5f52433d30 -RESULT_LINE_055_HEX=5055424c49435f57484154535f4e45575f485454503d323030 -RESULT_LINE_056_HEX=5055424c49435f5757575f4355524c5f52433d30 -RESULT_LINE_057_HEX=5055424c49435f5757575f485454503d333031 -RESULT_LINE_058_HEX=5055424c49435f44534d4f44535f4d41524b45523d66616c7365 -RESULT_LINE_059_HEX=5055424c49435f58454e464f524f5f46494e4745525052494e543d66616c7365 -RESULT_LINE_060_HEX=5055424c49435f42454745545f504c414345484f4c4445523d66616c7365 -RESULT_LINE_061_HEX=524f4c4c4241434b5f535441525445443d66616c7365 -RESULT_LINE_062_HEX=524f4c4c4241434b5f524553544f5245443d6e756c6c -RESULT_LINE_063_HEX=524553544f52455f504153533d74727565 -RESULT_LINE_064_HEX=4445434953494f4e3d44534d4f44535f58454e464f524f5f524553544f5245445f46524f4d5f473333375f414e445f4c495645 -DONE_DOWNLOAD_RC=0 -DONE_PRESENT=true -DONE_BYTES=2 -DONE_SHA256=9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa -ROOT_CURL_RC=0 -ROOT_HTTP=200 -ROOT_BODY_BYTES=0 -ROOT_BODY_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -ROOT_XENFORO_HINT=false -ROOT_BEGET_PLACEHOLDER=false -RCA_RESULT=PASS -NEXT_GATE=CLASSIFY_EXACT_9633_RESULT_OR_TRANSACTION_ARTIFACTS -TASK_RESULT=DSMODS_9633_TRANSACTION_RCA_COMPLETE +BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS=V1 +INGRESS_HOSTKEY_SELF_BOUND=true +OPERATOR_KEY_PRESENT=true +OPERATOR_KEY_FP_MATCH=true +BACKUPV2_TARGETS_SHA_EXACT=true +BACKUPV2_RETIRED_US_NETBIRD_EXACT=true +LEGACY_AST_PASS=true +ENTRY_CAPTURE_VPS_US_PRESENT=true +ENTRY_CAPTURE_VPS_US_REACHABLE=capture_vps_us,pipe_to_zstd,vps_ssh_argv +ENTRY_CAPTURE_VPS_US_DIRECT_CALLS=join,pipe_to_zstd,vps_ssh_argv +ENTRY_BOOTSTRAP_VPS_KEYS_PRESENT=true +ENTRY_BOOTSTRAP_VPS_KEYS_REACHABLE=atomic_write,bootstrap_vps_keys,ensure_dir,ensure_vps_known_hosts,operator_key_fingerprint,run,scan_hostkey_line,vps_run,vps_ssh_argv +ENTRY_BOOTSTRAP_VPS_KEYS_DIRECT_CALLS=BackupError,decode,ensure_vps_known_hosts,get,operator_key_fingerprint,run,str,strip,vps_run +ENTRY_ENSURE_VPS_KNOWN_HOSTS_PRESENT=true +ENTRY_ENSURE_VPS_KNOWN_HOSTS_REACHABLE=atomic_write,ensure_dir,ensure_vps_known_hosts,run,scan_hostkey_line +ENTRY_ENSURE_VPS_KNOWN_HOSTS_DIRECT_CALLS=append,atomic_write,encode,join,scan_hostkey_line +ENTRY_CAPTURE_TARGET_PRESENT=true +ENTRY_CAPTURE_TARGET_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cluster_inventory,epoch,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,parse_router_legacy,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,remote_hashset,router_read,run,sha256_bytes,sha256_file,ssh_remote,vps_run,vps_ssh_argv,xf_guest_builder +ENTRY_CAPTURE_TARGET_DIRECT_CALLS=BackupError,capture_node_bundle,capture_pve_guest,capture_router,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo +ENTRY_GREEN_RUN_PRESENT=true +ENTRY_GREEN_RUN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cleanup_source,cluster_inventory,control_verify,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_targets,locate_exact_sha,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,select_replicas,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder +ENTRY_GREEN_RUN_DIRECT_CALLS=BackupError,append,backup_target,bootstrap_vps_keys,dumps,ensure_router_known_hosts,get,join,len,load_targets,print,sub,sum,upper +ENTRY_MAIN_PRESENT=true +ENTRY_MAIN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_isolated_release_graph_selftest,_lxc_job,_pve_dumpdir_spec,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,choose_due_target,cleanup_source,cluster_inventory,control_verify,default_targets,discover,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_state_all,load_targets,locate_exact_sha,main,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,scheduled_run,select_replicas,selftest,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder +ENTRY_MAIN_DIRECT_CALLS=discover,green_run,len,print,scheduled_run,selftest +ENTRY_DEFAULT_TARGETS_PRESENT=true +ENTRY_DEFAULT_TARGETS_REACHABLE=default_targets +ENTRY_DEFAULT_TARGETS_DIRECT_CALLS=append,str +ENTRY_VALIDATE_PAYLOAD_PRESENT=true +ENTRY_VALIDATE_PAYLOAD_REACHABLE=run,validate_payload,validate_tar_zst +ENTRY_VALIDATE_PAYLOAD_DIRECT_CALLS=BackupError,Popen,close,communicate,len,run,str,validate_tar_zst,wait,which +VPS_US_IF_TESTS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_) +VPS_US_IF_TEST_COUNT=3 +US_NETBIRD_IF_TESTS=NONE +US_NETBIRD_IF_TEST_COUNT=0 +GREEN1_IF_TESTS=cmd == _green1_ +GREEN1_IF_TEST_COUNT=1 +ALL_IF_TESTS=NONE +ALL_IF_TEST_COUNT=0 +VPS_US_TRANSITIVE_STRINGS=IdentityAgent=none,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,port,user,vps_us +BOOTSTRAP_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,IdentityAgent=none,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,hostkey_fingerprint,logical_id,port,ssh-ed25519,ssh-keygen,user,vps_us +KNOWNHOST_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,host,hostkey_fingerprint,port,ssh-ed25519,vps_us +GREEN_TRANSITIVE_STRINGS=/manifest.json,[SENSITIVE_PATH],/usr/bin/lxc-usernsexec,CONTROL_ENGINE_IDENTITY,GREEN_REPLICA_COMPARE,HISTORICAL_RELEASE_GRAPH_IDENTITY,HOSTKEY_PIN_MISMATCH,IMPORT_PACKAGE_OR_SAFE_CLI_NOT_BLIND_CONFIG_REPLACE,IdentityAgent=none,LXC_CUSTOM_IDMAP_UNSUPPORTED,MANIFEST_PART_TOTAL_MISMATCH,MANIFEST_PAYLOAD_SHA_INVALID,MANIFEST_READBACK_MISMATCH,MANIFEST_REPLICA_PHYSICAL_DUPLICATE,P270_IDENTITY,P282_IDENTITY,PATH=/usr/sbin:/usr/bin:/sbin:/bin_ export PATH_ exec ,PYTHONNOUSERSITE,RCLONE_ABOUT_JSON,RCLONE_CAT_FAILED,RCLONE_CAT_SIZE_MISMATCH,RCLONE_CAT_TIMEOUT,RCLONE_FREE_UNKNOWN,RCLONE_RCAT_FAILED,RCLONE_SMALL_OBJECT_TOO_LARGE,ROUTER_KNOWN_HOSTS_IDENTITY,ROUTER_LEGACY_SCRIPT_IDENTITY,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,TARGET_MANIFEST_DUPLICATE,TARGET_MANIFEST_SCHEMA,UserKnownHostsFile=,_REPLICAS=,__s_(_:export_s+)_([A-Za-z_][A-Za-z0-9_]_)=(._)_,_bsshpass_b[__n]__(_:___s)-f_s+(__[___]_____[__]___[__s_]+),_if not root.startswith(_/var/www/forums/_) or not db.startswith(_xf__): raise SystemExit(20)_tmp=pathlib.Path(_/tmp/homelab-v2-xf-_+token)_ tmp.mkdir(mode=0o700,exist_ok=False)_dump=tmp/_db.sql__ out=pathlib.Path(_/tmp/homelab-v2-xf-_+token+_.tar.zst_)_lock=None_try:_ if strategy==_global_read_lock_:_ lock=subprocess.Popen([_mariadb_,_--user=root_,_--batch_,_--skip-column-names_,_--unbuffered_],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL,text=True,bufsize=1)_ lock.stdin.write(_FLUSH TABLES WITH READ LOCK_ SELECT _LOCKED___n_)_ lock.stdin.flush()_ rr,_,_=select.select([lock.stdout],[],[],5)_ if not rr or lock.stdout.readline().strip()_=_LOCKED_: raise RuntimeError(_LOCK_ACQUIRE_)_ dump_timeout=15_ else: dump_timeout=180_ with open(dump,_wb_) as f:_ argv=[_mariadb-dump_,_--user=root_,_--quick_,_--skip-lock-tables_,_--hex-blob_,_--routines_,_,etc/hostname,etc/hosts,etc/pve/user.cfg,green1,host,hostkey_fingerprint,import base64,sys_ p=sys.argv[1]_ o=int(sys.argv[2])_ n=int(sys.argv[3])_ f=open(p,_rb_)_ f.seek(o)_ b=f.read(n)_ f.close()_ sys.stdout.write(base64.b64encode(b).decode()),import hashlib,json,os,pathlib,select,shutil,subprocess,tempfile,time_root=,logical_id,lxc-usernsexec,manifest_sha256,port,replicas,reported_maxdisk_bytes,reported_maxmem_bytes,root/.ssh/id_ed25519_netbird_operator,root/.ssh/id_ed25519_netbird_operator.pub,ssh-ed25519,ssh-keygen,user,vps_us +VPS_US_TRANSITIVE_KEYS=host,port,user +GREEN_TRANSITIVE_KEYS=SSH_AUTH_SOCK,allocator_healthy,app_root,archive_cap_bytes,bytes,crypt,db_bytes,db_name,dump_strategy,exit-code,exitcode,exited,free,generation,green1,guest_type,healthy,host,hostkey_fingerprint,kind,last_success_epoch,logical_id,maxdisk,maxmem,name,node,offset,out-data,parts,path,payload_bytes,payload_sha256,physical,port,replicas,schema,scope,sha256,slug,status,targets,template,type,user,vmid +BOOTSTRAP_TRANSITIVE_KEYS=SSH_AUTH_SOCK,host,hostkey_fingerprint,logical_id,port,type,user +SEMANTIC_PATH_LITERALS=/etc/homelab-backup-v2,[SENSITIVE_PATH],[SENSITIVE_PATH] +TRANSITIVE_EXTERNAL_COMMANDS=python3,ssh,ssh-keygen,tar,zstd +VPS_US_SSH_CLI_FLAGS=-T,-i,-o,-p,-q +US_NETBIRD_COMPARISONS=_t[_logical_id_] for t in default_targets() if t.get(_green1_)_ == __ct112_, _node-pve01_, _md-relay_, _spb-ingress_, _us-netbird_, _router-netcraze_, _xf-codevipe_, _xf-zakrutim_, _control-bootstrap-v2__ +VPS_US_COMPARISONS=typ in (_pve_node_bundle_, _vps_md_, _vps_spb_, _vps_us_, _router_),typ == _vps_us_,t[_type_] not in (_vps_md_, _vps_spb_, _vps_us_),x[_type_] == _vps_us_ +CAPTURE_VPS_US_CALLSITES=capture_vps_us(t, gen, work) +GREEN_RUN_CALLSITES=green_run(_GREEN1_),green_run(_GREEN2_) +TARGET_TYPE_SUMMARY=control:1:1:1,pve_guest:13:13:1,pve_node_bundle:3:3:1,router:1:1:1,vps_md:1:0:1,vps_spb:1:0:1,vps_us:1:0:1,xenforo:7:7:2 +RCLONE_REMOTE_COUNT=26 +RCLONE_REMOTE_NAMES=pve01-mail-01,pve01-mail-01-crypt,pve01-mail-02,pve01-mail-02-crypt,pve01-mail-03,pve01-mail-03-crypt,pve01-mail-04,pve01-mail-04-crypt,pve01-mail-05,pve01-mail-05-crypt,pve02-mail-01,pve02-mail-01-crypt,pve02-mail-02,pve02-mail-02-crypt,pve02-mail-03,pve02-mail-03-crypt,pve02-mail-04,pve02-mail-04-crypt,pve03-mail-01,pve03-mail-01-crypt,pve03-mail-02,pve03-mail-02-crypt,pve03-mail-03,pve03-mail-03-crypt,pve03-mail-04,pve03-mail-04-crypt +RCLONE_GREEN_NAMED_REMOTES=NONE +RUNNER_REALPATH=/usr/local/sbin/homelab-backup-v2 +RUNNER_SHA=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c +BACKUPV2_SERVICE_EXECSTART=/usr/local/sbin/homelab-backup-v2 scheduled +PVE01_TARGET_PIN_SUCCESS=0/3 +PVE01_OPERATOR_TARGET_SSH_PASS=false +PVE01_OPERATOR_TARGET_UID0=false +BACKUPV2_FINAL_CHANGE_INPUT_READY=false +DECISION=HOLD_BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS +NEXT_GATE=RCA_BACKUPV2_VPSUS_KEY_OR_GREEN_REPLICA +TASK_RESULT=BACKUPV2_VPSUS_TRANSITIVE_SEMANTICS CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null MUTATION_OUTCOME=NO_MUTATION -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261001-DSMODS-9633-TRANSACTION-RCA-9635R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END