3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

80 commits

Author SHA1 Message Date
Sandro Jäckel 7e0588b2fb
nixos/grafana: listen on localhost by default (again) 2022-12-29 03:00:14 +01:00
Maximilian Bosch f37f1de422
Merge pull request #204537 from squalus/grafana-role
nixos/grafana: add Admin to valid auto_assign_org_role values
2022-12-20 21:14:47 +01:00
D Anzorge 9be81d0acf nixos/grafana: allow @chown syscalls when using unix sockets
Grafana will unconditionally call chown on the socket after creating it,
even if the configuration does not ask for a different socket gid.
2022-12-13 02:47:50 +01:00
squalus ef90ce7093 nixos/grafana: add Admin to valid auto_assign_org_role values 2022-12-04 13:10:19 -08:00
Maximilian Bosch 98cadbcf70
nixos/grafana: review fixes 2022-11-20 19:54:44 +01:00
Maximilian Bosch 6ee5ae3e48
nixos/grafana: make warning more clear 2022-11-20 18:21:41 +01:00
Maximilian Bosch 9d7e9c5965
nixos/grafana: allow using both directories or single YAML files for non-Nix provisioning 2022-11-20 18:21:41 +01:00
Maximilian Bosch 2f1dfb0db3
nixos/grafana: fix w/o datasources or dashboard provisioning 2022-11-20 18:21:41 +01:00
Maximilian Bosch 4ec456b725
nixos/grafana: fix secret-related warnings
Closes #198646

* The options `password`/`basicAuthPassword` were removed for
  datasources in Grafana 9. The only option to declare them now is to use
  `secureJsonData`.
* Fix description for contactPoints provisioning: when using file/env
  providers, nothing will be leaked into the store.
* Fix regex in file-provider usage check: it's also possible to either
  use `$__env{FOO}` or `$FOO` to fetch secrets from the environment.
* Fix warning for datasources: `password`/`basicAuthPassword` was
  removed, also check for each setting in `secureJsonData` if
  env/file-provider was used (then no warning is needed!).
2022-11-20 18:21:40 +01:00
Maximilian Bosch 45e1ce7e3a
nixos/grafana: get rid of unnecessary flatten for warnings 2022-11-20 18:21:39 +01:00
Maximilian Bosch 25b5824696
nixos/grafana: mark services.grafana.extraOptions as removed 2022-11-20 18:21:38 +01:00
Maximilian Bosch 957e368f3d
nixos/grafana: provision.{datasources,dashboards} can't be a list anymore
The hack with `either` had the side-effect that the sub-options of the
submodule didn't appear in the manual. I decided to remove this because
the "migration" isn't that hard, you just need to fix some module
declarations.

However, `mkRenamedOptionModule` wouldn't work here because it'd create
a "virtual" option for the deprecated path (i.e.
`services.grafana.provision.{datasources,dashboards}`), but that's the
already a new option, i.e. the submodule for the new stuff.

To make sure that you still get errors, I implemented a small hack using
`coercedTo` which throws an error if a list is specified (as it would be
done on 22.05) which explains what to do instead to make the migration
easier.

Also, I linkified the options in the manual now to make it easier to
navigate between those.
2022-11-20 18:21:35 +01:00
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