Commit Graph

732 Commits

Author SHA1 Message Date
Maximilian Bosch
97a911e8fb
Merge: nixos/postgresql: extension based hardening relaxation (#355010) 2024-11-16 22:29:36 +01:00
Martin Weinelt
d370af0785
nixos/postgresql: create infrastructure for relaxing systemd hardening
By matching on the package names of the plugins passed into the package
we can relax the systemd unit hardening as needed.
2024-11-16 17:29:34 +01:00
Martin Weinelt
223a6c6ed0
nixos/postgresql: rename extraPlugins to extensions
This is the upstream lingo, and it makes everything slightly less
confusing.
2024-11-16 14:46:16 +01:00
Maximilian Bosch
0b3eef7441
postgresql_12: remove
This will be EOL at the end of November, so there's little reason to
keep it in 24.11[1]. As discussed, we'd like to keep it for as long as
possible to make sure there's a state in nixpkgs that has the latest
minor of postgresql_12 available with the most recent CVEs fixed for
people who cannot upgrade[2].

This aspect has been made explicit in the manual now for the next .11
release.

During the discussions it has been brought up that if people just do
`services.postgresql.enable = true;` and let the code decide the
postgresql version based on `system.stateVersion`, there's a chance that
such EOL dates will be missed. To make this harder, a warning will now
be raised when using the stateVersion-condition and the oldest still
available major is selected.

Additionally regrouped the postgresql things in the release notes to
make sure these are all shown consecutively. Otherwise it's a little
hard to keep track of all the changes made to postgresql in 24.11.

[1] https://endoflife.date/postgresql
[2] https://github.com/NixOS/nixpkgs/pull/353158#issuecomment-2453056692
2024-11-15 09:17:06 +01:00
Aleksana
dbed5a6265
nixos/mysql: fix permission error during first startup (#331296) 2024-11-11 18:49:32 +08:00
Yorick
12eedc8e88
nixos/victoriametrics: harden systemd unit, add more options. (#350737) 2024-11-05 13:36:19 +01:00
Maximilian Bosch
500d745e73
Merge: nixos/postgresql: set up sandboxing (#344925) 2024-11-02 11:12:15 +01:00
Maximilian Bosch
70a6092f1e
nixos/doc: mention postgresql hardening 2024-11-01 16:31:35 +01:00
Collin Diekvoss
1b82e17fca
Update surrealdb options for v2 2024-10-31 13:12:53 -05:00
Ryan Yin
89b4cb7299 nixos/victoriametrics: harden systemd unit, add more options. 2024-10-31 23:47:02 +08:00
Atemu
644c36174b
nixos/redis: add option services.redis.servers.*.group (#345327) 2024-10-17 10:39:48 +02:00
Felix Bühler
cc42a1be7b
nixos/services.mysql: remove with lib; (#338048) 2024-10-16 21:38:48 +02:00
Maximilian Bosch
0f1e2a1cd8
nixos/postgresql: MemoryDenyWriteExecute must be off when doing JIT
The test breaks like this otherwise:

    machine # WARNING:  error during JITing: Permission denied
    machine # [   14.012280] postgres[913]: [913] WARNING:  error during JITing: Permission denied
    machine # ERROR:  failed to look up symbol "evalexpr_0_1": Failed to materialize symbols: { (main, { evalexpr_0_1, evalexpr_0_0 }) }
2024-10-14 23:57:39 +02:00
Brendan Taylor
cb31bd4755 nixos/redis: add option services.redis.servers.*.group
previously if you set the "user" option and did not create a group
account with the same name the module would create a service that would
fail to start.

with this change:
- the module is more explicit about this behaviour
- you can configure the group directly, so that you're not forced to a
  particular user/group structure
- you can read the group name used by the redis service. this is useful
  for giving other services permission to use the redis socket.
2024-10-04 21:12:38 -06:00
Maximilian Bosch
f800d8e42b
nixos/postgresql: enable private /tmp & private mounts; fix wal-receiver test
The issue was that the old test-case used `/tmp` to share data. Using
`JoinsNamespaceOf=` wasn't a real workaround since the private `/tmp` is
recreated when a service gets stopped/started which is the case here, so
the wals were still lost.

To keep the test building with `PrivateTmp=yes`, create a dedicated
directory in `/var/cache` with tmpfiles and allow the hardened
`postgresql.service` to access it via `ReadWritePaths`.
2024-10-01 10:31:20 +02:00
Martin Weinelt
2ebffcc4c7
nixos/postgresql: set up sandboxing
Reduces the general exposure of the postgresql.service through systemd
hardening options.
2024-10-01 10:31:20 +02:00
Maximilian Bosch
11d1f8776c
nixos/postgresql: escape initdbArgs
It doesn't look correct that this isn't the case already.
2024-09-29 21:03:52 +02:00
Maximilian Bosch
0e78dc369c
Merge: doc: use initdbArgs in example postgresql upgrade script (#302823) 2024-09-29 20:39:05 +02:00
oddlama
d229011025 nixos/influxdb2: fix service startup reliablility 2024-09-27 08:14:27 +02:00
Bjørn Forsman
732d36522f nixos/influxdb2: wait until service is ready
Factor out part of the provisioning script into a
wait-until-service-is-ready script, and put it unconditionally in
front of ExecStartPost=, so that services that depend on influxdb2 are
not started until influxdb2 responds to requests.

Fixes https://github.com/NixOS/nixpkgs/issues/317017 ("Scrutiny tries to start before influxdb has started")
2024-09-26 06:54:54 +02:00
Daniel Sidhion
15ddcc64cd
nixos/tigerbeetle: add docs on upgrading, add more systemd hardening (#332899) 2024-09-24 23:56:38 -07:00
Sandro
76d7694a3f
nixos/neo4j: always set http values, even when disabled (#341586) 2024-09-15 12:42:20 +02:00
Felix Buehler
7d32787294 nixos/services.etcd: remove with lib; 2024-09-15 10:43:48 +02:00
eyjhb
7c545e26a3 nixos/neo4j: always set http values, even when disabled 2024-09-13 15:22:34 +02:00
github-actions[bot]
d834278999
Merge master into staging-next 2024-09-02 00:13:57 +00:00
Felix Bühler
06aee405da
nixos/services.neo4j: remove with lib; (#338049) 2024-09-01 20:52:52 +02:00
github-actions[bot]
a2cea72749
Merge staging-next into staging 2024-08-30 00:13:56 +00:00
Philip Taron
117f3ceb51
treewide/nixos: remove with lib; part 1 (#335603) 2024-08-29 15:42:04 -07:00
Felix Buehler
24f82fc6b5 nixos/services.surrealdb: remove with lib; 2024-08-30 00:30:41 +02:00
Felix Buehler
edcd08a8ff nixos/services.rethinkdb: remove with lib; 2024-08-30 00:30:41 +02:00
Felix Buehler
18c0ca5714 nixos/services.pgmanage: remove with lib; 2024-08-30 00:30:41 +02:00
Felix Buehler
6bbc3df0dd nixos/services.opentsdb: remove with lib; 2024-08-30 00:30:40 +02:00
Felix Buehler
93fb328e44 nixos/services.openldap: remove with lib; 2024-08-30 00:30:40 +02:00
Felix Buehler
0dbb2e5fa1 nixos/services.influxdb: remove with lib; 2024-08-30 00:30:40 +02:00
Felix Buehler
3db1445493 nixos/services.hbase-standalone: remove with lib; 2024-08-30 00:30:40 +02:00
Felix Buehler
567aa06ba2 nixos/services.firebird: remove with lib; 2024-08-30 00:30:40 +02:00
Felix Buehler
17003eacc9 nixos/services.ferretdb: remove with lib; 2024-08-30 00:30:39 +02:00
Felix Buehler
f06f3a7973 nixos/services.dragonflydb: remove with lib; 2024-08-30 00:30:39 +02:00
Felix Buehler
626c4c1a21 nixos/services.dgraph: remove with lib; 2024-08-30 00:30:39 +02:00
Felix Buehler
75d565a3b0 nixos/services.couchdb: remove with lib; 2024-08-30 00:30:39 +02:00
Felix Buehler
be15d06e48 nixos/services.neo4j: remove with lib; 2024-08-29 00:21:21 +02:00
Felix Buehler
8e91c6b7b3 nixos/services.mysql: remove with lib; 2024-08-29 00:20:49 +02:00
Felix Buehler
fbd927db77 nixos/services.foundationdb: remove with lib; 2024-08-29 00:20:04 +02:00
Sergei Trofimovich
f3ece34945 nixos/postgresql: fix documentation markdown
Without the change the doc build fails as:

    $ nix build -f nixos config.system.build.manual.manualHTML -L
    ...
    nixos-manual-html> RuntimeError: heading in line 366 does not have an id
2024-08-25 17:09:36 +01:00
Wolfgang Walther
435f51c37f
postgresql: split dev output
This splits a dev output to make the default output not depend on any
build dependencies anymore. This also avoids removing references from
pgxs' Makefile this way, which should, at least theoretically, be good
to build extensions via pgxs, making sure they use the same tooling.

ecpg is the "embedded SQL C preprocessor", which is certainly a dev
tool.

Most important, for closure size anyway, is to move pg_config to the dev
output, since it retains paths to all the other outputs.

The only thing with references to the dev output remaining is then the
postgres binary itself. It contains all the output paths, because it
shows those in the pg_config system view. There is no other way than
to nuke those references to avoid circular dependencies between outputs
- and blowing up closure size again.
2024-08-23 21:37:49 +02:00
Pol Dellaiera
8d18fe9184
Merge pull request #335151 from drupol/nixos/chromadb/init
nixos/chromadb: init
2024-08-19 17:29:57 +02:00
Sandro
c67dbda54f
Merge pull request #308700 from tie/pgbouncer-settings
nixos/pgbouncer: add services.pgbouncer.settings option
2024-08-18 16:30:17 +02:00
Pol Dellaiera
835b2f8822
nixos/chromadb: init 2024-08-16 18:23:12 +02:00
github-actions[bot]
d3ef01201e
Merge master into staging-next 2024-08-08 18:01:35 +00:00
Sandro Jäckel
3e8666bce9 nixos/redis: remove outdated info in enable option
Thanks for the heads up @poperigby !
2024-08-08 17:25:16 +02:00