From ead5c6e6a84961de49539949a7bdc90310bf3006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 19 Sep 2023 20:30:36 +0200 Subject: [PATCH] secrets: add has_machine and has_secret function --- pkgs/clan-cli/clan_cli/secrets/machines.py | 6 +++++- pkgs/clan-cli/clan_cli/secrets/secrets.py | 9 +++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/secrets/machines.py b/pkgs/clan-cli/clan_cli/secrets/machines.py index f96c88b..24da93a 100644 --- a/pkgs/clan-cli/clan_cli/secrets/machines.py +++ b/pkgs/clan-cli/clan_cli/secrets/machines.py @@ -19,11 +19,15 @@ def get_machine(name: str) -> str: return read_key(sops_machines_folder() / name) +def has_machine(name: str) -> bool: + return (sops_machines_folder() / name / "key.json").exists() + + def list_machines() -> list[str]: path = sops_machines_folder() def validate(name: str) -> bool: - return validate_hostname(name) and (path / name / "key.json").exists() + return validate_hostname(name) and has_machine(name) return list_objects(path, validate) diff --git a/pkgs/clan-cli/clan_cli/secrets/secrets.py b/pkgs/clan-cli/clan_cli/secrets/secrets.py index 674fccc..f607c3a 100644 --- a/pkgs/clan-cli/clan_cli/secrets/secrets.py +++ b/pkgs/clan-cli/clan_cli/secrets/secrets.py @@ -171,14 +171,15 @@ def disallow_member(group_folder: Path, name: str) -> None: ) +def has_secret(secret: str) -> bool: + return (sops_secrets_folder() / secret / "secret").exists() + + def list_secrets() -> list[str]: path = sops_secrets_folder() def validate(name: str) -> bool: - return ( - VALID_SECRET_NAME.match(name) is not None - and (path / name / "secret").exists() - ) + return VALID_SECRET_NAME.match(name) is not None and has_secret(name) return list_objects(path, validate)