updating traefik and others

This commit is contained in:
gwg313 2025-04-03 01:49:35 -04:00
parent 649f32545a
commit 1b8687a703
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
16 changed files with 252 additions and 10 deletions

View file

@ -12,6 +12,7 @@
./packages.nix ./packages.nix
./users.nix ./users.nix
./locale.nix ./locale.nix
./documentation.nix
../../common/style/stylix.nix ../../common/style/stylix.nix
]; ];
# #

View file

@ -0,0 +1,18 @@
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.man-pages
pkgs.man-pages-posix
];
documentation = {
dev.enable = true;
man = {
man-db.enable = false;
mandoc.enable = true;
};
};
environment.sessionVariables = {
MANPAGER = "sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'";
};
}

View file

@ -114,6 +114,7 @@
inherit (self.checks.${system}.pre-commit-check) shellHook; inherit (self.checks.${system}.pre-commit-check) shellHook;
buildInputs = with pkgs; [ buildInputs = with pkgs; [
alejandra alejandra
apacheHttpd
]; ];
}; };
} }

View file

@ -17,9 +17,13 @@
}; };
commit = { commit = {
gpgsign = true; gpgsign = true;
verbose = "true";
}; };
diff = { diff = {
algorithm = "patience"; algorithm = "histogram";
colorMoved = "plain";
mnemonicPrefix = "true";
renames = "true";
compactionHeuristic = "true"; compactionHeuristic = "true";
tool = "nvimdiff"; tool = "nvimdiff";
}; };
@ -29,6 +33,7 @@
merge = { merge = {
tool = "nvimdiff4"; tool = "nvimdiff4";
prompt = "false"; prompt = "false";
conflictstyle = "zdiff3";
}; };
"mergetool \"nvimdiff4\"" = { "mergetool \"nvimdiff4\"" = {
cmd = "nvim -d $LOCAL $BASE $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'"; cmd = "nvim -d $LOCAL $BASE $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'";
@ -44,7 +49,7 @@
editor = "nvim"; editor = "nvim";
}; };
delta = { delta = {
features = "side-by-side line-numbers decorations"; features = "line-numbers decorations";
navigate = "true"; navigate = "true";
whitespace-error-style = "22 reverse"; whitespace-error-style = "22 reverse";
}; };
@ -52,10 +57,37 @@
diffFilter = "delta --color-only"; diffFilter = "delta --color-only";
}; };
push = { push = {
autoSetupRemote = true; default = "simple";
autoSetupRemote = "true";
followTags = "true";
}; };
pull = { pull = {
rebase = false; rebase = "true";
};
rebase = {
autoSquash = "true";
autoStash = "true";
updateRefs = "true";
};
fetch = {
prune = "true";
pruneTags = "true";
all = "true";
};
tag = {
sort = "version:refname";
};
branch = {
sort = "-committerdate";
};
help = {
autocorrect = "true";
};
rerere = {
enabled = "true";
autoupdate = "true";
}; };
color.ui = "1"; color.ui = "1";

View file

@ -8,7 +8,9 @@ in
enable = true; enable = true;
settings = lib.mkForce { settings = lib.mkForce {
git.overrideGpg = true; git = {
overrideGpg = true;
};
gui = { gui = {
theme = { theme = {
activeBorderColor = [ activeBorderColor = [

View file

@ -52,7 +52,7 @@
port = 2222; port = 2222;
}; };
"onedev" = { "onedev" = {
hostname = "git.gwg313.xyz"; hostname = "10.1.10.3";
user = "git"; user = "git";
identityFile = "/home/gwg313/.ssh/onedev/id_ed25519"; identityFile = "/home/gwg313/.ssh/onedev/id_ed25519";
port = 2222; port = 2222;

View file

@ -50,6 +50,30 @@
}; };
}; };
}; };
"password-store" = {
path = "/home/gwg313/.local/share/password-store";
devices = [ "grymforge" ];
versioning = {
type = "staggered";
params = {
cleanInterval = "3600";
maxAge = "15768000";
};
};
};
"ssh-keys" = {
path = "/home/gwg313/.ssh";
devices = [ "grymforge" ];
versioning = {
type = "staggered";
params = {
cleanInterval = "3600";
maxAge = "15768000";
};
};
};
}; };
}; };
}; };

View file

@ -51,6 +51,28 @@
}; };
}; };
}; };
"password-store" = {
path = "/home/gwg313/.local/share/password-store";
devices = [ "candlekeep" ];
versioning = {
type = "staggered";
params = {
cleanInterval = "3600";
maxAge = "15768000";
};
};
};
"ssh-keys" = {
path = "/home/gwg313/.ssh";
devices = [ "candlekeep" ];
versioning = {
type = "staggered";
params = {
cleanInterval = "3600";
maxAge = "15768000";
};
};
};
}; };
}; };
}; };

View file

@ -33,6 +33,24 @@
url = "https://scholarsome.zerotier.gwg313.xyz"; url = "https://scholarsome.zerotier.gwg313.xyz";
} }
]; ];
pastebin_zt.loadBalancer.servers = [
{
url = "https://pastebin.zerotier.gwg313.xyz";
}
];
snippets_zt.loadBalancer.servers = [
{
url = "https://snippets.zerotier.gwg313.xyz";
}
];
git_zt.loadBalancer.servers = [
{
url = "https://git.zerotier.gwg313.xyz";
}
];
}; };
routers = { routers = {
@ -77,6 +95,29 @@
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
pastebin_zt = {
entryPoints = [ "websecure" ];
rule = "Host(`pastebin.gwg313.xyz`)";
service = "pastebin_zt";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
snippets_zt = {
entryPoints = [ "websecure" ];
rule = "Host(`snippets.gwg313.xyz`)";
service = "snippets_zt";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
git_zt = {
entryPoints = [ "websecure" ];
rule = "Host(`git.gwg313.xyz`)";
service = "git_zt";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -13,6 +13,12 @@
group = config.users.users.traefik.group; group = config.users.users.traefik.group;
}; };
sops.secrets.basic-auth = {
mode = "0440";
owner = config.users.users.traefik.name;
group = config.users.users.traefik.group;
};
systemd.services.traefik.environment = { systemd.services.traefik.environment = {
CF_DNS_API_TOKEN_FILE = "${config.sops.secrets.cf-api-token.path}"; CF_DNS_API_TOKEN_FILE = "${config.sops.secrets.cf-api-token.path}";
}; };
@ -69,10 +75,10 @@
http = { http = {
routers = { routers = {
dashboard = { dashboard = {
rule = "Host(`monitor.local.gwg313.xyz`)"; rule = "Host(`monitor.gwg313.xyz`)";
service = "api@internal"; service = "api@internal";
middlewares = [ middlewares = [
# "auth" "auth"
"headers" "headers"
]; ];
entrypoints = [ "websecure" ]; entrypoints = [ "websecure" ];
@ -82,6 +88,11 @@
}; };
}; };
middlewares = { middlewares = {
auth = {
basicAuth = {
usersFile = "${config.sops.secrets.basic-auth.path}";
};
};
headers = { headers = {
headers = { headers = {
browserxssfilter = true; browserxssfilter = true;

View file

@ -16,5 +16,8 @@
10.147.17.246 recipes.zerotier.gwg313.xyz 10.147.17.246 recipes.zerotier.gwg313.xyz
10.147.17.246 scholarsome.zerotier.gwg313.xyz 10.147.17.246 scholarsome.zerotier.gwg313.xyz
10.147.17.246 bookmarks.zerotier.gwg313.xyz 10.147.17.246 bookmarks.zerotier.gwg313.xyz
10.147.17.246 pastebin.zerotier.gwg313.xyz
10.147.17.246 snippets.zerotier.gwg313.xyz
10.147.17.246 git.zerotier.gwg313.xyz
''; '';
} }

View file

@ -46,6 +46,30 @@
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
pastebin = {
entryPoints = [ "websecure" ];
rule = "Host(`pastebin.gwg313.xyz`)";
service = "pastebin_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
snippets = {
entryPoints = [ "websecure" ];
rule = "Host(`snippets.gwg313.xyz`)";
service = "snippets_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
git = {
entryPoints = [ "websecure" ];
rule = "Host(`git.gwg313.xyz`)";
service = "git_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -61,6 +61,29 @@
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
privatebin_local = {
entryPoints = [ "websecure" ];
rule = "Host(`pastebin.local.gwg313.xyz`)";
service = "pastebin_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
snippets_local = {
entryPoints = [ "websecure" ];
rule = "Host(`snippets.local.gwg313.xyz`)";
service = "snippets_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
git_local = {
entryPoints = [ "websecure" ];
rule = "Host(`git.local.gwg313.xyz`)";
service = "git_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -46,6 +46,29 @@
middlewares = [ "headers" ]; middlewares = [ "headers" ];
}; };
pastebin_zerotier = {
entryPoints = [ "websecure" ];
rule = "Host(`pastebin.zerotier.gwg313.xyz`)";
service = "pastebin_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
snippets_zerotier = {
entryPoints = [ "websecure" ];
rule = "Host(`snippets.zerotier.gwg313.xyz`)";
service = "snippets_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
git_zerotier = {
entryPoints = [ "websecure" ];
rule = "Host(`git.zerotier.gwg313.xyz`)";
service = "git_local";
tls.certResolver = "le";
middlewares = [ "headers" ];
};
}; };
}; };
}; };

View file

@ -50,6 +50,22 @@
url = "http://10.1.10.3:30099"; url = "http://10.1.10.3:30099";
} }
]; ];
pastebin_local.loadBalancer.servers = [
{
url = "http://10.1.10.3:32090";
}
];
snippets_local.loadBalancer.servers = [
{
url = "http://10.1.10.3:31111";
}
];
git_local.loadBalancer.servers = [
{
url = "http://10.1.10.3:32221";
}
];
}; };
}; };

View file

@ -1,6 +1,7 @@
restic_key: ENC[AES256_GCM,data:DzpWvFP5gyhrnLVIYgu9ouotWqkOAHehihSKf/TqJE+sHTD4vnIScfhzoKzdkoDoWfkcmQ==,iv:q83qNYuP/3mngvg+kUfOVToogL8VTvZ6HiGIztpnP/s=,tag:YNWwbma0HmPKqYCS1L5kQQ==,type:str] restic_key: ENC[AES256_GCM,data:DzpWvFP5gyhrnLVIYgu9ouotWqkOAHehihSKf/TqJE+sHTD4vnIScfhzoKzdkoDoWfkcmQ==,iv:q83qNYuP/3mngvg+kUfOVToogL8VTvZ6HiGIztpnP/s=,tag:YNWwbma0HmPKqYCS1L5kQQ==,type:str]
wireless.env: ENC[AES256_GCM,data:/5i0Kv+VFTtVpaD7tfO2ahePu20eYkUYAqoh39PA2aoMWywLddQEQy4arj2Nvcw8hsRk760Kiq4wz3c23dPDqy7rU980NF2RaP4ODMIiQISfYeQP9coD84JhlnSTW+7EkhV520naqJgIYY0IsA8OxR/5euyFMHOL75FKnBh1ILY2DPSsJNG2m2ldw+US7E+7r4REl8tDqKfCIL5tznmbVTbPrer7cwrXe+ScFaholmqSntaB06yIIO3yr88TmE6EXF6oLCXU,iv:DPOqx7M7E83+DYjGFPZy44cxrta/3953IDjXL40rLAc=,tag:KmYBpQKgshMSgxnC96T1bQ==,type:str] wireless.env: ENC[AES256_GCM,data:/5i0Kv+VFTtVpaD7tfO2ahePu20eYkUYAqoh39PA2aoMWywLddQEQy4arj2Nvcw8hsRk760Kiq4wz3c23dPDqy7rU980NF2RaP4ODMIiQISfYeQP9coD84JhlnSTW+7EkhV520naqJgIYY0IsA8OxR/5euyFMHOL75FKnBh1ILY2DPSsJNG2m2ldw+US7E+7r4REl8tDqKfCIL5tznmbVTbPrer7cwrXe+ScFaholmqSntaB06yIIO3yr88TmE6EXF6oLCXU,iv:DPOqx7M7E83+DYjGFPZy44cxrta/3953IDjXL40rLAc=,tag:KmYBpQKgshMSgxnC96T1bQ==,type:str]
cf-api-token: ENC[AES256_GCM,data:7FJtAEOdYnUpGqs5r3pNIkY+lsqn2wtRhyIGXD5G7in3U3Tt8CTn5g==,iv:61kKxSYk54NqvhNn4xZZ2Gec7p/93dAN+VWBqF5OSQQ=,tag:5yzcHjGzhD8KX2FgL+xK/Q==,type:str] cf-api-token: ENC[AES256_GCM,data:7FJtAEOdYnUpGqs5r3pNIkY+lsqn2wtRhyIGXD5G7in3U3Tt8CTn5g==,iv:61kKxSYk54NqvhNn4xZZ2Gec7p/93dAN+VWBqF5OSQQ=,tag:5yzcHjGzhD8KX2FgL+xK/Q==,type:str]
basic-auth: ENC[AES256_GCM,data:/YSAcTnyvM4sjj3cc46YwkXGeP3yG2MHctza+kDuRaNXb8ABMFofUHU6KuifTpsmUWwPQ4BPdamv+JC9ee8tsWRMxw==,iv:CUE70AISBOdYDLUXGAnIPT4t4tOugHWLlCLE6YxTkjM=,tag:MnyHoQCHaTbYjp/jrbWEcg==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -16,8 +17,8 @@ sops:
US9oa0pORXRVWWlyYlZZTGhXdTdOaWsKClqIK/YNJIIGFqOO0t4oni8dRTTXQniG US9oa0pORXRVWWlyYlZZTGhXdTdOaWsKClqIK/YNJIIGFqOO0t4oni8dRTTXQniG
ioIwAOdEgE/n0vcYhHXxLxWlTeqGZF076g7EFfIqiSNqrDtacRnazg== ioIwAOdEgE/n0vcYhHXxLxWlTeqGZF076g7EFfIqiSNqrDtacRnazg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-03-29T02:27:53Z" lastmodified: "2025-03-31T17:31:58Z"
mac: ENC[AES256_GCM,data:1oaHYYkeUbXlqsjS+o7LJjrYok7eslNpiDloEgi1R0G8IedRB4yCTWbKCScjIu6IMeFG/9dWA2ovaRCAjXzo1cgXAPOKKvumSBZxxXIY/EpPVWqYXsJVbXK+G5ZFSTJ7HzSFeZz2do3fNGcBL9jAcSykVIUZlZGym+Ap7yjHeeI=,iv:xQmctJshh4Wm8z6lMAvyV0KoQoM0cbesx+IWoyve2LQ=,tag:4VQDzdGpPcGFy6hvq82XZg==,type:str] mac: ENC[AES256_GCM,data:PGFoJSMR/W3taIMtXbavI/9elQBHrwliZsCdRbAUx++LBow8R86gq2xZN+KmgAhqV7gxa+2vfEAs/WQB7tGD1BAxUNNwb3up7CzzoZjlQG5WaHU9JiAERB5dFSYqS47faAOdkEr+MZWF42nO2DoA4PImtCBAaQLnAgO+AI6eG4I=,iv:b3AWusxwWvZwRFj7F8F00jx7Do/QnnzJpwJtUNmam/8=,tag:drPhuuPdW24AH8bH9y0YNA==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.4 version: 3.9.4