Files
2026-09-09 13:53:51 +02:00

17 lines
813 B
Python

#!/usr/bin/env python3
"""Send recovery and shared deployment helpers in a single SSH connection."""
import base64
from pathlib import Path
import shlex
import subprocess
import sys
root = Path(__file__).parent
helper = base64.b64encode((root / 'deploy-update-remote.py').read_bytes()).decode('ascii')
recovery = base64.b64encode((root / 'admin-recovery-remote.py').read_bytes()).decode('ascii')
program = ("import base64; scope={'__name__':'recovery_helpers'}; "
"exec(compile(base64.b64decode('" + helper + "'),'deployment','exec'),scope); "
"scope['__name__']='__main__'; "
"exec(compile(base64.b64decode('" + recovery + "'),'admin-recovery','exec'),scope)")
raise SystemExit(subprocess.call(['ssh', '-o', 'BatchMode=yes', sys.argv[1], 'python3 -c ' + shlex.quote(program)]))