fix clan vars for public vars

This commit is contained in:
Jörg Thalheim
2024-12-11 15:54:46 +01:00
parent e52e7ef3a0
commit 9ad4e4d041
2 changed files with 9 additions and 2 deletions

View File

@@ -85,7 +85,9 @@ class SecretStore(StoreBase):
self, key_dir: Path, generator: Generator, secret_name: str
) -> bool:
secret_path = self.secret_path(generator, secret_name)
return sops.SopsKey.load_dir(key_dir) in sops.get_recipients(secret_path)
recipient = sops.SopsKey.load_dir(key_dir)
recipients = sops.get_recipients(secret_path)
return recipient in recipients
def secret_path(self, generator: Generator, secret_name: str) -> Path:
return self.directory(generator, secret_name)
@@ -247,6 +249,8 @@ class SecretStore(StoreBase):
file_found = True
else:
continue
if not file.secret:
continue
secret_path = self.secret_path(generator, file.name)
update_keys(

View File

@@ -177,7 +177,10 @@ def test_generate_secret_var_sops_with_default_group(
config["clan"]["core"]["sops"]["defaultGroups"] = ["my_group"]
my_generator = config["clan"]["core"]["vars"]["generators"]["my_generator"]
my_generator["files"]["my_secret"]["secret"] = True
my_generator["script"] = "echo hello > $out/my_secret"
my_generator["files"]["my_public"]["secret"] = False
my_generator["script"] = (
"echo hello > $out/my_secret && echo hello > $out/my_public"
)
flake.refresh()
monkeypatch.chdir(flake.path)
sops_setup.init()