a uacme wrapper that maybe probably doesn't suck too much
Find a file
2024-07-27 20:48:16 +02:00
nyacme fix: use string "none" for HE DNS record "removal" 2024-07-27 20:48:16 +02:00
.gitignore feat: initial commit 2024-03-16 06:58:17 +01: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 feat: add hurricane electric handler 2024-07-27 20:00:34 +02:00
ruff.toml chore: target python 3.10 in ruff config 2024-07-27 20:14:25 +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)
  • he ( hurricane electric )