I am not sure to understand what `extract_public_key` was for. It seems like `age-keygen -y` will just work fine for a file like `extract_public_key` is looking for. Unless someone intentionally made a file with a comment like that without the private key in it. Messages are moved to stdout rather being logged. It feels like the output is meaningful in the first step users are going to take. Also makes testing easier, as log messages are captured differently than stdout. The call to add an user is changed to be easier to copy paste and work whether PGP or age is in use. A description for the command is added instead of help which does not seem to be displayed.
clan-cli
The clan-cli contains the command line interface
Hacking on the cli
We recommend setting up direnv to load the developement with nix.
If you do not have it set up you can also use nix develop directly like this:
use flake .#clan-cli --builders ''
After you can use the local bin wrapper to test things in the cli:
./bin/clan
Run locally single-threaded for debugging
By default tests run in parallel using pytest-parallel.
pytest-parallel however breaks breakpoint(). To disable it, use this:
pytest -n0 -s
You can also run a single test like this:
pytest -n0 -s tests/test_secrets_cli.py::test_users
Run tests in nix container
Run all impure checks
nix run .#impure-checks
Run all checks
nix flake check