Currently, it is not possible to configure `apps.plugin` via NixOS
option `services.netdata.configDir."apps_groups.conf"`. This is because
`apps.plugin` explicitly does not follow symbolic links when reading its
configuration from apps_groups.conf[^ref].
This change will copy that file instead of symlinking to address this.
Fixes#255161
[^ref]: 3849e70f93/src/collectors/apps.plugin/apps_plugin.c (L679)
Add postStart code that waits until Scrutiny has opened its port. This
fixes a race condition against scrutiny-collector, which can start (and
fail) before scrutiny is ready.
Teamviewer only works with its daemon. Therefore, having programs.teamviewer.enable
is not the design currently chosen to add teamviewer. Instead, the
servies.teamviewer.enable option enables both the daemon and the system package.
dnsmasq dhcp-leasefile defaults to /var/lib/dnsmasq/dnsmasq.leases, so
use that as the default for the exporter too. Curiously, the example was
using the working path, so this patch simply swaps "example" and
"default" values.
This commit ensures that exactly one of either the `repository` or
`repositoryFile` option is set. Specifying a repository is required, but
only *one* of the two options will be used, so instead of arguing about
a precedence that will only cause confusion, it makes more sense to make
them mutually exclusive.
This commit makes it possible to keep the backup repository for restic
secret by using a file outside the nix store. The restic module has an
equivalent option `services.restic.backups.<name>.repositoryFile`, which
is rendered pointless when using the cleartext `repository` option for
this exporter.
smartctl_exporter already runs with SupplementaryGroups "disk", which
gives full access to SATA drives, but NVMe devices are owned by
root:root, resulting in no access:
[...] msg="Smartctl open device: /dev/nvme0 failed: Permission denied"
This patch introduces a "smartctl-exporter-access" supplementary
group, and an udev rule with setfacl to give the exporter access to NVMe
drives, without changing the base root:root ownership.
Fixes https://github.com/NixOS/nixpkgs/issues/210041
Since `connectionStringFile` reads the file and puts it into the
invocation of the exporter, it's part of the cmdline and thus
effectively world-readable.
Added a new `connectionEnvFile` which is supposed to be an environment
file of the form
PGBOUNCER_EXPORTER_CONNECTION_STRING=...
that will be added to the systemd service. The exporter will read the
connection string from that value.
In theory, we can use one server as rustdesk's signal server and another
one as rustdesk's relay server. This PR allows such behavior.
This PR also renames `relayIP` to `relayHosts` since we can specify dns
name or ip as a relay server.