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:
parent
05217e5564
commit
7df5b81fc3
|
@ -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 = ''
|
||||
|
|
Loading…
Reference in a new issue