Commit graph

68 commits

Author SHA1 Message Date
Sandro Jäckel 95a7b35b1c
nixos/grafana: add default value back to settings.server.socket 2022-10-27 00:53:46 +02:00
KFears f2e74bdf57 nixos/grafana: fix secrets-related warnings 2022-10-26 21:03:57 +04:00
KFears f3cb29a5b8 nixos/grafana: fix issues with rfc42 refactoring 2022-10-24 19:31:50 +04:00
KFears 9f963f36e5 nixos/grafana: refactor settings for RFC42 2022-10-22 23:56:14 +04:00
KFears c7cd659710 nixos/grafana: fix markdown docs 2022-10-22 23:54:32 +04:00
KFears 7908ef062f nixos/grafana: add alerting 2022-10-22 23:54:32 +04:00
KFears 34c2ea6750 nixos/grafana: deprecate notifiers 2022-10-22 23:54:31 +04:00
KFears 0852dc859e nixos/grafana: refactor datasources for RFC42
This commit refactors `services.grafana.provision.datasources` towards
the RFC42 style. To preserve backwards compatibility, we have to jump
through a ton of hoops, introducing esoteric type signatures and bizarre
structs. The Grafana module definition should hopefully become a lot
cleaner after a release cycle or two once the old configuration style is
completely deprecated.
2022-10-22 23:53:24 +04:00
KFears 89e30315e0 nixos/grafana: refactor dashboards for RFC42
This commit refactors `services.grafana.provision.dashboards` towards
the RFC42 style. To preserve backwards compatibility, we have to jump
through a ton of hoops, introducing esoteric type signatures and bizarre
structs. The Grafana module definition should hopefully become a lot
cleaner after a release cycle or two once the old configuration style is
completely deprecated.
2022-10-21 16:42:30 +04:00
Maximilian Bosch 0df6c52026
nixos/grafana: ensure that declarative prometheus data-sources don't use direct access
Support for that was permanently dropped in Grafana 9.2.0, see also
f30795b088
2022-10-13 10:28:29 +02:00
Erik Skytthe 3c1c405e72 nixos/grafana: fix description text error
Description text has been placed incorrectly for allowedDomains and allowedGroups
2022-09-09 15:55:15 +02:00
Pierre Bourdon bfe73f9543
nixos/grafana: loosen systemd syscall sandboxing
Allow @resources syscalls in the grafana.service unit. While Grafana
itself does not need them, some plugins (incl. first party) crash if
they fail to setrlimit. This was first seen with the official grafana
Clickhouse datasource plugin.

The @resources syscalls set is fairly harmess anyway.
2022-09-06 02:10:47 +02:00
pennae ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +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
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
Jan Tojnar 81291cc793 nixos/grafana: Allow setting UID for datasource 2022-05-29 19:22:02 +02: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
Kristoffer Føllesdal e13ec87217 nixos/grafana: add Azure AD OAuth options 2022-05-16 16:37:02 +02:00
Moritz 9f715a3d31
nixos/grafana: Add foldersFromFilesStructure option for dashboard provisioning (#132348) 2022-03-29 10:53:39 +02: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
Alexandre Iooss 8d559672be
nixos/grafana: fix systemd unit
Remove MemoryDenyWriteExecute hardening as it breaks image rendering
plugin. Add CAP_NET_BIND_SERVICE to bind to low ports when needed.
Remove PrivateUsers and ProcSubset as upstream choose to remove it.

Upstream changes: <https://github.com/grafana/grafana/pull/40219>,
<https://github.com/grafana/grafana/pull/40178>,
<https://github.com/grafana/grafana/pull/40339> and
<https://github.com/grafana/grafana/pull/40815>.
2021-10-23 14:33:31 +02:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Alexandre Iooss bbc51efb46 nixos/grafana: systemd unit hardening 2021-09-08 10:43:46 +02:00
Leo Maroni 2163af5167 nixos/grafana: start systemd service after database 2021-08-26 07:06:59 +09:00
Daniel Nagy 044d996906
nixos/grafana: use port type 2021-06-18 17:27:31 +02:00
Erik Skytthe d1b4158155
nixos/grafana: Change services.grafana.provision.datasources.*.type to be open (#126831) 2021-06-16 11:12:51 +02:00
talyz 41387135dd nixos/grafana: Add error handling to service script
Without this, the services starts even if files are missing or
prerequisite commands fail, which can lead to incorrect initial
state.
2021-06-07 18:00:13 +09:00
talyz 98f07d6cc5 nixos/grafana: Filter out duplicate plugins
If the same plugin appears multiple times in `declarativePlugins`, for
example due to being added both by a module and in user config, the
build fails with an error message similar to

ln: failed to create symbolic link 'grafana-worldmap-panel/glmqcj88zk2bz3mvdr3r7920wxg02qnq-grafana-worldmap-panel-0.3.2': Permission denied

This is solved by removing all duplicates.
2021-06-07 18:00:13 +09:00
Jarosław Wygoda df3be1718a grafana: add google oauth2 config
Grafana supports Google OAuth2.
https://grafana.com/docs/grafana/latest/auth/google/
2021-04-13 12:33:04 +00:00
Leo Maroni c162597465
nixos/grafana: add socket configuration option 2021-03-29 15:59:24 +02:00
Milan Pässler 507b66a5e5
nixos/grafana: create directory for notifiers provisioning 2021-03-03 20:11:25 +01:00
Isaac van Bakel 3e4499519d Add trailing periods to all Grafana option descriptions 2021-03-03 03:59:39 -05:00
Isaac van Bakel f689b8a65f Add notifier configs to grafana provisioning
Similar to dashboards and datasources, notifiers in Grafana can also be
provisioned. This adds them to the Grafana service definition.
2021-03-03 03:59:39 -05:00
Luke Granger-Brown d0a9e1ec83 nixos/grafana: add support for declarative plugin installation 2020-12-30 17:59:52 +00:00
zowoq c59c4e3589 nixos/*: use $out instead of $bin with buildGoPackage 2020-04-28 20:30:29 +10:00
PsyanticY 1f6fbc922f nixos/grafana: fix smtp enable typo 2019-11-14 14:46:37 +01:00
Jean Potier 9847967594
Fix typo in assert in grafana module
Current assert prevents using secretKeyFile entirely
2019-08-11 13:21:26 +03:00
WilliButz a9ce5f6c59
nixos/grafana: add grafana user to group 'grafana' 2019-07-15 18:33:19 +02:00
Benjamin Hipple d084937fe7 nixos.grafana: fix docstring typo 2019-04-27 13:09:48 -04:00
Aleksandar Topuzović 092eab7228
nixos/grafana: implement dashboard & datasource provisioning
Adds the ability to automatically provision datasources and dashboards.
2019-02-06 12:50:24 +01:00
WilliButz 60eff0eecb
nixos/grafana: use new default for connMaxLifetime 2018-12-05 20:49:45 +01:00
Jörg Thalheim 9046673696 nixos/grafana: option to configure smtp 2018-09-20 23:06:10 +01:00
Jörg Thalheim 7eb9c348fb nixos/grafana: options to store secrets not in nix store 2018-09-20 23:06:10 +01:00
Robin Gloster 929f71d381
grafana module: allow path for extraConfig vals 2018-09-12 14:21:46 +02:00
Florian Klink fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Ben Wolsieffer ed6f1761cc grafana: support socket protocol 2018-04-12 22:49:15 -04:00
WilliButz ca7b29050f grafana: 5.0.2 -> 5.0.3, fix headless phantomjs 2018-03-19 19:59:10 +01:00
WilliButz 5ea2c87464
grafana: 4.6.3 -> 5.0.0 2018-03-01 17:50:09 +01:00
Ollie Charles 6ece306812 nixos/grafana: Fix type of database.type option
If you want to use grafana with PostgreSQL, the type is `postgres`,
not `postgresql`.
2017-11-28 11:57:35 +00:00