Commit Graph

805 Commits

Author SHA1 Message Date
ajs124
3ecddf791d nixos/shellinabox: drop 2022-02-08 18:59:47 -05:00
Sandro Jäckel
ae66e2d5ec
treewide: use configured nginx package 2022-02-08 12:13:30 +01:00
06kellyjac
0a6d22c6c3 nixos/agate: init 2022-02-07 16:03:44 +00:00
Jörg Thalheim
fd382c011a
Merge branch 'master' into nginx 2022-01-31 05:44:42 +01:00
Jörg Thalheim
26ea046ed7
Update nixos/modules/services/web-servers/nginx/default.nix 2022-01-31 05:43:53 +01:00
Daniel Olsen
ab7e6995ac nixos/nginx: Add defaultListenAddresses option
Lets you specify the default listen address if none are listed in the vhost configuration.

Useful for hosts with more than one ip
2022-01-24 02:20:30 +01:00
Martin Weinelt
f0f67400bc
Merge pull request #153942 from winterqt/acme-web-server-ownership-assertions 2022-01-11 15:03:43 +01:00
Nikolay Amiantov
e8daaa85d4
Merge pull request #153589 from abbradar/uwsgi-fixes
uWSGI configuration generation fixes
2022-01-09 09:49:05 +03: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
Nikolay Amiantov
2be5e93ecc uwsgi service: deduplicate plugins list
Duplicates can lead to unnecessary `uwsgi` rebuilds and conflicts.
2022-01-05 14:18:59 +03:00
Nikolay Amiantov
4be78f0dd3 uwsgi service: redefine PATH envvar
Previously if user had `PATH` variable set we would define several
`PATH` variables and trigger a conflict.
2022-01-05 14:18:59 +03:00
Naïm Favier
ec150abd1a
Revert "nixos/nginx: disable rejectSSL activation when https is disabled"
This reverts commit 2f66ac01e9.
2022-01-02 21:01:29 +01:00
Lucas Savva
377c6bcefc
nixos/acme: Add defaults and inheritDefaults option
Allows configuring many default settings for certificates,
all of which can still be overridden on a per-cert basis.
Some options have been moved into .defaults from security.acme,
namely email, server, validMinDays and renewInterval. These
changes will not break existing configurations thanks to
mkChangedOptionModule.

With this, it is also now possible to configure DNS-01 with
web servers whose virtualHosts utilise enableACME. The only
requirement is you set `acmeRoot = null` for each vhost.

The test suite has been revamped to cover these additions
and also to generally make it easier to maintain. Test config
for apache and nginx has been fully standardised, and it
is now much easier to add a new web server if it follows
the same configuration patterns as those two. I have also
optimised the use of switch-to-configuration which should
speed up testing.
2021-12-26 16:44:10 +00:00
Aaron Andersen
baa0e61569
Merge pull request #147973 from aanderse/nixos/caddy
nixos/caddy: introduce several new options
2021-12-25 17:01:54 -05:00
7c6f434c
b0f154fd44
Merge pull request #147027 from Izorkin/update-nginx-ktls
nginxMainline: enable ktls support
2021-12-24 10:23:17 +00:00
Aaron Andersen
81a67a3353 nixos/caddy: introduce several new options 2021-12-20 20:00:42 -05:00
Graham Christensen
06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
pennae
2d564521c0 treewide: add literalDocBook text to options with complex defaults
some options have default that are best described in prose, such as
defaults that depend on the system stateVersion, defaults that are
derivations specific to the surrounding context, or those where the
expression is much longer and harder to understand than a simple text
snippet.
2021-12-09 01:38:24 +01:00
Sandro
e1f9dbf673
Merge pull request #139815 from ncfavier/fastcgiParams-path 2021-12-07 20:38:55 +01:00
Jörg Thalheim
8a5777dcf6 nixos/nginx: fix mincore filtering
Mincore is a syscall, not a group.
2021-12-05 12:04:20 +01:00
pennae
3e9c5fc8ca nixos/*: escape config reference in examples and descriptions 2021-12-02 22:35:05 +01:00
pennae
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Sandro
06811e74f3
Merge pull request #146533 from SuperSandro2000/nginx 2021-11-30 21:16:09 +01:00
Aaron Andersen
a4977db2e8
caddy: include and utilize systemd service from upstream (#147305) 2021-11-29 23:16:25 +09:00
Izorkin
2f66ac01e9
nixos/nginx: disable rejectSSL activation when https is disabled 2021-11-27 09:39:57 +03:00
Izorkin
7376f4e34f
nixos/nginx: tengine requires allowing @ipc calls 2021-11-27 09:39:57 +03:00
Izorkin
78546bbbc5
nixos/nginx: add kTLS option 2021-11-27 09:39:57 +03:00
Sandro
9cb930ff68
nixos/nginx: fix start when recommendedOptimisation is off
Also done by other distros for example Fedora https://bodhi.fedoraproject.org/updates/FEDORA-2020-78690e2cdd
2021-11-18 21:47:12 +01:00
ajs124
c408cd921f nixos/nginx: fix SystemCallFilter after 1fc113f0df 2021-11-16 17:30:57 +01:00
Sandro Jäckel
8547db919a
treewide: switch `builtins.fromJSON(builtins.readFile ./file.json)` to lib.importJSON ./file.json 2021-11-03 14:43:52 +01:00
Bruno Bigras
2ceae2db61 nixos/nginx: disable MemoryDenyWriteExecute for pkgs.openresty
fix #140655

Co-authored-by: Yurii Izorkin <izorkin@elven.pw>
2021-10-12 16:28:53 -04:00
ajs124
e3ac5e1502 nixos/varnish: add enableConfigCheck 2021-10-06 22:05:46 +02:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Naïm Favier
c965a30871
nixos/nginx: allow paths in fastcgiParams
Useful for pointing `SCRIPT_FILENAME` at a derivation.
2021-09-29 01:46:58 +02:00
Brecht Savelkoul
8a585fd5c5 nixos/lighttpd: support new authentication modules 2021-09-27 07:33:27 +02:00
rnhmjoj
5ca89402ee
nixos/trafficserver: avoid input from derivation
Using builtins.readFile to load upstream defaults is a clever trick, but
it's not allowed in restricted evaluation mode: which means it fails on
Hydra, for example. Besides - in Nixpkgs - depending on derivation as
inputs is considered bad practice and should be avoided.
2021-09-23 12:52:31 +02:00
Guillaume Girol
8ba5f8115c nixos/zope2: define group
untested as the module is broken (attribute 'modules' missing)
2021-09-18 12:00:00 +00:00
Daniel Șerbănescu
792e517070 nixos/httpd: add none option to logFormat 2021-08-22 10:17:28 +02:00
Robert Hensing
a1cdf552dc
Merge pull request #134008 from aanderse/httpd
nixos/httpd: add virtualHosts.<name>.listenAddresses option
2021-08-21 09:30:35 +02:00
Aaron Andersen
98e354074f nixos/httpd: add virtualHosts.<name>.listenAddresses option 2021-08-20 10:29:16 -04:00
happysalada
abeef13d12 caddy: add virtualHosts stub 2021-08-20 12:21:19 +09:00
Martin Minka
22719ca7de nixos/caddy: add resume option
Without this option all changes done with Caddy API are lost after reboot.

Current service is not supporting Caddy --resume parameter. There is reference to original unit https://github.com/caddyserver/dist/blob/master/init/caddy.service which also mentions --resume and that it should be used if new Caddy API will be used.
2021-08-17 18:46:29 +09:00
Ruby Iris Juric
035dcc0e7e
nixos/nginx: fix typo in listenAdresses 2021-08-15 20:51:09 +10:00
Aaron Andersen
cf17e439bc
Merge pull request #133671 from jlesquembre/caddy
nixos/caddy: update ca option
2021-08-14 08:53:45 -04:00
Maciej Krüger
934698a378
nixos/nginx: make serverNamesHash{Bucket,Max}Size configurable 2021-08-13 07:27:39 +02:00
José Luis Lafuente
679d54dcb3
nixos/caddy: update ca option
The generated json configuration returns this warning:
the 'issuer' field is deprecated and will be removed in the future; use 'issuers' instead

Updated the config to use "issuers" instead of "issuer"

Also, now it's possible to set the ca option null to not inject
automatically any ca. This is useful if you don't want to generate any
certificates or if you want to define a more fine-graned ca config
manually (e.g.: use different ca per domain)
2021-08-12 22:02:12 +02:00
Maciej Krüger
5d73f669a8
Merge pull request #131962 from mkg20001/fc-nginx 2021-08-12 14:07:48 +02:00
Pascal Bach
3417f18f96 nixos/minio: allow configuring console port 2021-08-10 22:37:30 +02:00
Vincent Bernat
85209382c1 nginx: allow overriding SSL trusted certificates when using ACME
Some ACME providers (like Buypass) are using a different certificate
to sign OCSP responses than for server certificates. Therefore,
sslTrustedCertificate should be provided by the user and we need to
allow that.
2021-08-08 16:07:11 +02:00
Maciej Krüger
a4ca45acd7
nginx: add listenAddresses
This allows the user to manually specify the addresses nginx shoud 
listen on, while still having the convinience to use the *SSL options 
and have the ports automatically applied
2021-07-29 16:33:10 +02:00
github-actions[bot]
629cea2cd0
Merge master into staging-next 2021-06-30 12:04:22 +00:00
Pascal Bach
69f2fd9721
Merge pull request #123834 from bachp/minio-module-update
nixos/minio: replace deprecated variables
2021-06-30 08:10:27 +02:00
github-actions[bot]
3a3d290719
Merge master into staging-next 2021-06-28 18:12:01 +00:00
Maciej Krüger
3029af3051
Merge pull request #128522 from j0hax/patch-1 2021-06-28 18:18:31 +02:00
Johannes Arnold
3a30f52676
nixos/nginx: fix typo 2021-06-28 18:08:31 +02:00
Daniel Nagy
4161c37628
nixos/ttyd: use port type 2021-06-18 17:28:17 +02:00
github-actions[bot]
9a860729b2
Merge staging-next into staging 2021-06-14 00:08:51 +00:00
Robert Hensing
d48591123f nixos/apache-httpd: Use pkgs.emptyDirectory 2021-06-12 17:28:42 +02:00
Pascal Bach
b1b9e003dc nixos/minio: credentialfile 2021-06-04 23:27:12 +02:00
Daniel Nagy
941fd008ed
nixos/lighttpd: set port type to types.port 2021-05-30 14:38:18 +02:00
Daniel Nagy
a5321aecfb
nixos/darkhttpd: set port type to types.port 2021-05-30 14:38:18 +02:00
Naïm Favier
821ca7d4cc
nixos/nginx: add option rejectSSL exposing ssl_reject_handshake 2021-05-24 15:10:09 +02:00
Jörg Thalheim
b900661f6e
Merge pull request #122825 from Izorkin/update-duplicates-systemcallfilters
treewide: remove duplicates SystemCallFilters
2021-05-17 12:06:06 +01:00
Richard Marko
16b0f07890 nixos/nginx: fix comment about acme postRun not running as root
As of 67a5d66 this is no longer true, since acme postRun runs as root.
The idea of the service is good so reword a comment a bit.
2021-05-17 18:03:04 +09:00
Richard Marko
7423afb5e4 nixos/molly-brown: fix description of certPath
`allowKeysForGroup` is no longer available so this drops

```
security.acme.certs."example.com".allowKeysForGroup = true;
```

line. `SupplementaryGroups` should be enough for
allowing access to certificates.
2021-05-17 18:03:04 +09:00
Sandro
ec1dd62608
Merge pull request #118521 from SuperSandro2000/nginx-proxy-timeout
nixos/nginx: add option to change proxy timeouts
2021-05-17 03:15:54 +02:00
Sandro
700942d2a5
Merge pull request #121119 from SuperSandro2000/remove-gnidorah
treewide: remove gnidorah
2021-05-17 02:42:24 +02:00
Sandro Jäckel
51166f90c6
nixos/nginx: add option to change proxy timeouts 2021-05-17 02:37:44 +02:00
Aaron Andersen
21f5dd5c6e
Merge pull request #122647 from onny/caddy
nixos/caddy: support user and group options
2021-05-16 17:23:57 -04:00
Jonas Heinrich
fff9cf00fd caddy: support user and group options 2021-05-15 10:32:49 +02:00
Aaron Andersen
fc63be7ac8
Merge pull request #122658 from aanderse/httpd-reload
nixos/httpd: provide a stable path stable path to the configuration f…
2021-05-14 23:50:43 -04:00
Izorkin
feebe402f5
treewide: remove duplicates SystemCallFilters 2021-05-13 15:44:56 +03:00
Aaron Andersen
f20aa073e1 nixos/httpd: provide a stable path stable path to the configuration file for reloads 2021-05-11 22:36:55 -04:00
Luke Granger-Brown
d922cad4d6
Merge pull request #119172 from midchildan/package/trafficserver
nixos/trafficserver: init
2021-05-03 09:48:07 +01:00
Martin Weinelt
506bc7ba02
nixos/nginx: update hardening settings
- Set an explicit umask that allows u+rwx and g+r.
- Adds `ProtectControlGroups` and `ProtectKernelLogs`, there should be
  no need to access either.
- Adds `ProtectClock` to prevent write-access to the system clock.
- `ProtectProc` hides processes from other users within the /proc
  filesystem and `ProcSubSet` hides all files/directories unrelated to
  the process management of the units process.
- Sets `RemoveIPC`, as there is no SysV or POSIX IPC within nginx that I
  know of.
- Restricts the creation of arbitrary namespaces
- Adds a reasonable `SystemCallFilter` preventing calls to @privileged,
  @obsolete and others.

And finally applies some sorting based on the order these options appear
in systemd.exec(5).
2021-04-30 18:49:43 +02:00
Sandro Jäckel
ae02415ee8
treewide: remove gnidorah
due to github account removal/deletion and not other mean of contact.
2021-04-30 01:48:19 +02:00
midchildan
28e608f84b
nixos/trafficserver: init 2021-04-27 00:02:16 +09:00
Lassulus
ea5759474a
Merge pull request #119803 from SuperSandro2000/SuperSandro2000-patch-1
nixos/nginx: set isSystemUser
2021-04-24 22:37:46 +02:00
Maciej Krüger
9530794548
nginx: add vhost.http3
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-04-18 20:20:24 +02:00
Sandro
15cd5fc57e
nixos/nginx: set isSystemUser 2021-04-18 16:15:48 +02:00
Sandro
0139874db9
nixos/nginx: add upstreams examples (#118447)
* nixos/nginx: add upstreams examples

I am not fully sure if they are fully correct but they deployed the right syntax.

* nixos/nginx: use literal example

* Update nixos/modules/services/web-servers/nginx/default.nix

* Update nixos/modules/services/web-servers/nginx/default.nix
2021-04-17 00:25:03 +02:00
talyz
06dee38345
Revert "nixos/nginx: fix eval for tengine"
This reverts commit 2d3200e010.
2021-04-14 16:34:10 +02:00
taku0
4c87cb87a2
Merge pull request #67684 from indiscipline/minio
nixos/minio: allow multiple data directories for erasure coding
2021-04-13 18:29:28 +09:00
Sandro
39060b241c
Merge pull request #118445 from SuperSandro2000/SuperSandro2000-patch-3 2021-04-12 17:18:50 +02:00
Indiscipline
9ffc4ad790 nixos/minio: allow multiple data directories for erasure coding 2021-04-10 14:44:45 +03:00
Kim Lindberger
5a1bd5ff66
Merge pull request #116074 from talyz/discourse
discourse: Add package and NixOS module
2021-04-08 14:19:49 +02:00
Luke Granger-Brown
ddf4795824 nixos/pomerium: fix useACMEHost
useACMEHost doesn't work properly, because I forgot to actually define
the variable that is being relied upon here. Oops.
2021-04-07 01:26:44 +00:00
Sandro
fb9a2414dc nixos/nginx: use http 1.1 in "recommended" proxySettings
This allows http keep-alive by default which requires http 1.1.
2021-04-05 05:30:18 +02:00
talyz
46d935a4ce
nixos/nginx: Add an option to specify additional third-party modules 2021-04-04 13:44:36 +02:00
Sandro
db5a15676c
nixos/nginx: set "recommended" proxy timeouts to 60s
According to the nginx documentation [1] those values  cannot usually exceed 75 seconds.
The defaults are 60s and should probably be lowered to something reasonable like 20 or 30 seconds.

[1] https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout
2021-04-04 07:47:45 +02:00
Luke Granger-Brown
309e836c33 nixos/tests/pomerium: init 2021-03-29 10:41:41 +00:00
Luke Granger-Brown
cb2f1df034 nixos/pomerium: init 2021-03-29 10:41:41 +00:00
ajs124
2d3200e010 nixos/nginx: fix eval for tengine 2021-03-10 01:23:11 +01:00
Aaron Andersen
9798ed1a3d
Merge pull request #111011 from waldheinz/nginx-mem-write-exec
nixos/nginx: fix MemoryDenyWriteExecute not being disabled when needed
2021-03-03 07:19:35 -05:00
Elis Hirwing
1216baaee1
nixos/httpd: Fix httpd module for php8 2021-03-02 09:22:32 +01:00
Daniel Nagy
7c121e60c5
nixos/httpd: fix lua paths
Account for the fact that, when creating a lua package without the
"withPackages" helper, we dont get an extra "lua" attribute in the
package.

Therefore we need to distinguish between the "withPackages" case and the
direct ( or "empty" ) lua package.

For example with this nixos config:

```nix
{
  services.httpd = {
      enable = true;
      package = pkgs.apacheHttpd.override {
        luaSupport = true;
        lua5 = pkgs.lua5_3.withPackages (ps: with ps; [ luafilesystem ] );
      };
    };
}
```

Here we say that we want to have apache to use a lua, packaged with the
`luafilesystem` module so that we can `require` that in scripts to
render http responses. There, the set that gets assigned to `lua5 ` does
not have a `luaversion` attribute, rather it has a `lua` attribute
wherein lies a `luaversion` attribute. If we dont package additional
modules, then we dont have that `lua` attribute in between and rather
directly have to use `luaversion` directly.
2021-02-11 11:56:06 +01:00
Martin Weinelt
47901b544c
Merge pull request #111302 from fooker/pr/nginx-default-type
nixos/nginx: serve unknown MIME-Types as binary
2021-02-09 01:44:47 +01:00
Luflosi
e31dc1c5f6
nginx module: fix typo in proxyWebsockets description 2021-01-31 18:09:41 +01:00
Sandro
2c748ee8a4
Merge pull request #111439 from helsinki-systems/unit
nixos/unit: add stateDir and logDir types
2021-01-31 15:18:08 +01:00