Commit Graph

29 Commits

Author SHA1 Message Date
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
networkException
968905ab76
nixos/caddy: also increase socket send buffer size as recommended by upstream
this patch adjusts the `boot.kernel.sysctl."net.core.wmem_max"` to match the
value suggested in the quic-go wiki, just as `"net.core.wmem_max"`.

see fdfdc5df21
see https://github.com/quic-go/quic-go/issues/3923
2023-12-15 04:43:57 +01:00
sohalt
3c6b3d71fa nixos/caddy: Use caddyfile adapter by default when explicitly specifying configFile 2023-12-06 21:57:21 +01:00
h7x4
0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Jonathan Davies
a1163912c2 nixos/caddy: Fixed RestartSec typo. 2023-11-24 11:03:32 +00:00
Jonathan Davies
79e7841ff7 nixos/caddy: Set systemd unit to restart on-failure whilst ignoring
error code 1.

This is what's recommended by systemd for long-running services and
helps with recovering from crashes.
2023-11-06 18:27:47 +00:00
emilylange
fcdcccaed6
nixos/caddy: ensure vhosts come after user-specified cfg.extraConfig
This solves an issue, where loading the nixos-unstable module in
nixos-stable using `disabledModules` and `imports` resulted in the
following Caddyfile:

```
<globalConfig>

<vhosts>

<extraConfig>
```

instead of

```
<globalConfig>

<extraConfig>

<vhosts>
```

This is important in cases where `cfg.extraConfig` contains so called
Caddyfile snippets.

See https://caddyserver.com/docs/caddyfile/concepts#structure

Co-authored-by: Lin Jian <me@linj.tech>
2023-09-18 11:12:19 +02:00
sohalt
c01874615b nixos/caddy: Add rfc42 settings option 2023-08-22 20:14:35 +02:00
Sylvain Fankhauser
27b7132e81
nixos/caddy: remove admin check
Since it introduces IFD.
2023-07-04 11:25:08 +02:00
Sylvain Fankhauser
1f0ac736b4
nixos/caddy: add support for reload 2023-07-04 11:25:05 +02:00
IndeedNotJames
93b9fc8ac0
nixos/caddy: omit empty bind directive when listenAddresses is empty
context: https://caddy.community/t/random-502-errors-when-proxying-to-application-with-self-signed-certificate/19657/6
2023-06-10 13:59:15 +02:00
IndeedNotJames
3f93ec5814
nixos/caddy: change acmeCA default to null
The nixos/caddy module is somewhat old by now
and has undergone quite some refactors.
This specific module option (originally named
`ca`) used to make a bit more sense when
Caddy did not have multiple ACME CAs as
fallback (LE & ZeroSSL) by configured by
default yet (ZeroSSL came with v2.3.0).

I also rephrased the description slightly,
to mention Caddy's automatic issuer fallback
and a note which this option maps to in the
Caddyfile, to provide a bit more context and
a more up-to-date recommendation.

Specifically that "fine-grained configuration"
section comes from a time when this module did
some custom tls/issuer config json merging
with the templated Caddyfile using `jq`.

The "The URL to the ACME CA's directory"
section is a word-for-word copy from the
official Caddy docs, which also include a link
to LE's docs to the referenced staging
endpoint. So I added that as well.
2023-06-10 13:59:10 +02:00
IndeedNotJames
f5a06f7150
nixos/caddy: fix caddy fmt for caddy v2.6.3
The nixos module uses `caddy fmt` to *format* the generated Caddyfile.
v2.6.3 slightly altered `caddy fmt`'s behavior.

Excerpt from https://github.com/caddyserver/caddy/releases/tag/v2.6.3
> cmd: caddy fmt return code is 1 if not formatted
> cmd: fmt exit successfully after overwriting config file

Which is why the internal `Caddyfile-formatted` now uses `cp` and `caddy fmt --overwrite` instead
2023-02-09 03:36:10 +01:00
happysalada
fdfdc5df21 caddy: module: rmem_max default 2022-10-22 07:55:53 -04:00
David Warde-Farley
a81954b818 Fix docs. 2022-09-28 10:48:10 -04:00
David Warde-Farley
c3e75d4931 Use null instead of empty string.
Per @aanderse in 7556fd7.
2022-09-28 10:48:10 -04:00
David Warde-Farley
0d5a365f61 caddy: Omit --adapter from invocations if empty string supplied
This allows specifying configuration in the natively processed Caddy JSON format.

Fixes #153142.
2022-09-28 10:48:10 -04:00
pennae
722b99bc0e nixos/*: convert options with admonitions to MD
rendering changes only slightly, most changes are in spacing.
2022-08-31 16:36:16 +02:00
pennae
ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
Bernardo Meurer
d05ae63d23
Merge pull request #179155 from linj-fork/caddy-improve-security
nixos/caddy: improve security about acme certs
2022-08-25 10:36:10 -03:00
pennae
087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
Lin Jian
d1b90cf540
nixos/caddy: force caddy to reload config in ExecReload
This patch follows an upstream commit[1].

Before this patch, if acme module is used, caddy will still use an old
cert even a new one is available. The cause is that without --force
flag, caddy will not reload an unchanged config.

Refer to that commit[1] message for more information.

[1]: 979e498d6d
2022-06-29 10:36:24 +08:00
Lin Jian
f7baa65db7
nixos/caddy: improve security about acme certs
Before this patch, the caddy process has acme in its supplementary
group because of the SupplementaryGroups in its service config, which
may give it more permission than needed, is inconsistent with the
documentation of services.caddy.virtualHosts.<name>.useACMEHost and is
redundant since we have mkCertOwnershipAssertion in assertions.

This patch fixes these problems by defaulting the group of needed
certs to caddy, which is what other web servers like nginx do and
deleting SupplementaryGroups config.
2022-06-29 05:41:13 +08:00
Winter
b52607f43b nixos/acme: ensure web servers using certs can access them 2022-01-08 15:05:34 -05:00
Aaron Andersen
45477f7ce5 nixos/caddy: add globalConfig option 2022-01-06 09:25:58 -05:00
Aaron Andersen
81a67a3353 nixos/caddy: introduce several new options 2021-12-20 20:00:42 -05:00
Aaron Andersen
a4977db2e8
caddy: include and utilize systemd service from upstream (#147305) 2021-11-29 23:16:25 +09:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
happysalada
abeef13d12 caddy: add virtualHosts stub 2021-08-20 12:21:19 +09:00