bugfix: comprehensive stability audit and fixes

- discover/docker.py: handle comma-separated compose_file in labels
- discover/network.py: replace os.getlogin() with robust user detection
- target.py: add lsb_release fallback via hostnamectl, guard None compose_file,
  use container name (not cached CID) for docker logs
- main.py: call reset_state(mode='target') before target mode,
  improve EOF handling info message
- source.py: remove redundant set_stage('DONE') inside transfer_offer
- transfer.py: fix stage naming for resume after transfer
- add dry_run.py for local logic validation
This commit is contained in:
2026-05-22 20:58:37 +04:00
parent 6f3637795b
commit 97b3623915
5 changed files with 205 additions and 27 deletions
+1 -1
View File
@@ -99,7 +99,7 @@ def do_transfer():
raise RuntimeError(f"Распаковка на target не удалась: {r2.stderr}")
# Сохраняем remote_dir в state для target
state.set_stage("TRANSFER_DONE", target_remote_dir=remote_dir)
state.set_stage("TRANSFER", target_remote_dir=remote_dir)
# Предлагаем сразу запустить target-режим удалённо
if confirm("Сразу запустить восстановление на новом сервере (remote target mode)", default="y"):