nixpkgs-suyu/nixos/modules/services/web-servers
Lucas Savva 982c5a1f0e
nixos/acme: Restructure module
- Use an acme user and group, allow group override only
- Use hashes to determine when certs actually need to regenerate
- Avoid running lego more than necessary
- Harden permissions
- Support "systemctl clean" for cert regeneration
- Support reuse of keys between some configuration changes
- Permissions fix services solves for previously root owned certs
- Add a note about multiple account creation and emails
- Migrate extraDomains to a list
- Deprecate user option
- Use minica for self-signed certs
- Rewrite all tests

I thought of a few more cases where things may go wrong,
and added tests to cover them. In particular, the web server
reload services were depending on the target - which stays alive,
meaning that the renewal timer wouldn't be triggering a reload
and old certs would stay on the web servers.

I encountered some problems ensuring that the reload took place
without accidently triggering it as part of the test. The sync
commands I added ended up being essential and I'm not sure why,
it seems like either node.succeed ends too early or there's an
oddity of the vm's filesystem I'm not aware of.

- Fix duplicate systemd rules on reload services

Since useACMEHost is not unique to every vhost, if one cert
was reused many times it would create duplicate entries in
${server}-config-reload.service for wants, before and
ConditionPathExists
2020-09-02 19:22:43 +01:00
..
apache-httpd nixos/acme: Restructure module 2020-09-02 19:22:43 +01:00
hitch treewide: Switch to system users 2019-10-12 22:25:28 +02:00
jboss nixos/*: editorconfig fixes 2020-08-08 10:54:16 +10:00
lighttpd Merge staging-next into staging 2019-07-03 08:59:42 +02:00
nginx nixos/acme: Restructure module 2020-09-02 19:22:43 +01:00
phpfpm nixos/phpfpm: fix erroneous pools example 2020-04-21 20:59:52 +02:00
unit nixos/unit: update sandboxing options 2020-08-15 11:21:09 +03:00
varnish nixos/varnish: fix default package name 2019-11-13 16:39:45 +01:00
caddy.nix nixos/caddy: resync with upstream unit file 2020-01-23 14:08:37 +01:00
darkhttpd.nix nixos/darkhttpd: fix package reference 2019-08-28 09:04:58 +08:00
fcgiwrap.nix
hydron.nix nixos/hydron: replace deprecated usage of PermissionsStartOnly 2019-05-25 08:38:15 -04:00
mighttpd2.nix
minio.nix nixos/minio: replace deprecated usage of PermissionsStartOnly 2019-04-13 07:00:56 -04:00
molly-brown.nix nixos/molly-brown: init 2020-07-24 11:04:33 +02:00
shellinabox.nix nixos/modules: remove trailing whitespace 2020-08-07 14:45:39 +01:00
tomcat.nix treewide: use attrs instead of list for types.loaOf options 2020-01-06 10:39:18 -05:00
traefik.nix Revert "traefik: unify TOML generation" 2020-06-29 09:34:41 +02:00
ttyd.nix nixos/ttyd: init 2019-11-13 23:18:47 +00:00
uwsgi.nix uwsgi: make instance configuration deeply mergeable 2020-05-15 08:53:31 +01:00
zope2.nix nixos/modules: Remove all usages of types.string 2019-08-31 18:19:00 +02:00