Stitch505
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-23 00:20:42 +04:00
79b91f157e fix: recursive search for manifest.json after tar extraction (files may be nested)
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-23 00:16:44 +04:00
c8bef6b41a fix: target-mode now runs with capture=False (interactive), so user sees prompts and can respond
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-23 00:11:01 +04:00
80bb196d24 fix: transfer.py — helper functions for ssh/scp/rsync, local tar then remote unpack for tool script, consistent error handling
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-23 00:06:24 +04:00
bfd6302448 fix: restore missing ensure_sshpass() function in ssh.py
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-23 00:02:43 +04:00
21bd747329 refactor: consistent terminology - 'новый сервер' and 'приватный SSH-ключ' instead of 'target' and generic 'ключ'
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:59:27 +04:00
0cd968a16d fix: target-first SSH flow — ask user for THEIR target key/password, don't scan source keys
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:53:04 +04:00
3ee5104302 refactor: clear SSH auth flow — passphrase is local only, target password is separate; interactive ssh-copy-id with visible prompt; 90 lines removed, logic simplified
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:48:45 +04:00
bd16e339c0 fix: ssh-copy-id interactive (capture=False) so password prompt visible; encrypted keys just warned, not source-server passphrase confusion; clear auth choice menu for target
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:42:42 +04:00
6d6418c059 feat: secure password/passphrase input via getpass; interactive SSH auth menu (key/passphrase/password/temp-key); fix missing do_transfer call
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:40:58 +04:00
4d6c7ef506 feat: interactive SSH auth choice (key with passphrase, password via sshpass, or temp ed25519); fix missing do_transfer call for password path
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:35:27 +04:00
bfa3136131 fix: target mode supports manual tar.gz path input + auto-extract when archive not transferred yet
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:28:14 +04:00
7d45d1f8c0 fix: full sshpass support for password-based transfer; pre-flight SSH check; clear error diagnostics
4a1e7923de fix: clear stale ssh_key from state when user declines keygen; add guard for missing key in do_transfer
Compare 2 commits »
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:15:38 +04:00
329dade4c9 fix: add missing confirm import in main.py
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:13:53 +04:00
cdf283a598 fix: add timeout to ssh-copy-id and check_ssh_connectivity to prevent hangs
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:13:10 +04:00
b231892614 fix: scp hangs due to missing SSH options and 300s default timeout; add -o ConnectTimeout/StrictHostKeyChecking/BatchMode + 60s timeout
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:07:09 +04:00
9b005095b9 fix: scp uses -P (capital) for port; unify ssh_opts variable for remote commands
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 23:01:48 +04:00
a4be7c59d9 fix: FSM calls do_transfer_offer() correctly; resume remembers target_host/user/port
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 22:57:04 +04:00
76b06b157a fix: deduplicate sidecars/systemd, block system-critical stops, filter runtime paths
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 21:20:31 +04:00
186ab2325f CRITICAL: hardcode state.json to ~/.migrate/state.json, guarantee reset_state clears completed_steps
Stitch505 pushed to main at Stitch505/docker-migrate 2026-05-22 21:16:50 +04:00
0dfb4ec597 CRITICAL FIX: run_source_mode/run_target_mode now use reset_state to clear completed_steps