Commit Graph

925 Commits

Author SHA1 Message Date
pennae
423545fe48 nixos/*: normalize manpage references to single-line form
now nix-doc-munge will not introduce whitespace changes when it replaces
manpage references with the MD equivalent.

no change to the manpage, changes to the HTML manual are whitespace only.
2022-08-05 18:34:50 +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
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
pennae
6b13dd0e9e
Merge pull request #183491 from pennae/automatic-md-conversions
treewide: automatically md-convert option descriptions
2022-08-02 02:15:30 +02: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
Florian Klink
7df5b81fc3 nixos/grafana-agent: ensure defaults are merged
Move the defaults to the `config` section of the module, and apply them
with mkDefault.

That way the defaults are merged with user-provided config, and are
merged without having to use lib.mkForce.
2022-07-29 13:23:12 +07:00
Mario Rodas
f97827178e
Merge pull request #181021 from melvyn2/patch-1
Add `bash` to netdata service path
2022-07-24 16:12:07 -05:00
Maximilian Bosch
501bbad4ce
Merge pull request #182104 from mayflower/mail-exporter-secrets
nixos/prometheus-mail-exporter: support storing `passphrase` outside of the store, use umask when using envsubst
2022-07-20 20:42:14 +02:00
Maximilian Bosch
92bd77e85e
nixos/prometheus-mail-exporter: umask to avoid accidental world-readability 2022-07-20 20:29:38 +02:00
Maximilian Bosch
39c0694709
nixos/prometheus-mail-exporter: support storing passphrase outside of the store 2022-07-19 17:32:08 +02:00
Wout Mertens
3ee8d4c909
netdata module: fix ExecStartPost (#181976) 2022-07-19 06:19:18 +02:00
Wout Mertens
7f55ee3a53
netdata: fix post start for module 2022-07-15 09:57:13 +02:00
Melvyn
ef6d6d4c4a
Add bash to netdata service path
The `bash` binary is needed for running some plugins, notably the alarm notify plugins. If the binary isn't in the path, alarms notifications aren't sent and the netdata error log instead contains `/usr/bin/env: 'bash': No such file or directory`.
2022-07-10 16:26:05 -07:00
Martin Weinelt
0044b4fa22
Merge pull request #180950 from alyssais/graphite 2022-07-10 17:22:45 +02:00
Martin Weinelt
f8137a54eb
Merge pull request #153445 from erdnaxe/prometheus_protecthome
nixos/prometheus-node-exporter: do not protect home
2022-07-10 17:21:44 +02:00
Alyssa Ross
1f18d44106
python3.pkgs.graphite_api: remove
Due to lack of maintenance.  It doesn't build, the last upstream
commit was in 2017, and last significant change in Nixpkgs was in
2018.
2022-07-10 09:46:20 +00:00
Alyssa Ross
ada1d87767
python3.pkgs.graphite_beacon: remove
Due to lack of maintenance.  It is not compatible with the default
Python version (due to the tornado 5) dependency, and doesn't look
like it will be any time soon.
2022-07-10 09:17:23 +00:00
Kim Lindberger
8b404a1617
Merge pull request #177783 from talyz/parsedmarc-secrets
parsedmarc, geoipupdate: Improve secrets handling and more
2022-06-27 15:26:10 +02:00
Maximilian Bosch
5ab65d9cd1 nixos/prometheus-postfix-exporter: fixes for systemd integration
* Allow the service to read from the journal w/systemd.enable
* Ensure that the service is started after postfix.service
2022-06-20 19:30:59 +02:00
Florian Klink
5f297c164e nixos/grafana-agent: add myself as maintainer 2022-06-19 11:50:32 +02:00
Florian Klink
b09836593e nixos/grafana-agent: move remote write config from integrations.prometheus_remote_write to metrics.global.remote_write
remote_write config in integrations.prometheus_remote_write is only
applied for integrations, so static configurations won't get written
anywhere.
2022-06-19 11:50:32 +02:00
Florian Klink
e578b4d3ed nixos/grafana-agent: drop server.{grpc,http}_listen_address,http_listen_port
According to https://grafana.com/docs/agent/latest/upgrade-guide/#v0240,
this has been deprecated/moved to -server.http.address and
-server.grpc.address (accepting ip and port) config options in v0.24.0,
and already listens on localhost and not port 80 by default.
2022-06-19 11:50:31 +02:00
Florian Klink
2cca676e69 nixos/grafana-agent: replace settings.prometheus with settings.metrics
According to https://github.com/grafana/agent/pull/1540, -prometheus.*
flages were deprecated in 0.19.0 in favor of the -metrics.*
counterparts. Same applies to `loki` being renamed to `logs`.

I'm not sure if the config file format is still supported (it could be),
but we shouldn't use deprecated configs.
2022-06-19 11:50:31 +02:00
talyz
858a0c3fa6
nixos/parsedmarc: Improve secret handling
Make secret replacement more robust and futureproof:

- Allow any attribute in `services.parsedmarc.settings` to be a
  secret if set to `{ _secret = "/path/to/secret"; }`.

- Hash secret file paths before using them as a placeholders in the
  config file to minimize the risk of conflicting file paths being
  replaced instead.
2022-06-16 13:58:20 +02:00
talyz
32e057881a
nixos/parsedmarc: Remove kafka support
It's broken (see https://github.com/domainaware/parsedmarc/issues/243)
and providing settings for it is therefore misleading.
2022-06-15 20:15:09 +02:00
talyz
6686a3115c
nixos/parsedmarc: Fix compatibility with recent versions of grafana 2022-06-15 20:15:03 +02:00
zimbatm
31b47913f3
nixos: add grafana-agent module
Easily ship logs and metrics to Grafana Cloud and other similar targets.
2022-06-15 12:59:06 +02:00
Maximilian Bosch
7f9a78e197
Merge pull request #175330 from jtojnar/grafana-uid
nixos/grafana: Allow setting UID for datasource
2022-06-13 07:01:19 +02:00
Maximilian Bosch
e03d41fb6b
nixos/prometheus-wireguard-exporter: fix broken options
This is apparently a breaking change in a patch-level release[1] where
it's now necessary to specify values for each CLI argument.

[1] https://github.com/MindFlavor/prometheus_wireguard_exporter/releases/tag/3.6.1
2022-06-12 20:27:25 +02:00
happysalada
f5ef819e24 mimir: switch pname to mimir 2022-06-07 06:53:15 -04:00
Wout Mertens
7f025e2b34
netdata: started when service can be pinged 2022-06-03 10:45:27 +02:00
Martin Weinelt
02e44ee3be
Merge pull request #174804 from dotlambda/prometheus-dmarc-exporter-no-poetry2nix 2022-06-01 01:46:30 +02:00
Robert Schütz
aff15c41fc dmarc-metrics-exporter: rename from prometheus-dmarc-exporter
Also stop using poetry2nix.
2022-05-31 23:25:18 +00:00
Maximilian Bosch
185ee01e80
Merge pull request #173273 from kfollesdal/grafana-azuread
nixos/grafana: add new options to grafana module
2022-05-31 19:24:33 +02:00
Jan Tojnar
81291cc793 nixos/grafana: Allow setting UID for datasource 2022-05-29 19:22:02 +02:00
Jörg Thalheim
d32a2bf207 nixos/mimir: also expose mimirtool to users 2022-05-29 03:49:17 -04:00
Jörg Thalheim
6497902407 nixos/mimir: set workingdirectory
Mimir writes files relatative to its working directory.
With this option less files have to be configured.
2022-05-29 03:49:17 -04:00
Kristoffer Føllesdal
298e2ce302 nixos/grafana: add disableLoginForm option 2022-05-18 16:09:04 +02:00
Kristoffer Føllesdal
ea8f7e7bbd nixos/grafana: add serveFromSubPath option 2022-05-18 16:08:15 +02:00
Cole Helbling
c0723eef37 nixos/prometheus: enable checking syntax only
This allows config checking with external files to not fail inside the
sandbox.
2022-05-17 10:45:49 -07:00
Kristoffer Føllesdal
e13ec87217 nixos/grafana: add Azure AD OAuth options 2022-05-16 16:37:02 +02:00
Sandro
befb337461
Merge pull request #169216 from Shawn8901/fix_prometheus_config_generation
nixos/prometheus: use pkgs.formats.json.generate to write config file
2022-05-08 15:09:09 +02:00
happysalada
a4707b645f grafana-mimir: add initial module 2022-04-29 07:23:03 -04:00
ajs124
3fedfb5f8a
Merge pull request #110870 from asymmetric/doc/prom-node-exp
docs: modules/prometheus: finish exporter setup
2022-04-18 22:54:01 +01:00
Shawn8901
7f01ff7822 nixos/prometheus: use pkgs.formats.json.generate to write config file
The old way of writing the file omited qoutes within strings which are needed by some configurations like federations.
The quotes got lost when `echo`ing the content via `echo '${builtins.toJSON x}'`.
The pkgs.formats.json does handle that race condition properly, so this commit switches the writing to that helper.
2022-04-18 18:09:03 +02:00
pacien
68128e7b7e nixos/nagios: replace ssmtp package use with msmtp
The ssmtp program is not maintained and is being removed.

GitHub: see https://github.com/NixOS/nixpkgs/issues/105710
2022-04-17 00:44:50 +02:00
Lassulus
807b226542
Merge pull request #162777 from amarshall/prom-deprecated-opt
nixos/prometheus: Remove upstream-deprecated alertManagerTimeout
2022-04-12 09:07:51 +01:00
Andrew Marshall
3bbfc7849e nixos/prometheus: Remove upstream-deprecated alertManagerTimeout
When started, Prometheus prints:

> The flag --alertmanager.timeout has no effect and will be removed in
> the future.

See also
2316062d4e
2022-04-11 23:37:33 -04:00
Guillaume Girol
44a3d91e5f nixos/collectd: put extraconfig before plugins
this is necessary to override the global option Interval.
If set after the plugins, it has no effect.
2022-04-03 17:25:26 +02:00
Florian Klink
c57c5c42a4 prometheus-bird-exporter: update birdSocket default path
a5276e1fbd updated bird to use
/run/bird/bird.ctl, but didn't update the default used for
prometheus-bird-exporter.

Reported-In: https://github.com/NixOS/nixpkgs/pull/161193#issuecomment-1086228985
2022-04-01 22:59:48 +02:00
Martin Weinelt
35b3c26351
Merge pull request #164533 from mweinelt/kea-exporter-after-kea
nixos/prometheus-exporters/kea: wait for kea
2022-03-30 00:03:03 +02:00
Moritz
9f715a3d31
nixos/grafana: Add foldersFromFilesStructure option for dashboard provisioning (#132348) 2022-03-29 10:53:39 +02:00
Janne Heß
a34c788e30
Merge pull request #163230 from helsinki-systems/feat/misc-prometheus-varnis
nixos/prometheus/exporters/varnish: improve some defaults
2022-03-26 18:32:30 +01:00
Martin Weinelt
8b7ca8bdcb
nixos/prometheus-exporters/kea: wait for kea
Fixes race conditions like this:

> systemd[1]: Started prometheus-kea-exporter.service.
> kea-exporter[927]: Listening on http://0.0.0.0:9547
> kea-exporter[927]: Socket at /run/kea/dhcp4.sock does not exist. Is Kea running?
> systemd[1]: prometheus-kea-exporter.service: Main process exited, code=exited, status=1/FAILURE
2022-03-17 03:27:21 +01:00
Maximilian Bosch
0c5586c2f2
Merge pull request #162254 from Ma27/init-dmarc-exporter
prometheus-dmarc-exporter: init at 0.5.1
2022-03-14 09:02:08 +01:00
Martin Weinelt
76721f5e5e
Merge pull request #159986 from NukaDuka/pve_exporter 2022-03-10 22:41:45 +01:00
pennae
06c57317c2
Merge pull request #146653 from DarkDNA/nixos/fix-systemd-exporter/extraFlags
nixos/prometheus/systemd: Implement the extraFlags config option.
2022-03-09 16:12:32 +00:00
ajs124
a28591680b nixos/prometheus/exporters/varnish: improve some defaults 2022-03-08 01:42:27 +01:00
Kartik Gokte
6a0b420d94 nixos/prometheus-pve-exporter: init at 2.2.2 2022-03-02 23:59:33 +05:30
Maximilian Bosch
5cee9c9ef2
prometheus-dmarc-exporter: init at 0.5.1 2022-02-28 16:50:01 +01:00
Martin Weinelt
9d8a23f66e
nixos/smartctl-exporter: fix typo in rawio capab 2022-01-30 04:32:15 +01:00
Martin Weinelt
12c26aca1f
prometheus.exporters.smartctl: Fix autodiscovery
When no devices are given the exporter tries to autodiscover available
disks. The previous DevicePolicy was however preventing the exporter
from accessing any device at all, since only explicitly mentioned ones
were allowed.

This commit adds an allow rule for several device classes that I could
find on my machines, that gets set when no devices are explicitly
configured.

There is an existing problem with nvme devices, that expose a character
device at `/dev/nvme0`, and a (namespaced) block device at
`/dev/nvme0n1`. The character device does not come with permissions that
we could give to the exporter without further impacting the hardening.

  crw------- 1 root root 247, 0 27. Jan 03:10 /dev/nvme0
  brw-rw---- 1 root disk 259, 0 27. Jan 03:10 /dev/nvme0n1

The autodiscovery only finds the character device, which the exporter
unfortunately does not have access to.

However a simple udev rule can be used to resolve this:

  services.udev.extraRules = ''
    SUBSYSTEM=="nvme", KERNEL=="nvme[0-9]*", GROUP="disk"
  '';

Unfortunately I'm not fully aware of the security implications this
change carries and we should question upstream (systemd) why they did
not include such a rule.
The disk group has no members on any of my machines.

  ❯ getent group disk
  disk6:
2022-01-27 17:33:27 +01:00
Martin Weinelt
f860b289d4
prometheus.exporters.smartctl: Allow RAWIO
This allows the exporter to perform SCSI commands and interact with hpsa
and cciss devices.
2022-01-27 13:49:25 +01:00
misuzu
768d0d6098 nixos/netdata: expose /etc/netdata 2022-01-10 23:56:57 +02:00
misuzu
9e6145c73b nixos/netdata: add configDir option
This option makes the complete netdata configuration directory available for
modification. The default configuration is merged with changes
defined in the configDir option.

Co-authored-by: Michael Raitza <spacefrogg-github@meterriblecrew.net>
2022-01-10 23:56:53 +02:00
Sandro Jäckel
39ce4ddd85
nixos/prometheus: fix usage of bearer_token 2022-01-08 22:56:51 +01:00
Alexandre Iooss
e5b24e6da2
nixos/prometheus-node-exporter: do not protect home
Set ProtectHome to false for the node exporter. This allows free space
monitoring under /home.
2022-01-04 08:14:36 +01:00
Jörg Thalheim
fd0a6311a7 prometheus: add authorization section 2022-01-03 12:04:08 +01:00
Bobby Rong
7378b39d1d
Merge pull request #149704 from squalus/nginx-prometheus-exporter-fix
nixos/prometheus-nginx-exporter: fix argument syntax
2021-12-23 10:27:16 +08:00
Guillaume Girol
d96a3994cc nixos/collectd: validate config file syntax at build time 2021-12-23 00:08:43 +01:00
Graham Christensen
3907d19260 services.prometheus.exporters.fastly: add a smoke test 2021-12-20 10:57:31 -05:00
Graham Christensen
1753f97e13 services.prometheus.exporters.fastly: fixup broken module config 2021-12-20 10:29:13 -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
e67a646a92 treewide: add defaultText to remaining options
these are mostly options that use alias bindings, bindings to constants,
or bindings to calculated values.
2021-12-09 01:42:24 +01:00
pennae
9407761763 treewide: add defaultText for options using other shortcut bindings 2021-12-09 01:42:24 +01: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
pennae
ed673a69db treewide: add defaultText for options with simple cfg.* expression defaults
adds defaultText for options with defaults that use only literals, full config.*
paths, and the cfg shortcut binding.
2021-12-09 01:14:16 +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
pennae
e24a8775a8 treewide: set defaultText for options using simple path defaults
adds defaultText for all options that set their default to a path expression
using the ubiquitous `cfg` shortcut bindings.
2021-12-09 01:12:13 +01:00
squalus
c3ab9e6d40 nixos/prometheus-nginx-exporter: fix argument syntax
Arguments were being ignored because the program expects an equals sign
to separate the argument name from the value.

Documented in https://github.com/nginxinc/nginx-prometheus-exporter/issues/153

Fixes #107541
2021-12-08 11:32:13 -08:00
Robert Hensing
862d167f17
Merge pull request #147441 from pennae/option-doc-staticizing
nixos/*: add trivial defaultText to options where applicable
2021-12-06 01:35:38 +01:00
Jörg Thalheim
8ae2771224
Merge pull request #148729 from bjornfor/add-missing-collectd-group-v2
nixos/collectd: add missing group
2021-12-05 17:18:55 +00:00
Bjørn Forsman
05bc708a7f nixos/collectd: add missing group
While upgrading my NixOS system I was greeted by this error:

  error:
  Failed assertions:
  - users.users.collectd.group is unset. This used to default to
  nogroup, but this is unsafe. For example you can create a group
  for this user with:
  users.users.collectd.group = "collectd";
  users.groups.collectd = {};

Let's fix it.
2021-12-05 17:17:12 +01:00
Martin Weinelt
0c008f9c0d
Merge pull request #147056 from mweinelt/smartctl-exporter 2021-12-05 03:00:48 +01:00
Maximilian Bosch
8e6d403e65
nixos/prometheus-postfix-exporter: whitelist addr-family AF_UNIX
Otherwise, `postfix_up{path="/var/lib/postfix/queue/public/showq"}` will
always be `0` indicating an postfix outage because this is a unix domain
socket that cannot be connected to:

    2021/12/03 14:50:46 Failed to scrape showq socket: dial unix /var/lib/postfix/queue/public/showq: socket: address family not supported by protocol
2021-12-03 19:01:19 +01:00
pennae
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Martin Weinelt
386a1e79eb
nixos/smartctl-exporter: init 2021-11-23 11:30:28 +01:00
Amanda Cameron
4bfe837a58 nixos/prometheus/systemd: Implement the extraFlags config option. 2021-11-19 13:09:56 -05:00
Marek Mahut
2e75b280a7
prometheus-nginx-exporter: boolean conversion to string 2021-11-19 16:22:04 +01:00
Artturi
aa64f17479
Merge pull request #146420 from Artturin/cadvisorfix 2021-11-18 23:40:03 +02:00
Michele Guerini Rocco
90bb5d0e19
Merge pull request #146409 from aanderse/zabbix
nixos/zabbixServer: explicitely set security.wrappers ownership
2021-11-17 22:05:16 +01:00
Artturin
0894568aee nixos/cadvisor: add zfs to path when zfs enabled
fixes https://github.com/NixOS/nixpkgs/issues/105139
2021-11-17 20:47:44 +02:00
Aaron Andersen
ebbf93136f nixos/zabbixServer: explicitely set security.wrappers ownership 2021-11-17 11:26:14 -05:00
Sandro
93a0ff08d8
Merge pull request #141551 from astro/collectd-plugin-config 2021-11-10 20:11:24 +01:00
Astro
19fc2904f3 nixos/collectd: give plugins option a mergeable type 2021-11-08 17:09:56 +01:00
Bas van Dijk
7f7780daa5 nixos/prometheus: throw a helpful error when services.prometheus.environmentFile is defined 2021-11-07 19:04:24 +00:00
Bas van Dijk
0e4abb0df7 nixos/prometheus: remove services.prometheus.environmentFile
The option `services.prometheus.environmentFile` has been removed since it was causing [issues](https://github.com/NixOS/nixpkgs/issues/126083) and Prometheus now has native support for secret files.
2021-11-07 14:45:40 +00:00
Yannik Rödel
7d34d32b3d nixos/prometheus: add remaining service discovery options 2021-11-05 12:18:13 +01:00
Yannik Rödel
b3d4f6d841 nixos/prometheus: add service discovery options 2021-11-04 15:07:18 +00:00