Merge pull request 'vars: generate proper commit messages' (#2142) from DavHau/clan-core:DavHau-dave into main
This commit is contained in:
@@ -88,6 +88,7 @@ def encrypt_secret(
|
||||
add_users: list[str] | None = None,
|
||||
add_machines: list[str] | None = None,
|
||||
add_groups: list[str] | None = None,
|
||||
git_commit: bool = True,
|
||||
) -> None:
|
||||
if add_groups is None:
|
||||
add_groups = []
|
||||
@@ -145,10 +146,11 @@ def encrypt_secret(
|
||||
secret_path = secret_path / "secret"
|
||||
encrypt_file(secret_path, value, sorted(recipient_keys))
|
||||
files_to_commit.append(secret_path)
|
||||
if git_commit:
|
||||
commit_files(
|
||||
files_to_commit,
|
||||
flake_dir,
|
||||
f"Update secret {secret_path.name}",
|
||||
f"Update secret {secret_path.parent.name}",
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ def execute_generator(
|
||||
commit_files(
|
||||
files_to_commit,
|
||||
machine.flake_dir,
|
||||
f"Update facts/secrets for service {generator_name} in machine {machine.name}",
|
||||
f"Update vars via generator {generator_name} for machine {machine.name}",
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ class SecretStore(SecretStoreBase):
|
||||
value,
|
||||
add_machines=[self.machine.name],
|
||||
add_groups=self.machine.deployment["sops"]["defaultGroups"],
|
||||
git_commit=False,
|
||||
)
|
||||
return path
|
||||
|
||||
|
||||
@@ -535,3 +535,63 @@ def test_api_set_prompts(
|
||||
],
|
||||
)
|
||||
assert store.get("my_generator", "prompt1").decode() == "input2"
|
||||
|
||||
|
||||
@pytest.mark.impure
|
||||
def test_commit_message(
|
||||
monkeypatch: pytest.MonkeyPatch,
|
||||
temporary_home: Path,
|
||||
) -> None:
|
||||
config = nested_dict()
|
||||
my_generator = config["clan"]["core"]["vars"]["generators"]["my_generator"]
|
||||
my_generator["files"]["my_value"]["secret"] = False
|
||||
my_generator["script"] = "echo hello > $out/my_value"
|
||||
my_secret_generator = config["clan"]["core"]["vars"]["generators"][
|
||||
"my_secret_generator"
|
||||
]
|
||||
my_secret_generator["files"]["my_secret"]["secret"] = True
|
||||
my_secret_generator["script"] = "echo hello > $out/my_secret"
|
||||
flake = generate_flake(
|
||||
temporary_home,
|
||||
flake_template=CLAN_CORE / "templates" / "minimal",
|
||||
machine_configs={"my_machine": config},
|
||||
monkeypatch=monkeypatch,
|
||||
)
|
||||
monkeypatch.chdir(flake.path)
|
||||
cli.run(
|
||||
[
|
||||
"vars",
|
||||
"generate",
|
||||
"--flake",
|
||||
str(flake.path),
|
||||
"my_machine",
|
||||
"--service",
|
||||
"my_generator",
|
||||
]
|
||||
)
|
||||
# get last commit message
|
||||
commit_message = run(
|
||||
["git", "log", "-1", "--pretty=%B"],
|
||||
).stdout.strip()
|
||||
assert (
|
||||
commit_message
|
||||
== "Update vars via generator my_generator for machine my_machine"
|
||||
)
|
||||
cli.run(
|
||||
[
|
||||
"vars",
|
||||
"generate",
|
||||
"--flake",
|
||||
str(flake.path),
|
||||
"my_machine",
|
||||
"--service",
|
||||
"my_secret_generator",
|
||||
]
|
||||
)
|
||||
commit_message = run(
|
||||
["git", "log", "-1", "--pretty=%B"],
|
||||
).stdout.strip()
|
||||
assert (
|
||||
commit_message
|
||||
== "Update vars via generator my_secret_generator for machine my_machine"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user