The age commands: pub, priv, encrypt and decrypt (closes #3)
All checks were successful
check / check (push) Successful in 28s

keyfunc age derives an age identity at the generic path the way secret's agehd does, prints the recipient or the identity, and encrypts to or decrypts with it, the derived recipient always among encrypt's recipients. Two review rounds; the second passed with no findings, the clamping step now pinned by a fixed identity test.

Model: opus-5 (implementation and review); fable-5-1 (landing)
This commit was merged in pull request #7.
This commit is contained in:
2026-09-07 18:35:11 +02:00
parent d69bed722a
commit 5bbeec86d6
7 changed files with 744 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import (
"fmt"
"os"
"git.eeqj.de/sneak/keyfunc/internal/cli/age"
"git.eeqj.de/sneak/keyfunc/internal/cli/mnemonic"
"git.eeqj.de/sneak/keyfunc/internal/cli/options"
"git.eeqj.de/sneak/keyfunc/internal/cli/ssh"
@@ -30,7 +31,7 @@ func Root() *cobra.Command {
}
options.Add(root)
root.AddCommand(ssh.Command(), mnemonic.Command())
root.AddCommand(ssh.Command(), age.Command(), mnemonic.Command())
return root
}