fmt: alejandra
This commit is contained in:
parent
53378cdfc9
commit
3350d19a45
79 changed files with 432 additions and 511 deletions
|
@ -1,7 +1,10 @@
|
|||
{ inputs, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
disabledModules = [ "services/web-servers/traefik.nix" ];
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
disabledModules = ["services/web-servers/traefik.nix"];
|
||||
|
||||
imports = [
|
||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/web-servers/traefik.nix"
|
||||
|
@ -86,12 +89,14 @@
|
|||
# List of domains in our network
|
||||
domains = [
|
||||
# Internal services
|
||||
{ main = "kanto.dev";
|
||||
sans = [ "*.kanto.dev" ];
|
||||
{
|
||||
main = "kanto.dev";
|
||||
sans = ["*.kanto.dev"];
|
||||
}
|
||||
# Public services
|
||||
{ main = "sajenim.dev";
|
||||
sans = [ "*.sajenim.dev" ];
|
||||
{
|
||||
main = "sajenim.dev";
|
||||
sans = ["*.sajenim.dev"];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
@ -106,7 +111,7 @@
|
|||
metrics = {
|
||||
prometheus = {
|
||||
entryPoint = "metrics";
|
||||
buckets = [ "0.1" "0.3" "1.2" "5.0" ];
|
||||
buckets = ["0.1" "0.3" "1.2" "5.0"];
|
||||
addEntryPointsLabels = true;
|
||||
addRoutersLabels = true;
|
||||
addServicesLabels = true;
|
||||
|
@ -144,20 +149,33 @@
|
|||
services.prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "traefik";
|
||||
static_configs = [{
|
||||
targets = [ "127.0.0.1:8082" ];
|
||||
}];
|
||||
static_configs = [
|
||||
{
|
||||
targets = ["127.0.0.1:8082"];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
# Persist our traefik data & logs
|
||||
environment.persistence."/persist" = {
|
||||
directories = [
|
||||
{ directory = "/var/lib/traefik"; user = "traefik"; group = "traefik"; }
|
||||
{ directory = "/var/log/traefik"; user = "traefik"; group = "traefik"; }
|
||||
{ directory = "/plugins-storage"; user = "traefik"; group = "traefik"; }
|
||||
{
|
||||
directory = "/var/lib/traefik";
|
||||
user = "traefik";
|
||||
group = "traefik";
|
||||
}
|
||||
{
|
||||
directory = "/var/log/traefik";
|
||||
user = "traefik";
|
||||
group = "traefik";
|
||||
}
|
||||
{
|
||||
directory = "/plugins-storage";
|
||||
user = "traefik";
|
||||
group = "traefik";
|
||||
}
|
||||
];
|
||||
hideMounts = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
{config, ...}: {
|
||||
# Crowdsec Local API key for the bouncer.
|
||||
age.secrets.traefik-bouncer-key = {
|
||||
rekeyFile = ../crowdsec/traefik-bouncer-key.age;
|
||||
|
@ -12,7 +10,7 @@
|
|||
services.traefik.dynamicConfigOptions.http.middlewares = {
|
||||
# Restrict access to internal networks
|
||||
internal.ipwhitelist.sourcerange = [
|
||||
"127.0.0.1/32" # localhost
|
||||
"127.0.0.1/32" # localhost
|
||||
"192.168.20.1/24" # lan
|
||||
];
|
||||
|
||||
|
@ -49,7 +47,7 @@
|
|||
crowdsec.plugin.bouncer = {
|
||||
enabled = "true";
|
||||
crowdsecMode = "appsec";
|
||||
crowdsecLapiKeyFile = config.age.secrets.traefik-bouncer-key.path;
|
||||
crowdsecLapiKeyFile = config.age.secrets.traefik-bouncer-key.path;
|
||||
crowdsecLapiScheme = "http";
|
||||
crowdsecLapiHost = "127.0.0.1:8080";
|
||||
crowdsecAppsecEnabled = "true";
|
||||
|
@ -57,4 +55,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
{...}: {
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
traefik-dashboard = {
|
||||
rule = "Host(`traefik.kanto.dev`)";
|
||||
|
@ -25,4 +23,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
{...}: {
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
ender1.loadBalancer.servers = [
|
||||
{ url = "http://192.168.1.103:80"; }
|
||||
{url = "http://192.168.1.103:80";}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue