All checks were successful
Check flake syntax / flake-check (push) Successful in 4m57s
138 lines
2.7 KiB
Nix
138 lines
2.7 KiB
Nix
{ config, self, lib, pkgs, inputs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
networking = {
|
|
hostName = mkDefault "overwatch";
|
|
useDHCP = false;
|
|
};
|
|
|
|
imports = [
|
|
self.nixosModules.malobeo.metrics
|
|
../modules/malobeo_user.nix
|
|
../modules/sshd.nix
|
|
];
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 3100 ];
|
|
|
|
malobeo.metrics = {
|
|
enable = true;
|
|
enablePromtail = true;
|
|
logNginx = false;
|
|
lokiHost = "10.0.0.14";
|
|
};
|
|
|
|
services.grafana = {
|
|
enable = true;
|
|
settings.server = {
|
|
domain = "grafana.malobeo.org";
|
|
http_port = 2342;
|
|
http_addr = "127.0.0.1";
|
|
};
|
|
|
|
provision.datasources.settings = {
|
|
apiVersion = 1;
|
|
|
|
datasources = [
|
|
{
|
|
name = "loki";
|
|
type = "loki";
|
|
access = "proxy";
|
|
uid = "eeakiack8nqwwc";
|
|
url = "http://localhost:3100";
|
|
editable = false;
|
|
}
|
|
{
|
|
name = "prometheus";
|
|
type = "prometheus";
|
|
access = "proxy";
|
|
uid = "feakib1gq7ugwc";
|
|
url = "http://localhost:9001";
|
|
editable = false;
|
|
|
|
}
|
|
];
|
|
};
|
|
|
|
provision.dashboards.settings = {
|
|
apiVersion = 1;
|
|
providers = [{
|
|
name = "default";
|
|
options.path = ./dashboards;
|
|
}];
|
|
};
|
|
};
|
|
|
|
services.nginx = {
|
|
enable = true;
|
|
virtualHosts.${config.services.grafana.settings.server.domain} = {
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:${toString config.services.grafana.settings.server.http_port}";
|
|
proxyWebsockets = true;
|
|
|
|
extraConfig = ''
|
|
proxy_set_header Host $host;
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
services.prometheus = {
|
|
enable = true;
|
|
port = 9001;
|
|
|
|
scrapeConfigs = [
|
|
{
|
|
job_name = "overwatch";
|
|
static_configs = [{
|
|
targets = [ "127.0.0.1:9002" ];
|
|
}];
|
|
}
|
|
{
|
|
job_name = "durruti";
|
|
static_configs = [{
|
|
targets = [ "10.0.0.5:9002" ];
|
|
}];
|
|
}
|
|
{
|
|
job_name = "infradocs";
|
|
static_configs = [{
|
|
targets = [ "10.0.0.11:9002" ];
|
|
}];
|
|
}
|
|
{
|
|
job_name = "nextcloud";
|
|
static_configs = [{
|
|
targets = [ "10.0.0.13:9002" ];
|
|
}];
|
|
}
|
|
{
|
|
job_name = "zineshop";
|
|
static_configs = [{
|
|
targets = [ "10.0.0.15:9002" ];
|
|
}];
|
|
}
|
|
{
|
|
job_name = "fanny";
|
|
static_configs = [{
|
|
targets = [ "10.0.0.1:9002" ];
|
|
}];
|
|
}
|
|
# add vpn - check how to reach it first. most probably 10.100.0.1
|
|
];
|
|
};
|
|
|
|
services.loki = {
|
|
enable = true;
|
|
configFile = ./loki.yaml;
|
|
};
|
|
|
|
users.users.promtail.extraGroups = [ "nginx" "systemd-journal" ];
|
|
|
|
|
|
|
|
system.stateVersion = "22.11"; # Did you read the comment?
|
|
}
|
|
|