Merge pull request 'Vars: rename classmethod to get_machine_generators' (#4629) from vars-fixing into main

Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4629
This commit is contained in:
hsjobeki
2025-08-07 13:50:38 +00:00
7 changed files with 16 additions and 16 deletions

View File

@@ -117,7 +117,7 @@ def test_add_module_to_inventory(
generator = None generator = None
generators = Generator.generators_from_flake(machine.name, machine.flake) generators = Generator.get_machine_generators(machine.name, machine.flake)
for gen in generators: for gen in generators:
if gen.name == "borgbackup": if gen.name == "borgbackup":
generator = gen generator = gen

View File

@@ -38,7 +38,7 @@ def vars_status(
invalid_generators = [] invalid_generators = []
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
generators = Generator.generators_from_flake(machine.name, machine.flake) generators = Generator.get_machine_generators(machine.name, machine.flake)
if generator_name: if generator_name:
for generator in generators: for generator in generators:
if generator_name == generator.name: if generator_name == generator.name:

View File

@@ -12,7 +12,7 @@ log = logging.getLogger(__name__)
def fix_vars(machine: Machine, generator_name: None | str = None) -> None: def fix_vars(machine: Machine, generator_name: None | str = None) -> None:
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
generators = Generator.generators_from_flake(machine.name, machine.flake) generators = Generator.get_machine_generators(machine.name, machine.flake)
if generator_name: if generator_name:
for generator in generators: for generator in generators:
if generator_name == generator.name: if generator_name == generator.name:

View File

@@ -60,7 +60,7 @@ class Generator:
return check_vars(self.machine, self._flake, generator_name=self.name) return check_vars(self.machine, self._flake, generator_name=self.name)
@classmethod @classmethod
def generators_from_flake( def get_machine_generators(
cls: type["Generator"], cls: type["Generator"],
machine_name: str, machine_name: str,
flake: "Flake", flake: "Flake",
@@ -213,7 +213,7 @@ def decrypt_dependencies(
secret_vars_store: StoreBase, secret_vars_store: StoreBase,
public_vars_store: StoreBase, public_vars_store: StoreBase,
) -> dict[str, dict[str, bytes]]: ) -> dict[str, dict[str, bytes]]:
generators = Generator.generators_from_flake(machine.name, machine.flake) generators = Generator.get_machine_generators(machine.name, machine.flake)
result: dict[str, dict[str, bytes]] = {} result: dict[str, dict[str, bytes]] = {}
@@ -430,7 +430,7 @@ def get_closure(
) -> list[Generator]: ) -> list[Generator]:
from . import graph from . import graph
vars_generators = Generator.generators_from_flake(machine.name, machine.flake) vars_generators = Generator.get_machine_generators(machine.name, machine.flake)
generators: dict[str, Generator] = { generators: dict[str, Generator] = {
generator.name: generator for generator in vars_generators generator.name: generator for generator in vars_generators
} }
@@ -473,7 +473,7 @@ def get_generators(
list[Generator]: A list of generators for the machine. list[Generator]: A list of generators for the machine.
""" """
return Generator.generators_from_flake( return Generator.get_machine_generators(
machine_name, machine_name,
Flake(str(base_dir)), Flake(str(base_dir)),
include_previous_values, include_previous_values,
@@ -529,7 +529,7 @@ def run_generators(
generators_set = set(generators) generators_set = set(generators)
generators_ = [ generators_ = [
g g
for g in Generator.generators_from_flake(machine_name, machine.flake) for g in Generator.get_machine_generators(machine_name, machine.flake)
if g.name in generators_set if g.name in generators_set
] ]
@@ -550,7 +550,7 @@ def create_machine_vars_interactive(
) -> bool: ) -> bool:
_generator = None _generator = None
if generator_name: if generator_name:
generators = Generator.generators_from_flake(machine.name, machine.flake) generators = Generator.get_machine_generators(machine.name, machine.flake)
for generator in generators: for generator in generators:
if generator.name == generator_name: if generator.name == generator_name:
_generator = generator _generator = generator

View File

@@ -149,7 +149,7 @@ class SecretStore(StoreBase):
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
manifest = [] manifest = []
generators = Generator.generators_from_flake(machine, self.flake) generators = Generator.get_machine_generators(machine, self.flake)
for generator in generators: for generator in generators:
for file in generator.files: for file in generator.files:
manifest.append(f"{generator.name}/{file.name}".encode()) manifest.append(f"{generator.name}/{file.name}".encode())
@@ -180,7 +180,7 @@ class SecretStore(StoreBase):
def populate_dir(self, machine: str, output_dir: Path, phases: list[str]) -> None: def populate_dir(self, machine: str, output_dir: Path, phases: list[str]) -> None:
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
vars_generators = Generator.generators_from_flake(machine, self.flake) vars_generators = Generator.get_machine_generators(machine, self.flake)
if "users" in phases: if "users" in phases:
with tarfile.open( with tarfile.open(
output_dir / "secrets_for_users.tar.gz", "w:gz" output_dir / "secrets_for_users.tar.gz", "w:gz"

View File

@@ -56,7 +56,7 @@ class SecretStore(StoreBase):
# no need to generate keys if we don't manage secrets # no need to generate keys if we don't manage secrets
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
vars_generators = Generator.generators_from_flake(machine, self.flake) vars_generators = Generator.get_machine_generators(machine, self.flake)
if not vars_generators: if not vars_generators:
return return
has_secrets = False has_secrets = False
@@ -123,7 +123,7 @@ class SecretStore(StoreBase):
if generator is None: if generator is None:
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
generators = Generator.generators_from_flake(machine, self.flake) generators = Generator.get_machine_generators(machine, self.flake)
else: else:
generators = [generator] generators = [generator]
file_found = False file_found = False
@@ -202,7 +202,7 @@ class SecretStore(StoreBase):
def populate_dir(self, machine: str, output_dir: Path, phases: list[str]) -> None: def populate_dir(self, machine: str, output_dir: Path, phases: list[str]) -> None:
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
vars_generators = Generator.generators_from_flake(machine, self.flake) vars_generators = Generator.get_machine_generators(machine, self.flake)
if "users" in phases or "services" in phases: if "users" in phases or "services" in phases:
key_name = f"{machine}-age.key" key_name = f"{machine}-age.key"
if not has_secret(sops_secrets_folder(self.flake.path) / key_name): if not has_secret(sops_secrets_folder(self.flake.path) / key_name):
@@ -322,7 +322,7 @@ class SecretStore(StoreBase):
if generator is None: if generator is None:
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
generators = Generator.generators_from_flake(machine, self.flake) generators = Generator.get_machine_generators(machine, self.flake)
else: else:
generators = [generator] generators = [generator]
file_found = False file_found = False

View File

@@ -108,7 +108,7 @@ def run_machine_flash(
from clan_cli.vars.generate import Generator from clan_cli.vars.generate import Generator
for generator in Generator.generators_from_flake(machine.name, machine.flake): for generator in Generator.get_machine_generators(machine.name, machine.flake):
for file in generator.files: for file in generator.files:
if file.needed_for == "partitioning": if file.needed_for == "partitioning":
msg = f"Partitioning time secrets are not supported with `clan flash write`: clan.core.vars.generators.{generator.name}.files.{file.name}" msg = f"Partitioning time secrets are not supported with `clan flash write`: clan.core.vars.generators.{generator.name}.files.{file.name}"