clan_cli machines update: cache values for faster eval

This commit is contained in:
lassulus
2025-04-06 22:53:16 -07:00
committed by Jörg Thalheim
parent 21c45e5ad9
commit db9097d5d0

View File

@@ -20,7 +20,7 @@ from clan_cli.facts.upload import upload_secrets
from clan_cli.flake import Flake
from clan_cli.inventory import Machine as InventoryMachine
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_command, nix_metadata
from clan_cli.nix import nix_command, nix_config, nix_metadata
from clan_cli.ssh.host import Host, HostKeyCheck
from clan_cli.vars.generate import generate_vars
from clan_cli.vars.upload import upload_secret_vars
@@ -265,6 +265,16 @@ def update_command(args: argparse.Namespace) -> None:
machine.error("Updating macOS machines is not yet supported")
sys.exit(1)
config = nix_config()
system = config["system"]
machine_names = [machine.name for machine in machines]
args.flake.precache(
[
f"clanInternals.machines.{system}.{{{','.join(machine_names)}}}.config.clan.core.vars.generators.*.validationHash",
f"clanInternals.machines.{system}.{{{','.join(machine_names)}}}.config.system.clan.deployment.file",
]
)
deploy_machines(machines)
except KeyboardInterrupt:
log.warning("Interrupted by user")