a uacme wrapper that maybe probably doesn't suck too much
Find a file
2024-07-23 14:49:59 +02:00
nyacme fix: remove extraneous chown 2024-07-23 14:49:59 +02:00
.gitignore feat: initial commit 2024-03-16 06:58:17 +01:00
hook_launcher.py style: introduce a linter 2024-04-07 11:25:32 +02:00
LICENSE.txt feat: initial commit 2024-03-16 06:58:17 +01:00
pyproject.toml fix: unlink the path before linking it again 2024-03-16 20:08:39 +01:00
README.md docs: add usage to README 2024-07-23 14:36:26 +02:00
ruff.toml style: introduce a linter 2024-04-07 11:25:32 +02:00

nyacme

a uacme wrapper that maybe probably doesn't suck too much

usage:

usage: nyacme [-h] [-c CONFIG] [-o OUTPUT]

fun uacme wrapper

options:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        path to your config file (default: /etc/nyacme.toml)
  -o OUTPUT, --output OUTPUT
                        path to the certificate output directory (default: /etc/ssl/uacme)

example configuration:

post_acquire = [
	"doas service haproxy reload"
]

certificates = [
	"ptrc.gay",
	"*.dev.ptrc.gay"
]

[domains]
"ptrc.gay" = "hetzner"

[secrets]
hetzner = "your_secret_goes_here"

configuration options:

  • post_acquire - list of commands to be ran after a new certificate is acquired
  • certificates - list of CNs for the desired certificates (note: *.domain.tld also adds a domain.tld CN)
  • domains - dict of domains and their respective providers (note: it is expected that a domain is also the root of the zone)
  • secrets - dict of secrets to be used by providers; usually with the same name as provider itself
  • acme_path - string, path to your .well-known/acme-challenge/

currently implemented providers:

  • cloudflare
  • hetzner
  • http
  • porkbun (with secrets porkbun.apikey and porkbun.secretapikey)