Commit graph

595 commits

Author SHA1 Message Date
pennae 6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae b51f8036c2 nixos/*: use properly indented strings for option docs
using regular strings works well for docbook because docbook is not as
whitespace-sensitive as markdown. markdown would render all of these as
code blocks when given the chance.
2022-08-19 22:40:58 +02:00
pennae f1d39b6d61 nixos/postgresql: replace <function> with <literal>
there's only this one use, we can live with the tiny rendering change.
2022-08-19 22:40:58 +02:00
ppom 26dbf446cf Change clickhouse's module conf directory to permit overrides
The module already creates the file `/etc/clickhouse-server/config.xml`.

If the service uses this file for config, it permits to override the conf like this:

```nix
environment.etc."clickhouse-server/config.d/logging.xml".text = ''
  <clickhouse>
    <logger>
      <level>notice</level>
    <logger>
  </clickhouse>
'';
```
2022-08-14 15:56:49 +02:00
gardspirito aa6a8bd8dd nixos/neo4j: HTTP connector toggling 2022-08-12 15:45:48 -07:00
gardspirito 8d6f4552cd nixos/neo4j: fix typo 2022-08-12 15:45:48 -07:00
Kerstin Humm a22112e88a neo4j: remove deprecated config 2022-08-12 15:45:48 -07:00
Kerstin Humm 9b60931986 neo4j: add erictapen as maintainer 2022-08-12 15:45:48 -07:00
Kerstin Humm 60b6ad6f37 nixos/neo4j: set some settings so warnings at startup disappear 2022-08-12 15:45:48 -07:00
Jonathan Ringer 0fbce25144 neo4j: 3.5.14 -> 4.1.1 2022-08-12 15:45:48 -07:00
pennae 50f9b3107a
Merge pull request #185474 from pennae/option-docs-md
nixos/*: more options md conversion
2022-08-12 23:23:26 +02:00
illustris dffa97f03c nixos/hbase-standalone: add mkRenamedOptionModule and rename file 2022-08-07 21:21:45 +02:00
illustris ac403b83fb nixos/hadoop: add HBase submodule 2022-08-07 21:21:45 +02:00
pennae 087472b1e5 nixos/*: automatically convert option docs 2022-08-06 20:39:12 +02:00
pennae 61e93df189 nixos/*: automatically convert option docs to MD
once again using nix-doc-munge (69d080323a)
2022-08-03 22:46:41 +02:00
pennae 3aebb4a2be nixos/*: normalize link format
make (almost) all links appear on only a single line, with no
unnecessary whitespace, using double quotes for attributes. this lets us
automatically convert them to markdown easily.

the few remaining links are extremely long link in a gnome module, we'll
come back to those at a later date.
2022-08-03 21:57:46 +02:00
pennae 16102dce2f nixos/*: replace <code> in option docs with <literal>
markdown can't represent the difference without another extension and
both the html manual and the manpage render them the same, so keeping the
distinction is not very useful on its own. with the distinction removed
we can automatically convert many options that use <code> tags to markdown.

the manpage remains unchanged, html manual does not render
differently (but class names on code tags do change from "code" to "literal").
2022-08-03 21:03:23 +02:00
pennae 694d5b19d3 nixos/*: replace </para><para> with double linebreaks
our xslt already replaces double line breaks with a paragraph close and
reopen. not using explicit para tags lets nix-doc-munge convert more
descriptions losslessly.

only whitespace changes to generated documents, except for two
strongswan options gaining paragraph two breaks they arguably should've
had anyway.
2022-08-03 20:39:21 +02:00
Sergei Trofimovich 1e8102cd58 nixos/openldap: fix option description markdown
Otherwise manual build fails as:

    $ nix build -f nixos/release.nix manual.x86_64-linux
    ...
     > NotImplementedError: ('md node not supported yet', 'services.openldap.declarativeContents', 'inline_html', ('<code>',))
     For full logs, run 'nix log /nix/store/pfa7bg3pflp0c31ma0rc2ahwqabs88dd-base-json-md-converted.drv'.
2022-08-02 23:11:24 +01:00
github-actions[bot] 0f0010fda3
Merge master into staging-next 2022-08-02 06:02:34 +00:00
pennae 2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
github-actions[bot] b4832bac52
Merge staging-next into staging 2022-07-22 15:34:59 +00:00
Jörg Thalheim 8807057296 nixos/openldap: drop myself as maintainer 2022-07-22 16:54:13 +02:00
Martin Weinelt 457d109dcd
Merge pull request #179597 from Mic92/openldap-path
[staging] openldap: remove deprecated options, improve encapsulation
2022-07-22 00:26:32 +02:00
Kevin Cox 568d2e77f4
nixos.redis: Fix disabling of RDB persistence.
I was under the impression that setting `services.redis.servers.<name>.save = []` would disable RDB persistence as no schedule would mean no persistence. However since the code did not handle this case specially it actually results in no `save` setting being written and the internal Redis default is used.

This patch handles the empty case to disable RDB persistence.

Disabling RDB persistence is useful in a number of scenarios:

1. Using Redis in a pure-cache mode where persistence is not desired.
2. When using the (generally superior) AOF persistence mode this file is never read so there is little point to writing it.
3. When saving is handled manually

For more information see https://redis.io/docs/manual/persistence/

This is a breaking change as the user may have been relying on `[]` using Redis defaults. However I believe that updating the behaviour for the next release is beneficial as IMHO it is less surprising and does what the user would expect. I have added release notes to warn about this change.
2022-07-05 07:37:38 -04:00
Kai Wohlfahrt 60d1c1d9ad openldap: change runtime directory
Use `openldap` for consistency between `/var/lib` and `/run`.
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt 334d622ec7 openldap: test starting with empty DB
This addresses the original concern behind #92544
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt 8a7193fc0a openldap: test and fix mutable config 2022-06-29 19:59:29 +02:00
Kai Wohlfahrt fd7d901133 openldap: run under systemd-defined user/group
This improves security, by starting the service as an unprivileged user,
rather than starting as root and relying on the service to drop
privileges. This requires a significant cleanup of pre-init scripts, to
make use of StateDirectory and RuntimeDirectory for permissions.
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt 38ead944ce openldap: run in foreground
Now that we use notify daemon type, this works safely and simplifies
configuration.
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt d72f89a8fc openldap: Allow notify outside of main thread
This fixes a bug I observed in deployment on a RPi, but not able to
reproduce in tests.
2022-06-29 19:59:28 +02:00
Kai Wohlfahrt 6e6f33ad83 openldap: remove deprecated options 2022-06-29 19:59:06 +02:00
happysalada b90fa9940b dgraph: add module 2022-06-28 02:34:54 -04:00
Thomas Depierre fc658c86f7 riak, nixos/riak: remove
Riak have been updated a lot since the version 2.2 (now 3.0.10) but
has seen no updated to the package. This is at this point
a problem forcing us to maintain old versions of erlang.

We would be happy to re accept a newer version of Riak if someone want
to spend the time to set it up.
2022-06-25 15:51:18 -04:00
Robert Hensing fe11145ec9 nixos/cassandra: Convert option docs to markdown 2022-06-21 13:20:13 +02:00
Léo Gaspard 02cd48717d
nixos/openldap: fix systemd rejecting notification (#177084)
On one of the two machines I have running openldap, openldap failed to start due to a "timeout". Increasing the allowed startup delay didn't help.

I noticed the following in logs:
```
openldap.service: Got notification message from PID 5224, but reception only permitted for main PID 5223
```

It turns out that on this machine at least, openldap apparently sends the notification from a non-main process, which means that we need this NotifyAccess setting for systemd to record that it successfully started. Without it, after 30 seconds systemd kills the process because it didn't receive the sd_notify call.

Somehow the other machine I have on nixos running ldap works fine even without this, but I could not figure out what changes the behavior.

Given that AFAIU NotifyAccess still restricts to "from the cgroup of the service", I think this change should be safe.
2022-06-13 15:28:12 +02:00
Soham Sen 109e13db24 dragonflydb: init at 0.1.0 2022-06-06 04:05:48 +05:30
Martin Weinelt 885d4e047b
nixos/openldap: use upstream unit defaults
OpenLDAP since version 2.5.4¹ supports sd_notify, so we should make use
of it.

Also updates the unit description and documentation with the values
upstream provides.

Starts slapd only after reaching `network-online.target`, which ensures
binding to specific ip addresses is possible, since `network.target`
only guarantees interfaces exist, but not that addressing is finished.

[1] https://bugs.openldap.org/show_bug.cgi?id=8707
2022-05-19 22:31:26 +02:00
Ivan Kozik 96a8c0ac23 nixos/postgresql: use postgres 14 for 22.05
postgresql: alias to postgresql_14
2022-05-03 22:23:08 +00:00
Will 14fca0ca6f couchdb3: 3.2.1 -> 3.2.2 2022-04-26 09:02:36 +00:00
Wanja Hentze dccd5a44d1
nixos/cockroachdb: use escapeSystemdExecArgs for ExecStart args
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
2022-04-12 10:34:56 +02:00
Wanja Hentze d215163ff9
nixos/cockroachdb: add extraArgs option
There are a bunch of args to `cockroach start` that simply can not be set
given the current set of options, so this escape hatch enables them.
2022-04-12 10:34:55 +02:00
Naïm Favier 6e4f5f9aee
nixos/redis: bind on localhost by default 2022-02-28 13:37:47 +01:00
ajs124 31462e501e nixos/virtuoso: drop 2022-02-16 01:01:13 +01:00
Julien Moutinho 32368f32d1 nixos/redis: fix port option 2022-01-21 23:02:20 +01:00
pennae 55863f14ce nixos/couchdb: add missing defaultText 2021-12-29 20:12:02 +01:00
Nikolay Amiantov 9027a59f7a influxdb2 service: don't use dynamic user
It breaks something inside of influxdb2, which results in flurry of errors like these:

> ts=2021-12-21T18:19:35.513910Z lvl=info msg="Write failed" log_id=0YZYwvV0000 service=storage-engine service=write shard=50 error="[shard 50] unlinkat ./L1-00000055.tsi: read-only file system"

I believe this is somehow caused by a mount namespace that systemd creates for
the service, but I didn't investigate this deeper.
2021-12-27 20:31:27 +03:00
Aaron Andersen 9ec14cd78d
Merge pull request #151255 from aanderse/nixos/mysql-cleanup
nixos/mysql: module cleanup
2021-12-25 17:04:35 -05:00
Aaron Andersen d621ad09a8 nixos/mysql: minor cleanup and formatting 2021-12-22 08:57:18 -05:00
Aaron Andersen a96f6ef187 nixos/mysql: remove services.mysql.bind and services.mysql.port in favor of services.mysql.settings 2021-12-22 08:57:14 -05:00
Aaron Andersen 76457da532 nixos/mysql: remove services.mysql.extraOptions in favor of services.mysql.settings 2021-12-18 21:01:48 -05:00
Aaron Andersen f1d1d319ae nixos/mysql: update user and group descriptions 2021-12-18 21:01:48 -05:00
Aaron Andersen c7cac1bdc0 nixos/mysql: use systemd StateDirectory to provision the data directory 2021-12-18 21:01: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
David Anderson 492f791f9d influxdb2: use the new server derivation in the nixos module. 2021-12-16 12:10:09 -08:00
ajs124 84ce6a6286
Merge pull request #149868 from lostnet/couchopts
couchdb3: add vm.args option and fix pkgs.couchdb reference
2021-12-14 10:48:56 +00:00
Julien Moutinho 7475554372 nixos/redis: enable multiple instances of redis-server 2021-12-13 14:42:19 -05:00
maralorn b243326a02
Merge pull request #149013 from Ma27/postgres-docs
nixos/postgresql: improve docs on how to upgrade
2021-12-12 15:55:37 +01:00
Maximilian Bosch 2deb8c0fc5
nixos/postgresql: improve docs on how to upgrade
* It's IMHO a slight overkill to deploy an additional container even if
  it's never supposed to be running. Also, the currently suggested
  approach wouldn't use the default state-directory for the new version.
* Explain the structure of the state-directories and where the
  version-numbers are actually coming from.
* Mention `./analyze_new_cluster.sh` & `./delete_old_cluster.sh`.
2021-12-11 18:22:31 +01:00
Will a6196bc8b2 couchdb3: add vm.args and fix pkgs.couchdb reference 2021-12-09 14:55:01 +00:00
pennae 1060fefae3 nixos/tarsnap, nixos/neo4j: defaultText for submodule options
unfortunately we don't have a good way to represent defaults that
reference other values of the current submodule, so we just use the
relative path of the referenced value and assume that the submodule was
declared as `rec`.
2021-12-09 01:42:24 +01:00
pennae 3226c5aded nixos/hbase: refactor settings option
instead of keeping a defaultConfig value around, set that value as the
default of the option and explicitly use the option default instead.
this also allows us to write a defaultText that makes sense and is in
proximity to the definition of the default.
2021-12-09 01:38:24 +01:00
pennae fb0e5be843 treewide: add defaultText for options with simple interpolation defaults
adds defaultText for all options that use `cfg.*` values in their
defaults, but only for interpolations with no extra processing (other
than toString where necessary)
2021-12-09 01:13:48 +01:00
ajs124 757dd008b2 postgresql_9_6: drop 2021-12-03 01:14:29 +01:00
Niklas Hambüchen 0939143e24
Merge pull request #137176 from GoldsteinE/clickhouse-package
nixos/clickhouse: add package option
2021-11-21 21:43:58 +01:00
Goldstein 427941d737 nixos/clickhouse: add package option
Consistent with other services and helps to work around #130101
2021-11-21 20:29:41 +01:00
Vanilla 35ec24523b
nixos/hbase: Fix missing top-level in hbase-site.xml 2021-11-20 15:29:36 +08:00
Vanilla cb5f41a067
nixos/hbase: add settings option for hbase-site.xml 2021-11-18 11:54:41 +08:00
Vanilla 79dc6a5629
nixos/hbase: use jre8 instead of latest. 2021-11-16 22:15:46 +08:00
Vanilla baeb944384
nixos/influxdb2: Add Hyperlink highlight for url. 2021-11-15 16:12:15 +08:00
Christian Kögler b154b6f7d8 nixos/influxdb: Fix cross compilation for config.toml 2021-10-10 10:34:55 +02:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Guillaume Girol bc3bca822a nixos: define the primary group of users where needed 2021-09-12 14:59:30 +02:00
Ryan Mulligan 33cdc784e8
Merge pull request #131545 from NickCao/influxdb2
nixos/influxdb2: init
2021-08-09 10:34:53 -07:00
Nick Cao 5c2478ba3c
nixos/influxdb2: init 2021-08-08 22:39:57 +08:00
Ivan Kozik fb6fbcb85c nixos/victoriametrics: set LimitNOFILE=1048576 to fix panic and restart loop
This fixes:

```
systemd[1]: Started VictoriaMetrics time series database.
victoria-metrics[379550]: 2021-08-04T19:33:39.833Z        panic        VictoriaMetrics/lib/storage/partition.go:954        FATAL: unrecoverable error when merging small parts in the partition "/var/lib/victoriametrics/data/small/2021_08": cannot open source part for merging: cannot open metaindex file in stream mode: cannot open file "/var/lib/victoriametrics/data/small/2021_08/1228_1228_20210804184120.712_20210804184121.899_16982E83CD7A763A/metaindex.bin": open /var/lib/victoriametrics/data/small/2021_08/1228_1228_20210804184120.712_20210804184121.899_16982E83CD7A763A/metaindex.bin: too many open files
victoria-metrics[379550]: panic: FATAL: unrecoverable error when merging small parts in the partition "/var/lib/victoriametrics/data/small/2021_08": cannot open source part for merging: cannot open metaindex file in stream mode: cannot open file "/var/lib/victoriametrics/data/small/2021_08/1228_1228_20210804184120.712_20210804184121.899_16982E83CD7A763A/metaindex.bin": open /var/lib/victoriametrics/data/small/2021_08/1228_1228_20210804184120.712_20210804184121.899_16982E83CD7A763A/metaindex.bin: too many open files
victoria-metrics[379550]: goroutine 629 [running]:
victoria-metrics[379550]: github.com/VictoriaMetrics/VictoriaMetrics/lib/logger.logMessage(0xbb3ea1, 0x5, 0xc001113800, 0x1e7, 0x4)
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/logger/logger.go:270 +0xc69
victoria-metrics[379550]: github.com/VictoriaMetrics/VictoriaMetrics/lib/logger.logLevelSkipframes(0x1, 0xbb3ea1, 0x5, 0xbe3f8b, 0x4b, 0xc000bb3f88, 0x2, 0x2)
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/logger/logger.go:138 +0xd1
victoria-metrics[379550]: github.com/VictoriaMetrics/VictoriaMetrics/lib/logger.logLevel(...)
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/logger/logger.go:130
victoria-metrics[379550]: github.com/VictoriaMetrics/VictoriaMetrics/lib/logger.Panicf(...)
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/logger/logger.go:126
victoria-metrics[379550]: github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.(*partition).smallPartsMerger(0xc0014d7980)
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/partition.go:954 +0x145
victoria-metrics[379550]: github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.(*partition).startMergeWorkers.func1(0xc0014d7980)
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/partition.go:933 +0x2b
victoria-metrics[379550]: created by github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.(*partition).startMergeWorkers
victoria-metrics[379550]:         github.com/VictoriaMetrics/VictoriaMetrics/lib/storage/partition.go:932 +0x6c
systemd[1]: victoriametrics.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: victoriametrics.service: Failed with result 'exit-code'.
systemd[1]: victoriametrics.service: Consumed 587ms CPU time, received 6.5K IP traffic, sent 1.7K IP traffic.
systemd[1]: victoriametrics.service: Scheduled restart job, restart counter is at 2064.
systemd[1]: Stopped VictoriaMetrics time series database.
systemd[1]: victoriametrics.service: Consumed 587ms CPU time, received 6.5K IP traffic, sent 1.7K IP traffic.
systemd[1]: Starting VictoriaMetrics time series database...
```
2021-08-05 05:35:53 +00:00
Victor Nawothnig 6b317b7404 nixos/redis: Use toString for interpolating slaveOf.port 2021-08-02 16:41:37 +02:00
Yuka 7d24d06c71
nixos/postgresql: use postgres 13 for 21.11 (#131018)
Co-authored-by: Kim Lindberger <kim.lindberger@gmail.com>
2021-07-24 19:12:08 +02:00
Daniel Nagy 4037c974f5
nixos/mysql: use port type 2021-06-18 17:26:55 +02:00
github-actions[bot] 0397e518b7
Merge staging-next into staging 2021-06-05 18:30:31 +00:00
talyz 59e0120aa5
treewide: Fix mysql alias deprecation breakage
62733b37b4 broke evaluation in all
places `pkgs.mysql` was used. Fix this by changing all occurrences to
`pkgs.mariadb`.
2021-06-04 21:42:08 +02:00
Daniel Nagy 0cde374a76
nixos/redis: set port type to types.port 2021-05-30 14:38:19 +02:00
superherointj 97d9e7849b nixos/firebird: updated firebird package 2021-05-23 10:53:00 -03:00
Maximilian Bosch 3f3cec6d9e clickhouse: 20.11.4.13-stable -> 21.3.11.5-lts
Failing Hydra build: https://hydra.nixos.org/build/143269865
ZHF #122042
2021-05-19 14:08:46 -07: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 29158fc0ac nixos/postgresql: fix description of ensureUsers.ensurePermissions
`attrName` and `attrValue` are now in correct order.
2021-05-17 18:03:04 +09:00
Izorkin feebe402f5
treewide: remove duplicates SystemCallFilters 2021-05-13 15:44:56 +03:00
ajs124 cd609e7a1c
Merge pull request #117094 from helsinki-systems/drop/spidermonkey_1_8_5
spidermonkey_1_8_5: drop
2021-05-07 18:55:49 +02:00
ajs124 29bcaf04cb couchdb2: drop 2021-05-03 15:41:42 +02:00
Robert Hensing 58117bc220 nixos/cassandra: extraUsers -> users 2021-04-29 08:51:40 +02:00
Robert Hensing 472d3b710d nixos/cassandra: add myself as maintainer 2021-04-29 08:46:51 +02:00
Robert Hensing 6ad6271d82 nixos/cassandra: remove unnecessary literalExample calls 2021-04-29 08:43:58 +02:00
Robert Hensing 726669ace8 cassandra: use Nix scope checking 2021-04-29 08:40:12 +02:00
Robert Hensing 19ba3d97d2 cassandra: format 2021-04-29 08:40:12 +02:00
Jörg Thalheim a8e7d96eb2
Merge pull request #118961 from Izorkin/update-redis-sandbox
nixos/redis: enable sandbox mode
2021-04-20 21:12:10 +01:00
Jörg Thalheim 0854659567
Merge pull request #119389 from marsam/drop-postgresql_9_5
postgresql_9_5: drop
2021-04-16 19:29:21 +01:00
Symphorien Gibol 7a87973b4c nixos/users: require one of users.users.name.{isSystemUser,isNormalUser}
As the only consequence of isSystemUser is that if the uid is null then
it's allocated below 500, if a user has uid = something below 500 then
we don't require isSystemUser to be set.

Motivation: https://github.com/NixOS/nixpkgs/issues/112647
2021-04-14 20:40:00 +02:00
Izorkin e075aeb8c0
nixos/redis: add option maxclients 2021-04-12 12:37:49 +03:00
Izorkin 061c913c36
nixos/redis: enable sandbox mode 2021-04-12 12:37:49 +03:00
Aaron Andersen 3036212d5a
Merge pull request #118952 from expipiplus1/patch-2
services.postgresql: Improve example clarity
2021-04-10 10:19:50 -04:00