39 lines
12 KiB
JSON
39 lines
12 KiB
JSON
{
|
|
"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"
|
|
}
|