Solved the edge case of Loki failing at first startup due to folders not initialized.
Some checks failed
Build Nix modules (dry-run) / build-modules (push) Failing after 3m26s

This commit is contained in:
Root User 2026-02-14 22:32:30 +01:00
parent 0270bbac6f
commit 7fdee70cec
Signed by: root
GPG key ID: 087F0A95E5766D72
3 changed files with 62 additions and 55 deletions

View file

@ -34,7 +34,7 @@ in {
(choose [./modules/desktop-manager/gnome.nix ../desktop-manager/gnome.nix]) (choose [./modules/desktop-manager/gnome.nix ../desktop-manager/gnome.nix])
(choose [./modules/local/hostname_username.nix ../local/hostname_username.nix]) (choose [./modules/local/hostname_username.nix ../local/hostname_username.nix])
(choose [./modules/local/networking_local.nix ../local/networking_local.nix]) (choose [./modules/local/networking_local.nix ../local/networking_local.nix])
(choose [./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix]) # (choose [./modules/bootloader/seabios-assigned-iso-at-birth.nix ../bootloader/seabios-assigned-iso-at-birth.nix])
(choose [./modules/lix-default.nix ../lix-default.nix]) (choose [./modules/lix-default.nix ../lix-default.nix])
(choose [./modules/toolsets/grafana_metric.nix ../toolsets/grafana_metric.nix]) (choose [./modules/toolsets/grafana_metric.nix ../toolsets/grafana_metric.nix])
(choose [./modules/secrets-config/sops-database.nix ../secrets-config/sops-database.nix]) (choose [./modules/secrets-config/sops-database.nix ../secrets-config/sops-database.nix])

View file

@ -77,64 +77,61 @@ in {
#analytics.reporting_enabled = false; #analytics.reporting_enabled = false;
}; };
provision = {
enable = true;
# ============== Declarative Config ================
provision = { datasources.settings.datasources = [
enable = true; # Provisioning a built-in data source
# ============== Declarative Config ================ {
name = "Prometheus - Forgejo";
type = "prometheus";
url = "http://10.1.1.4:9001";
isDefault = false;
editable = true;
}
datasources.settings.datasources = [ {
# Provisioning a built-in data source name = "Loki - Forgejo";
{ type = "loki";
name = "Prometheus - Forgejo"; url = "http://10.1.1.4:3100";
type = "prometheus"; isDefault = false;
url = "http://10.1.1.4:9001"; editable = true;
isDefault = false; }
editable = true;
}
{ {
name = "Loki - Forgejo"; name = "Prometheus - Build Machine";
type = "loki"; type = "prometheus";
url = "http://10.1.1.4:3100"; url = "http://10.1.1.3:9001";
isDefault = false; isDefault = false;
editable = true; editable = true;
} }
{ {
name = "Prometheus - Build Machine"; name = "Loki - Build Machine";
type = "prometheus"; type = "loki";
url = "http://10.1.1.3:9001"; url = "http://10.1.1.3:3100";
isDefault = false; isDefault = false;
editable = true; editable = true;
} }
{ {
name = "Loki - Build Machine"; name = "Prometheus - Database";
type = "loki"; type = "prometheus";
url = "http://10.1.1.3:3100"; url = "http://10.1.1.251:9001";
isDefault = false; isDefault = false;
editable = true; editable = true;
} }
{
name = "Prometheus - Database";
type = "prometheus";
url = "http://10.1.1.251:9001";
isDefault = false;
editable = true;
}
{
name = "Loki - Database";
type = "loki";
url = "http://10.1.1.251:3100";
isDefault = false;
editable = true;
}
];
};
{
name = "Loki - Database";
type = "loki";
url = "http://10.1.1.251:3100";
isDefault = false;
editable = true;
}
];
};
}; };
services.prometheus = { services.prometheus = {
@ -276,7 +273,5 @@ in {
networking.firewall.allowedTCPPorts = [3000]; networking.firewall.allowedTCPPorts = [3000];
networking.firewall.allowedUDPPorts = [3000]; networking.firewall.allowedUDPPorts = [3000];
}; };
} }

View file

@ -136,4 +136,16 @@
networking.firewall.allowedTCPPorts = [3100 9001]; networking.firewall.allowedTCPPorts = [3100 9001];
networking.firewall.allowedUDPPorts = [3100 9001]; networking.firewall.allowedUDPPorts = [3100 9001];
systemd.services."loki-create-dirs" = {
description = "Create Loki runtime/storage directories";
after = ["network.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = '' ${pkgs.bash}/bin/bash -c "set -eu; \
mkdir -p /var/loki /var/loki/compactor
'';
};
wantedBy = ["multi-user.target"];
};
} }