Commit Graph

930 Commits

Author SHA1 Message Date
Anthony Roussel
e30f48be94
treewide: fix redirected and broken URLs
Using the script in maintainers/scripts/update-redirected-urls.sh
2023-11-11 10:49:01 +01:00
Linus Heckemann
8670794565
Merge pull request #263203 from nikstur/replace-activation
Replace simple activationScripts
2023-10-28 10:17:15 +02:00
Artturi
61f2bd3178
Merge pull request #254386 from erikarvstedt/nginx-js-mime-type 2023-10-27 23:32:20 +03:00
nikstur
d5a96d508b nixos/stargazer: replace activationScript via tmpfiles 2023-10-26 01:44:21 +02:00
Charles Hall
f5dcc015b9
nixos/garage: set StateDirectory if used at all
Changes the `mkIf` to trigger if *either* `data_dir`/`metadata_dir` use
`/var/lib/garage`, not only if both do. This is useful to me because I
want to store metadata in `/var/lib/garage` but I also want to store
data in a different mountpoint (via `data_dir` and `ReadWritePaths`).
2023-10-24 22:03:21 -07:00
Sandro
f4d631c3d1
nixos/nginx: document implicit default port 80 2023-10-22 21:32:50 +02:00
Ryan Lahfa
c5442c247f
Merge pull request #257262 from dongcarl/2023-09-nginx-fixes
nixos/nginx: Allow empty port for listen directive (for unix socket)
2023-10-21 17:26:57 +01:00
Bjørn Forsman
142074c2a8 nixos: fix bad mkEnableOption descriptions
Fix descriptions that don't account for (1) the "Whether to enable"
prefix or (2) the automatically added trailing dot.
2023-10-20 16:22:40 +01:00
Bjørn Forsman
cc7791cfd9 nixos/lighttpd: add reload support
Allow reloading the webserver, which is useful when e.g there are new
certificates available that we want lighttpd to use, but don't want to
completely shut down the server.
2023-10-19 19:23:04 +02:00
Florian Klink
770d1c5bcd nixos/garage: drop default package
This gives better control over what package of garage is running, and
makes upgrades a conscious decision.
2023-10-18 19:20:03 +02:00
Florian Klink
5b80b755aa nixos/garage: nixpkgs-fmt 2023-10-18 19:20:03 +02:00
Carl Dong
e5c2c71280 nixos/nginx: Allow empty port for listen directive
When listening on unix sockets, it doesn't make sense to specify a port
for nginx's listen directive.

Since nginx defaults to port 80 when the port isn't specified (but the
address is), we can change the default for the option to null as well
without changing any behaviour.
2023-10-09 21:16:03 -04:00
Marek Beyer
ea1eb4ee0f
nixos/nginx: add systemd-tmpfiles exclusion of temporary directories
Directories used by nginx in the tmp path are only created upon startup and
must not be deleted while nginx is running.
2023-10-06 14:26:37 +02:00
Ryan Lahfa
c22ca8e820
Merge pull request #254440 from Izorkin/add-nginx-bpf 2023-09-27 18:53:43 +02:00
Ryan Lahfa
0fa52bd973
Merge pull request #257043 from Tom-Hubrecht/garage-envfile 2023-09-24 17:07:21 +02:00
Tom Hubrecht
2d38d9edc0 nixos/garage: Add an environmentFile option
Since garage 0.8.2, garage accepts environment variables for passing secrets,
e.g. `GARAGE_RPC_SECRET` or `GARAGE_ADMIN_TOKEN`. The added `environmentFile`
allows those secrets to not be present in the nix store.
2023-09-24 14:47:05 +02:00
Izorkin
64fe8c9292
nixos/nginx: allow enabling QUIC packet routing using eBPF 2023-09-19 16:16:34 +03: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
Erik Arvstedt
7ce5fa1a82
nixos/nginx: add application/javascript to compressMimeTypes
Although deprecated, this MIME type is still used by various
applications and web frameworks which are potentially proxied by nginx.

Examples:
- Apps based on ASP.NET Core
- Apps based on http.server (Python)
2023-09-10 13:56:23 +02:00
Sandro
c6af5494aa
nixos/nginx: fix services.nginx.defaultListen description 2023-09-03 16:45:10 +02:00
Emily
73a060e7ca
Merge pull request #244626 from Sohalt/caddy-rfc42
nixos/caddy: Add rfc42 settings option
2023-08-23 20:36:46 +02:00
sohalt
c01874615b nixos/caddy: Add rfc42 settings option 2023-08-22 20:14:35 +02:00
happysalada
4022b2733a nixos/rustus: add user name to enable restoring of backups 2023-08-13 12:59:20 +01:00
Franz Pletz
cb6dd866f2
Merge pull request #241338 from bachp/minio-distributed 2023-08-11 05:33:44 +02:00
Izorkin
cf7cea3287
nixos/nginx: using new variant of http2 directive 2023-08-03 07:09:02 +03:00
Ryan Lahfa
899b60de3f
Merge pull request #245893 from h7x4/move-nginx-status-page-declaration 2023-07-29 20:22:58 +02:00
h7x4
d803f78e7c
nixos/nginx: move status page config to services.nginx 2023-07-28 20:29:09 +02:00
oddlama
cbdaab0f17
nixos/nginx: remove unnecessary acme locations to allow double proxied setups 2023-07-27 15:30:38 +02:00
Felix Bühler
0a2745684e
Merge pull request #239624 from Stunkymonkey/use-optionalString-then
treewide: use optionalString instead of 'then ""'
2023-07-22 13:02:47 +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
Pascal Bach
fc478ad9ff nixos/minio: allow distributed nodes 2023-07-03 21:51:02 +02:00
Mac Chaffee
61cb4170fd
nixos/static-web-server: create module which uses upstream systemd units
This commit creates a nixos module for static-web-server.
The module uses upstream systemd units to start static-web-server.
It also includes options for configuring static-web-server.
2023-07-01 12:51:13 -04:00
Sandro Jäckel
0000004f80
nixos/ttyd: fix example rendering 2023-06-30 18:14:37 +02:00
happysalada
8db05aa52f nixos/rustus: inital module 2023-06-25 04:26:53 +08:00
Felix Buehler
f3719756b5 treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
Sandro
996d7cabba
Merge pull request #225877 from jappeace/upgrade-keter-2.1
nixos/keter: 2.0 -> 2.1
2023-06-22 20:00:22 +02:00
Sandro
45539f8552
nixos/keter: fix port type 2023-06-21 18:23:47 +02:00
Jappie Klooster
5c4ae23ec0 nixos/keter: Run nixpkgs-fmt 2023-06-14 11:56:35 -04:00
Jappie Klooster
3f2f5bea96 nixos/keter: 2.0 -> 2.1
keter 2.1 now can log to stderr instead of file rotation.
Which is faster and more reliable.
These changes support that.

Announcement:
https://discourse.haskell.org/t/keter-2-1-0-released/6134

fix test by disabling log rotation

run nixpkgs fmt

move comment right before L37

run nixpkgs format on test

Add overridable default configuration

depracate keterRoot and use root, same for package

split doc lines

use lib.getExe to get keter binary

put mkRenamedOptionModule on one line
2023-06-14 11:54:03 -04: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
Joe Edmonds
f87892b50b nixos/modules/web-servers/nginx/default.nix: fix minor typo 2023-06-06 21:55:15 -07:00
Sandro
793dd34507
Merge pull request #219602 from 999eagle/traefik-envsubst
nixos/traefik: add environmentFiles option
2023-06-05 00:36:43 +02:00
Linus Heckemann
c4f727c944 nixos/garage: allow unsafe replication modes, restart on config change 2023-06-02 18:11:44 +02:00
Raito Bezarius
69bb0f94de nixos/nginx: first-class PROXY protocol support
PROXY protocol is a convenient way to carry information about the
originating address/port of a TCP connection across multiple layers of
proxies/NAT, etc.

Currently, it is possible to make use of it in NGINX's NixOS module, but
is painful when we want to enable it "globally".
Technically, this is achieved by reworking the defaultListen options and
the objective is to have a coherent way to specify default listeners in
the current API design.
See `mkDefaultListenVhost` and `defaultListen` for the details.

It adds a safeguard against running a NGINX with no HTTP listeners (e.g.
only PROXY listeners) while asking for ACME certificates over HTTP-01.

An interesting usecase of PROXY protocol is to enable seamless IPv4 to
IPv6 proxy with origin IPv4 address for IPv6-only NGINX servers, it is
demonstrated how to achieve this in the tests, using sniproxy.

Finally, the tests covers:

- NGINX `defaultListen` mechanisms are not broken by these changes;
- NGINX PROXY protocol listeners are working in a final usecase
  (sniproxy);
- uses snakeoil TLS certs from ACME setup with wildcard certificates;

In the future, it is desirable to spoof-attack NGINX in this scenario to
ascertain that `set_real_ip_from` and all the layers are working as
intended and preventing any user from setting their origin IP address to
any arbitrary, opening up the NixOS module to bad™ vulnerabilities.

For now, it is quite hard to achieve while being minimalistic about the
tests dependencies.
2023-05-26 19:48:26 +02:00
figsoda
701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04:00
Robert Hensing
25f227fc67
Merge pull request #231316 from hercules-ci/nixos-system.checks
NixOS: add `system.checks`
2023-05-15 23:16:29 +02:00
Izorkin
baa5550162
unit: 1.29.1 -> 1.30.0 2023-05-13 16:55:47 +03:00
Robert Hensing
2e2f0d28ea nixos: Use checks instead of extraDependencies
... as appropriate.

This drops a few unnecessary store paths from the system closure.
2023-05-11 21:18:38 +02:00