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.
This commit is contained in:
Florian Klink 2022-07-28 13:42:16 +07:00
parent 05217e5564
commit 7df5b81fc3

View File

@ -48,9 +48,10 @@ in
freeformType = settingsFormat.type;
};
default = {
default = { };
defaultText = ''
metrics = {
wal_directory = "\${STATE_DIRECTORY}";
wal_directory = "\''${STATE_DIRECTORY}";
global.scrape_interval = "5s";
};
integrations = {
@ -59,8 +60,7 @@ in
node_exporter.enabled = true;
replace_instance_label = true;
};
};
'';
example = {
metrics.global.remote_write = [{
url = "\${METRICS_REMOTE_WRITE_URL}";
@ -104,6 +104,20 @@ in
};
config = mkIf cfg.enable {
services.grafana-agent.settings = {
# keep this in sync with config.services.grafana-agent.settings.defaultText.
metrics = {
wal_directory = mkDefault "\${STATE_DIRECTORY}";
global.scrape_interval = mkDefault "5s";
};
integrations = {
agent.enabled = mkDefault true;
agent.scrape_integration = mkDefault true;
node_exporter.enabled = mkDefault true;
replace_instance_label = mkDefault true;
};
};
systemd.services.grafana-agent = {
wantedBy = [ "multi-user.target" ];
script = ''