vars: refactor - health checks on multiple generators
This commit is contained in:
@@ -78,7 +78,7 @@ class StoreBase(ABC):
|
||||
def health_check(
|
||||
self,
|
||||
machine: str,
|
||||
generator: "Generator | None" = None,
|
||||
generators: list["Generator"] | None = None,
|
||||
file_name: str | None = None,
|
||||
) -> str | None:
|
||||
return None
|
||||
@@ -86,7 +86,7 @@ class StoreBase(ABC):
|
||||
def fix(
|
||||
self,
|
||||
machine: str,
|
||||
generator: "Generator | None" = None,
|
||||
generators: list["Generator"] | None = None,
|
||||
file_name: str | None = None,
|
||||
) -> None:
|
||||
return None
|
||||
|
||||
@@ -66,7 +66,7 @@ def vars_status(
|
||||
else:
|
||||
msg = machine.secret_vars_store.health_check(
|
||||
machine=machine.name,
|
||||
generator=generator,
|
||||
generators=[generator],
|
||||
file_name=file.name,
|
||||
)
|
||||
if msg:
|
||||
|
||||
@@ -24,9 +24,8 @@ def fix_vars(machine: Machine, generator_name: None | str = None) -> None:
|
||||
)
|
||||
raise ClanError(err_msg)
|
||||
|
||||
for generator in generators:
|
||||
machine.public_vars_store.fix(machine.name, generator=generator)
|
||||
machine.secret_vars_store.fix(machine.name, generator=generator)
|
||||
machine.public_vars_store.fix(machine.name, generators=generators)
|
||||
machine.secret_vars_store.fix(machine.name, generators=generators)
|
||||
|
||||
|
||||
def fix_command(args: argparse.Namespace) -> None:
|
||||
|
||||
@@ -529,19 +529,19 @@ def run_generators(
|
||||
|
||||
machine = Machine(name=machine_name, flake=Flake(str(base_dir)))
|
||||
if not generators:
|
||||
filtered_generators = Generator.get_machine_generators(
|
||||
generator_objects = Generator.get_machine_generators(
|
||||
machine_name, machine.flake
|
||||
)
|
||||
else:
|
||||
generators_set = set(generators)
|
||||
filtered_generators = [
|
||||
generator_objects = [
|
||||
g
|
||||
for g in Generator.get_machine_generators(machine_name, machine.flake)
|
||||
if g.name in generators_set
|
||||
]
|
||||
return _generate_vars_for_machine(
|
||||
machine=machine,
|
||||
generators=filtered_generators,
|
||||
generators=generator_objects,
|
||||
all_prompt_values=all_prompt_values,
|
||||
no_sandbox=no_sandbox,
|
||||
)
|
||||
@@ -562,10 +562,10 @@ def create_machine_vars_interactive(
|
||||
break
|
||||
|
||||
pub_healtcheck_msg = machine.public_vars_store.health_check(
|
||||
machine.name, _generator
|
||||
machine.name, [_generator] if _generator else None
|
||||
)
|
||||
sec_healtcheck_msg = machine.secret_vars_store.health_check(
|
||||
machine.name, _generator
|
||||
machine.name, [_generator] if _generator else None
|
||||
)
|
||||
|
||||
if pub_healtcheck_msg or sec_healtcheck_msg:
|
||||
|
||||
@@ -112,7 +112,7 @@ class SecretStore(StoreBase):
|
||||
def health_check(
|
||||
self,
|
||||
machine: str,
|
||||
generator: Generator | None = None,
|
||||
generators: list[Generator] | None = None,
|
||||
file_name: str | None = None,
|
||||
) -> str | None:
|
||||
"""
|
||||
@@ -120,12 +120,10 @@ class SecretStore(StoreBase):
|
||||
when new users were added.
|
||||
"""
|
||||
|
||||
if generator is None:
|
||||
if generators is None:
|
||||
from clan_cli.vars.generate import Generator
|
||||
|
||||
generators = Generator.get_machine_generators(machine, self.flake)
|
||||
else:
|
||||
generators = [generator]
|
||||
file_found = False
|
||||
outdated = []
|
||||
for generator in generators:
|
||||
@@ -314,17 +312,15 @@ class SecretStore(StoreBase):
|
||||
def fix(
|
||||
self,
|
||||
machine: str,
|
||||
generator: Generator | None = None,
|
||||
generators: list[Generator] | None = None,
|
||||
file_name: str | None = None,
|
||||
) -> None:
|
||||
from clan_cli.secrets.secrets import update_keys
|
||||
|
||||
if generator is None:
|
||||
if generators is None:
|
||||
from clan_cli.vars.generate import Generator
|
||||
|
||||
generators = Generator.get_machine_generators(machine, self.flake)
|
||||
else:
|
||||
generators = [generator]
|
||||
file_found = False
|
||||
for generator in generators:
|
||||
for file in generator.files:
|
||||
|
||||
Reference in New Issue
Block a user