diff --git a/pkgs/clan-cli/clan_cli/secrets/key.py b/pkgs/clan-cli/clan_cli/secrets/key.py index f471615d3..f41091d0e 100644 --- a/pkgs/clan-cli/clan_cli/secrets/key.py +++ b/pkgs/clan-cli/clan_cli/secrets/key.py @@ -60,9 +60,7 @@ def show_command(args: argparse.Namespace) -> None: if not key: msg = "No public key found" raise ClanError(msg) - json.dump( - {"key": key.pubkey, "type": str(key.key_type)}, sys.stdout, indent=2, sort_keys=True - ) + json.dump(key.as_dict(), sys.stdout, indent=2, sort_keys=True) def update_command(args: argparse.Namespace) -> None: diff --git a/pkgs/clan-cli/clan_cli/secrets/sops.py b/pkgs/clan-cli/clan_cli/secrets/sops.py index dc85a3926..ad956ef3a 100644 --- a/pkgs/clan-cli/clan_cli/secrets/sops.py +++ b/pkgs/clan-cli/clan_cli/secrets/sops.py @@ -37,6 +37,13 @@ class SopsKey: username: str key_type: KeyType + def as_dict(self) -> dict[str, str]: + return { + "publickey": self.pubkey, + "username": self.username, + "type": self.key_type.name.lower(), + } + def get_public_age_key(privkey: str) -> str: cmd = nix_shell(["nixpkgs#age"], ["age-keygen", "-y"])