backups: no longer interpret backup interface as bash commands

This commit is contained in:
Jörg Thalheim
2024-03-20 07:28:02 +01:00
parent 56760f0e8d
commit fa94ee4b96
5 changed files with 32 additions and 37 deletions

View File

@@ -14,7 +14,7 @@ def create_backup(machine: Machine, provider: str | None = None) -> None:
if provider is None:
for provider in backup_scripts["providers"]:
proc = machine.target_host.run(
["bash", "-c", backup_scripts["providers"][provider]["create"]],
[backup_scripts["providers"][provider]["create"]],
)
if proc.returncode != 0:
raise ClanError("failed to start backup")
@@ -24,7 +24,7 @@ def create_backup(machine: Machine, provider: str | None = None) -> None:
if provider not in backup_scripts["providers"]:
raise ClanError(f"provider {provider} not found")
proc = machine.target_host.run(
["bash", "-c", backup_scripts["providers"][provider]["create"]],
[backup_scripts["providers"][provider]["create"]],
)
if proc.returncode != 0:
raise ClanError("failed to start backup")

View File

@@ -17,7 +17,7 @@ def list_provider(machine: Machine, provider: str) -> list[Backup]:
results = []
backup_metadata = json.loads(machine.eval_nix("config.clanCore.backups"))
proc = machine.target_host.run(
["bash", "-c", backup_metadata["providers"][provider]["list"]],
[backup_metadata["providers"][provider]["list"]],
stdout=subprocess.PIPE,
check=False,
)

View File

@@ -15,11 +15,7 @@ def restore_service(machine: Machine, name: str, provider: str, service: str) ->
env["FOLDERS"] = ":".join(folders)
proc = machine.target_host.run(
[
"bash",
"-c",
backup_folders[service]["preRestoreScript"],
],
[backup_folders[service]["preRestoreScript"]],
stdout=subprocess.PIPE,
extra_env=env,
)
@@ -29,11 +25,7 @@ def restore_service(machine: Machine, name: str, provider: str, service: str) ->
)
proc = machine.target_host.run(
[
"bash",
"-c",
backup_metadata["providers"][provider]["restore"],
],
[backup_metadata["providers"][provider]["restore"]],
stdout=subprocess.PIPE,
extra_env=env,
)
@@ -43,11 +35,7 @@ def restore_service(machine: Machine, name: str, provider: str, service: str) ->
)
proc = machine.target_host.run(
[
"bash",
"-c",
backup_folders[service]["postRestoreScript"],
],
[backup_folders[service]["postRestoreScript"]],
stdout=subprocess.PIPE,
extra_env=env,
)