nixpkgs/nixos/modules/services/databases
Maximilian Bosch 2995b3825e
nixos/pgbouncer: rework RFC42 integration
Commit bfb9d1825d added RFC42 support
which is a good thing in general, but this implementation has the
following flaws:

* `services.pgbouncer.logFile` was not renamed to `[...].log_file`, but
  to `[...].logfile`. Also the use of `mkRenamedOptionModule` is
  inappropriate here because the two options are not equivalent: the old
  option took a path relative to the home directory, the new an absolute
  path.

* Using `mkRenamedOptionModule` with options that don't exist (but are
  keys in a freeform attr-set or an `attrsOf X`), you get the following
  error when referencing an option you didn't declare:

    error: evaluation aborted with the following error message: 'Renaming error: option `services.pgbouncer.settings.pgbouncer.listen_port' does not exist.'

  This error is pretty bad because it's not actionable for an end-user of
  the module. A possible use-case is doing

    networking.firewall.allowedTCPPorts = [ config.services.pgbouncer.listenPort ];

  without specifying a custom listen port. This is an example of why you
  want to keep options, they already contain defaults and you can re-use
  those defaults in other parts of your system configuration.

  I decided to re-add a bunch of options where I figured that it's
  either useful to be able to address those in the NixOS configuration
  or having documentation directly in the options' reference in the
  NixOS manual.

  I didn't add all options, I'll leave that to the maintainers of
  pgbouncer.
2024-11-22 17:01:36 +01:00
..
aerospike.nix
cassandra.nix
chromadb.nix nixos/chromadb: init 2024-08-16 18:23:12 +02:00
clickhouse.nix
cockroachdb.nix
couchdb.nix nixos/services.couchdb: remove with lib; 2024-08-30 00:30:39 +02:00
dgraph.nix nixos/services.dgraph: remove with lib; 2024-08-30 00:30:39 +02:00
dragonflydb.nix nixos/services.dragonflydb: remove with lib; 2024-08-30 00:30:39 +02:00
etcd.nix nixos/services.etcd: remove with lib; 2024-09-15 10:43:48 +02:00
ferretdb.nix nixos/services.ferretdb: remove with lib; 2024-08-30 00:30:39 +02:00
firebird.nix nixos/services.firebird: remove with lib; 2024-08-30 00:30:40 +02:00
foundationdb.md
foundationdb.nix nixos/services.foundationdb: remove with lib; 2024-08-29 00:20:04 +02:00
hbase-standalone.nix nixos/services.hbase-standalone: remove with lib; 2024-08-30 00:30:40 +02:00
influxdb2.nix nixos/influxdb2: fix service startup reliablility 2024-09-27 08:14:27 +02:00
influxdb.nix nixos/services.influxdb: remove with lib; 2024-08-30 00:30:40 +02:00
lldap.nix
memcached.nix
monetdb.nix nixos/monetdb, nixos/sks: remove primeos from maintainers (#277366) 2024-07-04 18:17:43 +02:00
mongodb.nix
mysql.nix nixos/mysql: fix permission error during first startup (#331296) 2024-11-11 18:49:32 +08:00
neo4j.nix nixos/neo4j: always set http values, even when disabled 2024-09-13 15:22:34 +02:00
openldap.nix nixos/services.openldap: remove with lib; 2024-08-30 00:30:40 +02:00
opentsdb.nix nixos/services.opentsdb: remove with lib; 2024-08-30 00:30:40 +02:00
pgbouncer.nix nixos/pgbouncer: rework RFC42 integration 2024-11-22 17:01:36 +01:00
pgmanage.nix nixos/services.pgmanage: remove with lib; 2024-08-30 00:30:41 +02:00
postgresql.md postgresql_12: remove 2024-11-15 09:17:06 +01:00
postgresql.nix postgresql_12: remove 2024-11-15 09:17:06 +01:00
redis.nix nixos/redis: add option services.redis.servers.*.group 2024-10-04 21:12:38 -06:00
rethinkdb.nix nixos/services.rethinkdb: remove with lib; 2024-08-30 00:30:41 +02:00
surrealdb.nix Update surrealdb options for v2 2024-10-31 13:12:53 -05:00
tigerbeetle.md nixos/tigerbeetle: add docs on upgrading, add more systemd hardening (#332899) 2024-09-24 23:56:38 -07:00
tigerbeetle.nix nixos/tigerbeetle: add docs on upgrading, add more systemd hardening (#332899) 2024-09-24 23:56:38 -07:00
victoriametrics.nix nixos/victoriametrics: harden systemd unit, add more options. 2024-10-31 23:47:02 +08:00