hanko keeps your allowed signers file up to date with signing keys configured on platforms like GitHub and GitLab.
Usage
Keeps your allowed signers file up to date with signing keys configured on platforms like GitHub and GitLab.
Usage: hanko [OPTIONS] <COMMAND>
Commands:
update Update the allowed signers file
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <PATH> The configuration file [env: HANKO_CONFIG=]
--file <PATH> The allowed signers file [env: HANKO_ALLOWED_SIGNERS=]
-v, --verbose... Increase verbosity
-h, --help Print help
-V, --version Print version
Configuring Signers
To use hanko, a set of signers to track need to be configured first. As an example,
we'll create a configuration file in the default location ~/.config/hanko/config.toml
containing a single signer using the default GitHub source.
[[]]
= "octocat"
= ["octocat@github.com"]
Updating the allowed signers file
Once we've configured our signers, we can run the update command.
If an allowed signers file is configured in Git, hanko will write to that file.
Should no allowed signers file be configured within Git, or you want to specify a different path, the --file runtime option may be used.
Example Configuration
= [
{ = "torvalds", = ["torvalds@linux-foundation.org"], = ["github"] },
{ = "gvanrossum", = ["guido@python.org"], = ["github", "gitlab"] },
{ = "graydon", = ["graydon@pobox.com"], = ["github"] },
{ = "cwoods", = ["cwoods@acme.corp"], = ["acme-corp"] },
{ = "rdavis", = ["rdavis@acme.corp"], = ["acme-corp"] },
{ = "pbrock", = ["pbrock@acme.corp"], = ["acme-corp"] }
]
[[]]
= "acme-corp"
= "gitlab"
= "https://git.acme.corp"
Optional Features
The following cargo features can be used to enable additional functionality.
- detect-allowed-signers (enabled by default): Enables use of the gix-config crate to detect the location of the allowed signers file from Git configuration.
Contributing
Contributions of all sizes that improve hanko in any way, be it DX/UX, documentation, performance or other are highly appreciated.
To get started, please read the contribution guidelines. Before starting work on a new feature you would like to contribute that may impact simplicity, reliability or performance, please open an issue first.
License
The source code of this project is licensed under the MIT License. For more information, see LICENSE.