vars: log var updates under specific machine

This makes it easier in the logs to identify which machine a var update belongs to
This commit is contained in:
DavHau
2025-08-19 17:49:32 +07:00
parent c25844dd07
commit 9ce563aa08

View File

@@ -1,6 +1,6 @@
import logging import logging
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from collections.abc import Iterable from collections.abc import Callable, Iterable
from dataclasses import dataclass from dataclasses import dataclass
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
@@ -142,6 +142,8 @@ class StoreBase(ABC):
value: bytes, value: bytes,
is_migration: bool = False, is_migration: bool = False,
) -> Path | None: ) -> Path | None:
from clan_lib.machines.machines import Machine
if self.exists(generator, var.name): if self.exists(generator, var.name):
if self.is_secret_store: if self.is_secret_store:
old_val = None old_val = None
@@ -154,6 +156,12 @@ class StoreBase(ABC):
old_val_str = "<not set>" old_val_str = "<not set>"
new_file = self._set(generator, var, value) new_file = self._set(generator, var, value)
action_str = "Migrated" if is_migration else "Updated" action_str = "Migrated" if is_migration else "Updated"
log_info: Callable
if generator.machine is None:
log_info = log.info
else:
machine = Machine(name=generator.machine, flake=self.flake)
log_info = machine.info
if self.is_secret_store: if self.is_secret_store:
log.info(f"{action_str} secret var {generator.name}/{var.name}\n") log.info(f"{action_str} secret var {generator.name}/{var.name}\n")
else: else:
@@ -161,9 +169,9 @@ class StoreBase(ABC):
msg = f"{action_str} var {generator.name}/{var.name}" msg = f"{action_str} var {generator.name}/{var.name}"
if not is_migration: if not is_migration:
msg += f"\n old: {old_val_str}\n new: {string_repr(value)}" msg += f"\n old: {old_val_str}\n new: {string_repr(value)}"
log.info(msg) log_info(msg)
else: else:
log.info( log_info(
f"Var {generator.name}/{var.name} remains unchanged: {old_val_str}" f"Var {generator.name}/{var.name} remains unchanged: {old_val_str}"
) )
return new_file return new_file