From f67e750bbf8e4c816ed1a7e25fb4d37657548e84 Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 23 Jan 2024 15:04:10 +0100 Subject: [PATCH] clan-cli backups: use new machine class for eval --- checks/backups/flake-module.nix | 3 ++- pkgs/clan-cli/clan_cli/backups/create.py | 8 +++++--- pkgs/clan-cli/clan_cli/backups/list.py | 4 +--- pkgs/clan-cli/clan_cli/backups/restore.py | 14 +++----------- 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/checks/backups/flake-module.nix b/checks/backups/flake-module.nix index ec0c27632..e453ec1e7 100644 --- a/checks/backups/flake-module.nix +++ b/checks/backups/flake-module.nix @@ -27,11 +27,12 @@ in ]; }; }; - test_backup_client = { pkgs, lib, ... }: + test_backup_client = { pkgs, lib, config, ... }: let dependencies = [ self pkgs.stdenv.drvPath + clan.clanInternals.machines.x86_64-linux.test_backup_client.config.system.clan.deployment.file ] ++ builtins.map (i: i.outPath) (builtins.attrValues self.inputs); closureInfo = pkgs.closureInfo { rootPaths = dependencies; }; in diff --git a/pkgs/clan-cli/clan_cli/backups/create.py b/pkgs/clan-cli/clan_cli/backups/create.py index dbfa7b899..b119b58d7 100644 --- a/pkgs/clan-cli/clan_cli/backups/create.py +++ b/pkgs/clan-cli/clan_cli/backups/create.py @@ -1,14 +1,16 @@ import argparse import json +import logging from ..errors import ClanError from ..machines.machines import Machine +log = logging.getLogger(__name__) + def create_backup(machine: Machine, provider: str | None = None) -> None: - backup_scripts = json.loads( - machine.eval_nix(f"nixosConfigurations.{machine.name}.config.clanCore.backups") - ) + log.info(f"creating backup for {machine.name}") + backup_scripts = json.loads(machine.eval_nix("config.clanCore.backups")) if provider is None: for provider in backup_scripts["providers"]: proc = machine.host.run( diff --git a/pkgs/clan-cli/clan_cli/backups/list.py b/pkgs/clan-cli/clan_cli/backups/list.py index 8a679ce0a..039bb792a 100644 --- a/pkgs/clan-cli/clan_cli/backups/list.py +++ b/pkgs/clan-cli/clan_cli/backups/list.py @@ -18,9 +18,7 @@ class Backup: def list_provider(machine: Machine, provider: str) -> list[Backup]: results = [] - backup_metadata = json.loads( - machine.eval_nix(f"nixosConfigurations.{machine.name}.config.clanCore.backups") - ) + backup_metadata = json.loads(machine.eval_nix("config.clanCore.backups")) proc = machine.host.run( ["bash", "-c", backup_metadata["providers"][provider]["list"]], stdout=subprocess.PIPE, diff --git a/pkgs/clan-cli/clan_cli/backups/restore.py b/pkgs/clan-cli/clan_cli/backups/restore.py index d9e377fe1..7f168f91e 100644 --- a/pkgs/clan-cli/clan_cli/backups/restore.py +++ b/pkgs/clan-cli/clan_cli/backups/restore.py @@ -11,12 +11,8 @@ from .list import Backup, list_backups def restore_service( machine: Machine, backup: Backup, provider: str, service: str ) -> None: - backup_metadata = json.loads( - machine.eval_nix(f"nixosConfigurations.{machine.name}.config.clanCore.backups") - ) - backup_folders = json.loads( - machine.eval_nix(f"nixosConfigurations.{machine.name}.config.clanCore.state") - ) + backup_metadata = json.loads(machine.eval_nix("config.clanCore.backups")) + backup_folders = json.loads(machine.eval_nix("config.clanCore.state")) folders = backup_folders[service]["folders"] env = os.environ.copy() env["ARCHIVE_ID"] = backup.archive_id @@ -77,11 +73,7 @@ def restore_backup( if service is None: for backup in backups: if backup.archive_id == archive_id: - backup_folders = json.loads( - machine.eval_nix( - f"nixosConfigurations.{machine.name}.config.clanCore.state" - ) - ) + backup_folders = json.loads(machine.eval_nix("config.clanCore.state")) for _service in backup_folders: restore_service(machine, backup, provider, _service) else: