From eaa5b013568036b64825616d79015d0d69719ef4 Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Sun, 3 Aug 2025 18:52:44 +0200 Subject: [PATCH 1/2] hugo-chat is gaming --- nix/apps/hugo-chat/default.nix | 42 +++++++++++++++----------------- nix/modules/caddy/default.nix | 22 +++++++++++++++++ nix/modules/caddy/vps1.Caddyfile | 6 ----- 3 files changed, 41 insertions(+), 29 deletions(-) diff --git a/nix/apps/hugo-chat/default.nix b/nix/apps/hugo-chat/default.nix index 17d3a26..9f78f6b 100644 --- a/nix/apps/hugo-chat/default.nix +++ b/nix/apps/hugo-chat/default.nix @@ -1,36 +1,32 @@ { config, lib, pkgs, ... }: let - dockerLogin = { - registry = "docker.noratrieb.dev"; - username = "nils"; - passwordFile = config.age.secrets.docker_registry_password.path; + jarfile = pkgs.fetchurl { + url = + "https://github.com/C0RR1T/HugoChat/releases/download/2024-08-05/HugoServer.jar"; + hash = "sha256-hCe2UPqrSR6u3/UxsURI2KzRxN5saeTteCRq5Zfay4M="; }; in { age.secrets.hugochat_db_password.file = ../../secrets/hugochat_db_password.age; + systemd.services.hugo-chat-server = { + description = "HugoChat server, a chat platform"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = { + SPRING_DATASOURCE_URL = "jdbc:postgresql://localhost:5003/postgres"; + }; + serviceConfig = { + DynamicUser = true; + ExecStart = "${lib.getExe' pkgs.jdk21 "java"} -jar ${jarfile} --server.port=5001"; + EnvironmentFile = [ config.age.secrets.hugochat_db_password.path ]; + }; + }; + virtualisation.oci-containers.containers = { - hugo-chat-client = { - image = "docker.noratrieb.dev/hugo-chat-client:89ce0b07"; - login = dockerLogin; - ports = [ "127.0.0.1:5002:80" ]; - }; - - hugo-chat-server = { - image = "docker.noratrieb.dev/hugo-chat-server:89ce0b07"; - ports = [ "127.0.0.1:5001:8080" ]; - environment = { - SPRING_DATASOURCE_URL = "jdbc:postgresql://hugo-chat-db:5432/postgres"; - }; - environmentFiles = [ config.age.secrets.hugochat_db_password.path ]; - extraOptions = [ "--network=hugo-chat" ]; - - dependsOn = [ "hugo-chat-db" ]; - login = dockerLogin; - }; - hugo-chat-db = { image = "postgres:16"; + ports = [ "127.0.0.1:5003:5432" ]; volumes = [ "/var/lib/hugo-chat/data:/var/lib/postgresql/data" ]; environment = { PGDATA = "/var/lib/postgresql/data/pgdata"; diff --git a/nix/modules/caddy/default.nix b/nix/modules/caddy/default.nix index 0116fa0..c2f132f 100644 --- a/nix/modules/caddy/default.nix +++ b/nix/modules/caddy/default.nix @@ -15,6 +15,11 @@ let blog = fetchTarball "https://github.com/Noratrieb/blog/archive/${my-projects-versions.blog}.tar.gz"; slides = fetchTarball "https://github.com/Noratrieb/slides/archive/${my-projects-versions.slides}.tar.gz"; website-build = website { inherit pkgs slides blog; }; + hugo-chat-client = fetchTarball { + url = + "https://github.com/C0RR1T/HugoChat/releases/download/2024-08-05/hugo-client.tar.xz"; + sha256 = "sha256:121ai8q6bm7gp0pl1ajfk0k2nrfg05zid61i20z0j5gpb2qyhsib"; + }; in { environment.systemPackages = [ caddy ]; @@ -84,6 +89,23 @@ in '' else "" } + ${if name == "vps1" then '' + hugo-chat.noratrieb.dev { + log + encode zstd gzip + root * ${import ./caddy-static-prepare { + name = "hugo-chat-client"; + src = hugo-chat-client; + inherit pkgs lib; + }} + try_files {path} /index.html + file_server { + etag_file_extensions .sha256 + precompressed zstd gzip br + } + } + '' else ""} + ${ if name == "vps1" || name == "vps3" || name == "vps4" then builtins.readFile ./${name}.Caddyfile else "" diff --git a/nix/modules/caddy/vps1.Caddyfile b/nix/modules/caddy/vps1.Caddyfile index 4b3c58f..11712b2 100644 --- a/nix/modules/caddy/vps1.Caddyfile +++ b/nix/modules/caddy/vps1.Caddyfile @@ -3,12 +3,6 @@ www.noratrieb.dev { redir https://noratrieb.dev{uri} permanent } -hugo-chat.noratrieb.dev { - log - encode zstd gzip - reverse_proxy * localhost:5002 -} - api.hugo-chat.noratrieb.dev { log import cors https://hugo-chat.noratrieb.dev "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type" From 71b4ca1448684ecd8b3ba3003e21a855af13354b Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Mon, 4 Aug 2025 00:07:46 +0200 Subject: [PATCH 2/2] pyroscope cooking --- nix/modules/default/default.nix | 46 ++++++++++++++++ nix/modules/prometheus/default.nix | 65 ++++++++++++++++++++++- nix/secrets/backup_s3_secret.age | Bin 772 -> 772 bytes nix/secrets/caddy_s3_key_secret.age | Bin 771 -> 771 bytes nix/secrets/docker_registry_password.age | 9 ++-- nix/secrets/forgejo_s3_key_secret.age | 10 ++-- nix/secrets/garage_secrets.age | 24 ++++----- nix/secrets/grafana_admin_password.age | Bin 282 -> 282 bytes nix/secrets/hugochat_db_password.age | Bin 339 -> 339 bytes nix/secrets/killua_env.age | Bin 293 -> 293 bytes nix/secrets/loki_env.age | Bin 326 -> 326 bytes nix/secrets/minio_env_file.age | Bin 397 -> 397 bytes nix/secrets/openolat_db_password.age | 8 +-- nix/secrets/pyroscope_s3_secret.age | Bin 0 -> 336 bytes nix/secrets/registry_htpasswd.age | Bin 278 -> 278 bytes nix/secrets/registry_s3_key_secret.age | Bin 364 -> 364 bytes nix/secrets/s3_mc_admin_client.age | Bin 912 -> 912 bytes nix/secrets/secrets.nix | 1 + nix/secrets/upload_files_s3_secret.age | 10 ++-- nix/secrets/wg_private_dns1.age | 9 ++-- nix/secrets/wg_private_dns2.age | 9 ++-- nix/secrets/wg_private_vps1.age | Bin 257 -> 257 bytes nix/secrets/wg_private_vps2.age | 8 +-- nix/secrets/wg_private_vps3.age | 8 +-- nix/secrets/wg_private_vps4.age | 9 ++-- nix/secrets/wg_private_vps5.age | Bin 256 -> 256 bytes nix/secrets/widetom_bot_token.age | Bin 272 -> 272 bytes nix/secrets/widetom_config_toml.age | Bin 4006 -> 4006 bytes secrets-git-crypt/pyroscope_s3_secret | Bin 0 -> 146 bytes 29 files changed, 162 insertions(+), 54 deletions(-) create mode 100644 nix/secrets/pyroscope_s3_secret.age create mode 100644 secrets-git-crypt/pyroscope_s3_secret diff --git a/nix/modules/default/default.nix b/nix/modules/default/default.nix index 9acbd60..a1169a0 100644 --- a/nix/modules/default/default.nix +++ b/nix/modules/default/default.nix @@ -179,5 +179,51 @@ in }; }; + services.alloy = { + enable = true; + }; + systemd.services.alloy.serviceConfig = { + DynamicUser = lib.mkForce false; + }; + environment.etc."alloy/config.alloy".text = '' + discovery.process "all" { + discover_config { + cgroup_path = true + container_id = true + } + } + + discovery.relabel "alloy" { + targets = discovery.process.all.targets + // Filter needed processes + rule { + source_labels = ["__meta_process_cgroup_path"] + regex = "0::/system.slice/.*.service" + action = "keep" + } + + rule { + source_labels = ["__meta_process_cgroup_path"] + regex = "0::/system.slice/(.*.service)" + target_label = "service_name" + action = "replace" + } + } + + pyroscope.ebpf "instance" { + forward_to = [pyroscope.write.endpoint.receiver] + targets = discovery.relabel.alloy.output + } + + pyroscope.write "endpoint" { + endpoint { + url = "http://vps3.local:4040" + } + external_labels = { + "instance" = env("HOSTNAME"), + } + } + ''; + deployment.tags = networkingConfig."${name}".tags; } diff --git a/nix/modules/prometheus/default.nix b/nix/modules/prometheus/default.nix index b1e06da..a1af908 100644 --- a/nix/modules/prometheus/default.nix +++ b/nix/modules/prometheus/default.nix @@ -1,4 +1,4 @@ -{ config, lib, networkingConfig, ... }: { +{ config, lib, networkingConfig, pkgs, ... }: { services.prometheus = { enable = true; globalConfig = { }; @@ -83,12 +83,21 @@ access = "proxy"; url = "http://vps3.local:3100"; } + { + name = "pyroscope"; + type = "grafana-pyroscope-datasource"; + access = "proxy"; + url = "http://vps3.local:4040"; + } ]; }; }; }; - networking.firewall.interfaces.wg0.allowedTCPPorts = [ config.services.loki.configuration.server.http_listen_port ]; + networking.firewall.interfaces.wg0.allowedTCPPorts = [ + config.services.loki.configuration.server.http_listen_port + 4040 # pyroscope + ]; age.secrets.loki_env.file = ../../secrets/loki_env.age; systemd.services.loki.serviceConfig.EnvironmentFile = config.age.secrets.loki_env.path; services.loki = { @@ -142,4 +151,56 @@ mkdir -p /var/lib/loki/{index,cache} chown ${config.services.loki.user}:${config.services.loki.group} -R /var/lib/loki ''; + + + age.secrets.pyroscope_s3_secret = { + file = ../../secrets/pyroscope_s3_secret.age; + owner = config.users.users.pyroscope.name; + }; + + systemd.services.pyroscope = + let + pyroscope = builtins.fetchTarball { + url = "https://github.com/grafana/pyroscope/releases/download/v1.14.0/pyroscope_1.14.0_linux_amd64.tar.gz"; + sha256 = "sha256:005539bp2a2kac8ff6vz77g0niav81rggha1bsfx454fw4dyli4y"; + }; + pyroscopeConfig = { + analytics.reporting_enabled = false; + server = { + grpc_listen_port = 9084; # random port + }; + storage = { + backend = "s3"; + s3 = { + bucket_name = "pyroscope"; + region = "garage"; + endpoint = "localhost:3900"; + insecure = true; + access_key_id = "\${ACCESS_KEY_ID}"; + secret_access_key = "\${ACCESS_SECRET_KEY}"; + }; + }; + }; + in + { + description = "pyroscope, the continuous profiling database"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Restart = "always"; + User = config.users.users.pyroscope.name; + Group = config.users.users.pyroscope.group; + ExecStart = "${pyroscope}/pyroscope -config.expand-env=true -config.file ${pkgs.writeText "config.yml" (builtins.toJSON pyroscopeConfig)}"; + EnvironmentFile = config.age.secrets.pyroscope_s3_secret.path; + WorkingDirectory = "/var/lib/pyroscope"; + }; + }; + + users.users.pyroscope = { + group = "pyroscope"; + isSystemUser = true; + home = "/var/lib/pyroscope"; + createHome = true; + }; + users.groups.pyroscope = { }; } diff --git a/nix/secrets/backup_s3_secret.age b/nix/secrets/backup_s3_secret.age index 4ef136108486d4a9699145de668ab6ed6f918524..66ab603e9703d3218daeeb3a1e65c2807bbc70e0 100644 GIT binary patch delta 683 zcmZo+Yhjz9Q=e0mm04x%}~9n9~qR9mso6U zWE@cFlI)bsRhpG-p6KY}?&<9wWLa#PUF7L+6jflM9blAeR2pSonp9@&T@Y%fT~KH+ z@uPUSQ-n*ViIIMUdu6sop_gHfd6r3TXjE8ENr8)pL1bcOK!l~Ydx&v9ps~rh#{UmW6(PWRSaaNKk5GT4+^Lc|d5QM`n+~UAg1E)}~lCnG(^O9hf(){4y9M52L zvvilLz(|)ULqqqV02iYI%Yd>(^8(lGl5m5`XBoxoqbj|tk}FeO5?u?OlMC~U%k>Sy z)4Yp{d@_^WqDu3_y!}Fp5?$Q_azaA6^v%r6iUaeaLd#2?EDOA=g0qSD}xqrAAo6OKxJeD}rsskYM31Lr$ynwO_8e3`BHUh+w} Xb))lK$+XwYRjLFEr!Zt%_niO$`~LdM delta 683 zcmZo+Yhjz9Q(v5Iscr6FUThhat#6oS?%|*6=xkt`?Ce-k8sSpn8)fdERcevxXsB{MB0WaOQjTjk>FY@QLAo{<}omt1I2Smqy=&ZTRoP+Xj$ zo0?)|YHDbyP!M35oRY5K6jXs1@<(p`d98{y*>R+*Y_QAB$Mn! zL-)}9G{b_Vl1lRwnZS1;{+ zi`=B5Fbe~-5})vLZFj${#8fkDZOIYz z(D2>uBCs%3Yi66EQ=bv&Zs`+MWgeJe=I0y|6`XAnY3l4(;+|vTo|zGD=wDb8QD9V*l9ZHH z&gD{3>Qw2P?VaQv=~a^LT#*z}o|s>0Qeco3VG`hJZjhF4nOPC49~zXN%%y9mP+Xj$ zo0?)|YHDbyP!M35oRY3k>a3q$6zq}YSW!`!7HOK5?dIZH>S7cX8Q~dZrCFJIs6k+INVZpskGn~BWqKf2P>4^C ze`>K=UPxk=c~OSGOH!eQmqA8~hqk4oajs*Met~gtuAirSc18B&ct-K?tS}R|sATid zq(m2!5PcJOcW>wHl3ce;FN?_RP;FOz|KOxVukfT2^YUyiALAtRfVA|ytV)ygVnesk z60a~PGXvkKpi=KlC%<$b?|e%q$Ex7akdWfZXBoxoBfSiqoVAlf3=H#&a)S%?!-6c! zv@;Wn(}Rt|P4b+}3OvJ7j3Zop{j1Ws+{;ZY z+){$;O_NK#(}N65xPDZdStsbM|9exKRnEUixTxGpZ>yo};b&YeaRp0{GIkalJos{YnD<=EhNU-zjhM}@?&Bdj+uv2^ W+RuN`4_4}ua7|vurMt)T)L8(@hxvs7 delta 682 zcmZo>Yi66EQ=j7FlT#IHn(kK-Sl}5@THzexAEh7U6>eEp80?r?Ss3P;8)*^{sqO0F z%VnHt;^&-|6c}idW}xlw5fqSDVqTG)0N0W%B5?kP+Xj$ zo0?)|YHDbyP!M35oRY4Ploj9}}e2C zkewOjnc`N?6`pO9l4Wj^VP0$yV3cYWrtcT#>62FK;az52ZekMYo0;U~ZIG1jrte}g z@uPTnrE``?xx2SXl7&}TiHVt6QF*yrmU(26d7_15QAw_MQK)u$MwxR^nM*NOVU&JG zM3R|%SwNn#WofE$dP!i3L4HK0Q-x7rK%!Z`dq7pXVOW}JSWf=rct-K?T+c$E#N_;R zzsg9@3?IL2k3E`Y5XL;Ip<>{^Z zH*#9@Ic;3NH?DUV-NMi&xPIyh8>bb29{RZZ*&W!D>B>{Fpm+BZ4 ssh-ed25519 qM6TYg UtoSFhZQ2PW1y3ifXgSdQQswoi5kdRg2gvczlEateC4 -ir2FpFkYo17MGBy+C4thM4lit7vn2CiBi09DcTb6ubs ---- YvRhsfFzedjeKssmOTzHvKkvIG0zXVVCIJsRNc/LTVg -:ˠK$Prm;۷ + qE@v]m=͙'Sm \ No newline at end of file +-> ssh-ed25519 qM6TYg EuWuwScs5A1DFpXrWif52YGxrscegIPGS7ZpoVS+7QI +NsTXnjIRz7G8oNAS9MLRPkDSS7LNogLBK9hJBaC3qXE +--- 4dEpELTzVN+A2cdD25L0A1iU8YKoB+249GEn1lxZzU8 +ũ(';C5QOജ\]W('NZ?2f^iBcҽ + \ No newline at end of file diff --git a/nix/secrets/forgejo_s3_key_secret.age b/nix/secrets/forgejo_s3_key_secret.age index 2c66a3a..26900b7 100644 --- a/nix/secrets/forgejo_s3_key_secret.age +++ b/nix/secrets/forgejo_s3_key_secret.age @@ -1,7 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg GNYf0FjEDEqCe09mS9Hl7OIIjvhKTu8urwUPtY+yyB0 -xmAtm4n3s0rfq3S5OKFEG2k/noXFTKMt8hiW5QrD9SU ---- HGBYxXQGM254m2YP5twgjgDme80f0uOL2m4uKy19ZBs -( -T -{F-\6{mtM-X{%bQd]E]i}F2$7#k4;8ZG_o \ No newline at end of file +-> ssh-ed25519 qM6TYg 87cGJ52WhU1xh3a4QSpDtOrfmonf9YE7NtfZD5UvRQQ +bvxaucwpWGnlDHNMjG5gJEGRVn1jCg6/RxYpFvlaQio +--- umLbtzmXAZRbYIVbYjyHuorrxgxR1cctk5RYwm1JnYM +Ki4t"pL&Mh%qF#$ͥNA~L"H Bc7~ܞ/ wŘh<4PcN?.BO0*X_ɵ?L!О# \ No newline at end of file diff --git a/nix/secrets/garage_secrets.age b/nix/secrets/garage_secrets.age index af23541..bae6281 100644 --- a/nix/secrets/garage_secrets.age +++ b/nix/secrets/garage_secrets.age @@ -1,13 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg F9aj1EmsmRSXt1m3a41zpuwFmDBOuuaIrHkqP7PTVno -tVs8Oxa9gV/HdUf0hN/JLuWhbrXI9BXIrsh5HnsKBQI --> ssh-ed25519 pP9cdg dQdPm3OfbWl5Y8kJxmsUZ4rwpUo8w3+P3CHCiXw9VCw -9yWbGgzgBz9GICAgYiOyPtMjDk/tBb4vsOveTuYP9bw --> ssh-ed25519 XzACZQ 4lldtotM16DN/75dRX3QEmOzfIEySHcNOlFWqymI+Rs -oOaD7dZu0xC0R7CrVpfwoBU7eSgaWyJmAZ4WptCQdes --> ssh-ed25519 51bcvA k9eq2Tc3A9MztsdTvt3sDYUj/usYBJMp9IJQZAR67Ac -ezccfIhPZaHKsVcUrxJL7u3jSA/kCTqLmWuQfxrFQBo --> ssh-ed25519 vT7ExA BOCylq1RqaburnXxfsl3xqAmGSJnIxVhXK8H2xeFynk -OWhqsbJgHWlo3hsRZVQgEaArK32OI25N4Poi2qJ9wQs ---- bBQkNfDI0onJOyxOJIN3Yl2jkK5iRgYbK67RWsipXOE -3A9AnۯtyCj-{Ň)6DfOQ}'_n>UPNDR-"?>)E0v(~7 eCO\UJJ$S8`FQ0u3mH~PLqf~in]=rSre#wG @|X# \ No newline at end of file +-> ssh-ed25519 qM6TYg +ZtvDoar2xUhBMyQFbxnxkwdF21rM5YUCZZ6CEknHj8 +wThjMiqj5tMscA3abmnhIVMAzfudkcIso7a17//FcDU +-> ssh-ed25519 pP9cdg svRAEsI47g14ZF2YwJoxAn7zASjOHBLNEYkk8ljG00g +WtN98vYIJ5Z8GQoaabeYlhY88OywHxp/nslKjXeRcVI +-> ssh-ed25519 XzACZQ 6Pb4Xab6o/AyuXfLW/Ii1ogeFfT8WvUjRu2NCeMlIVA +krn+6YjMq/FxrC6Pi4+4CA6Hd/HPI597SKFStO7hEgs +-> ssh-ed25519 51bcvA gmx/B0WeJxVMkxa+b+LalVYDr4CP7Uv16QcrAAvOiC4 +1dzMXakXJuwx97ClerylljgKb3BlB6kiX8cpRWFOpQs +-> ssh-ed25519 vT7ExA RNqHGxsZh8kMGy1B4GfHSE2HsJTjrjdYktVZAVSz8m0 +s4KvnACKfmNIgDz/HOUDS+z1hafjavonAntovcOr7F8 +--- 4TNQG6H8EqkGMtPysmKmJoYqZkRsNdlmGLCwsrkmQbg +АrPo`SMI/ q͚y ?b ^k Қ8*:ފGAvb?wWKw\E$ E edԏiSs/2gG"_*M%ܲzL{D|JP> skGCҠI\jr@N).g{ \ No newline at end of file diff --git a/nix/secrets/grafana_admin_password.age b/nix/secrets/grafana_admin_password.age index 2d2fac773111dd94484fe9f6291a1d9b437695da..4c1ac477357ac779f85f9e8d1a6ff1ed897e1ecd 100644 GIT binary patch delta 246 zcmbQmG>d71PJLCCfuV)BWnQ?xYjB2%L6Lr5QdvY~h-Z0@d1RGeqET8vM7WPxSWuq3 zCs%Gzpk;}pM|q`xn7gA{Zlr;yPmxb(cB)ZORak~ggnmJ2NkF=5j*)jpK9{bpu0po2 zc~)hLQCg0pxn-t#mPu4VU}8XJj)iBcNt%mukws}hVt!SQrAcYAdni{}UZQUff6$FD zYubJ=9QW+n_mq3*(`AVwENOplIac}}z4_4SWA~C9NAA|;#D_ZMRQ?uqnh^(V!*?xWLEyn?8LSu&j delta 246 zcmbQmG>d71PJOy@VNRZ>Q+`lNPDYtyhD(ZJzK^qcaZ0#jqzB0V*8zJr$K*MgcN^MU9$Mwq+Ni|NINaGY)xdR0?n7JsP&3`Ey#OJTTi5^q diff --git a/nix/secrets/hugochat_db_password.age b/nix/secrets/hugochat_db_password.age index 3e48ca0a11e4e05788667ed74dfbd1a9842aa19d..f0e03055c53aaac0fe6a645494b98c0bf8b2525d 100644 GIT binary patch delta 304 zcmcc2beU;_PJMb-u7$66ma}WNi(8ndUxjvPzF(P3k#@dzo?E_YW@&P!c1cC0rI~5E z1($!7v0F&8epy@l0+*zvde9>qTvbS6eD`8jX?r&*7#ZjgAV)Ng-;;i_$}Ywe?zQ@&q(!|B>ZUe*tproI5gE_b9=yxB@Ky^S060aj9NMK$IZTDf7_1r zm3%I^sr2NXf$d#;%@lh}j#(c$uWH9FIV*Vd?!Uv_tYVC&ye(mE({5TDd~}j8*cM?K IboP)T0Iqp}%>V!Z delta 304 zcmcc2beU;_PJNW8lSgT#pQmxTXS$(#qFYINl&^MaQlzV|QDuIjuR(H>yLLcorgm~h zB$rcxNky7xm3cr_uA8Hai*~t1T3(d7v3I#+epZN)QMjW^X{e)dc3`qaAeXMLu7XEd zR;fpUud{hXSyra6ex*TGx_@Q5frUYUzp+zNd0ue1UwwK~RIq1gcrw>n3B?xY9j5c7 z_RJQD{3je~mz>|DZ5lK2_3_8Iww@KuayKk?<31N~M(*zR4VUjrcWFr)U)#KSj*iaX z)uH<|;^eFk|42%2NKL<7a=~ia<`s9>B|Q9{$S53dC#jVB(>B9-VdHI%(}&|1IPAQ3 z`POEsi7~;>`90B^i_e%;sJ%M!U(~W8azW3t2}jR!I=o$byII{kMLF>aPlxQzxN9Zi I8;-OB0QM7oAOHXW diff --git a/nix/secrets/killua_env.age b/nix/secrets/killua_env.age index d9e3d98d9999924b5aa2d2c75f8d1af7c615368a..61fe20ef472f91262a9c64b2870c5869751a5f49 100644 GIT binary patch delta 257 zcmZ3=w3KOrPJNYrka?DgPf}1=rk6{2Sg2FBrEiI+cVdNhdRdjezNu?YlBGqcvzKXB zAeVWvvA4HtNR>sTOK3>3W3a1HwojFRO1@cEu5+=kb8tpUg>hwZfxDweIhU@ku0l$> zi%C(LN0ND2hLf+8v6o9`rc+^gVMwZ%zDs#(SXE?Da+PCFrGIv4qASSMcx$XX z&hV>sUG8q4b=$7gCFs9ryD!?1w92QbW9{#<8Lmn~l6uiKb9gEy*1S*clMzWp=niBz6L>e6K%g{@|=CE7%G$b@9j5RPgRGT zM_LQIzOQNeC2^NnmbOX+WmAhnGQ;zI#Y|UUsIDdu5((RdsC(>)u*ULF=Fd6J zj%&(nTG&-?EWo)nOK{Prh0b@^+NIUL{q^R`)@(khntx}CHoY`<+v~FKq}IZPv*uk` vy+86{qFGACRZWHfnHy^&1^nEe9_vfXn`0pIf-~#fv-2-@I>^T@uAUD7{HJ;2 delta 291 zcmX@cbc|_&PQ6J{qG5@@cX~-qVX1qbgKc|~xUagtlE zCzn}bK%l>IaI&^`j*(wMZf;OUK)y*(a*B^}QgM(^a#Ep(n@Li5T4bSDI+w1lu0oQz zv88`*Noq)tew4A7u}4&4a&Dn_WSMVia;0BzQb=M_VSRoqA zHR#B;#~vup+P1jo>OC8itnRMj_YVALno`3p<+FC|D;KX>7HM?btGfBB!0H8)cdre3 zY24EMz45i*l!vl>J%8EE=4oEy6jV{OF1T3o#o1Er6aVE(mG55jH#kl|m)z#L_vJ%* t_m>$~Cm8)V9zP{B*W*W6o{Z{=8MQ^m9y{9CEl*^zxNyL7+Dg#^Qvg{hb@KoK diff --git a/nix/secrets/minio_env_file.age b/nix/secrets/minio_env_file.age index daf2e339a9f7dc45cebf201b83765f762a0de51f..a1b8f240d3f1729a79fe2d4a3930a0d281344dfa 100644 GIT binary patch delta 362 zcmeBW?q!~!Q(tai5?qiQ;TP!mHU}Wl)*t9TJi0@0wZW6Xfrd9Omon?r)jT zrK_u};FVY!Tx{ZG<`@`NX6O@W>{R3yVi@G1a@F>YMGFuN_*e2!mwh<;TK)C5Nt5-L@h;`h-03h&WyM<4!;bSNHn&LYPq>oDGK*<`MvmY8Dxp>*VZVUf^GnW9XKa<6TkinCVgC8yOO4;2-Xr&82InP+Xj$ zo0?)|YHDby5K-mm92KZwTR#s$~8J1<_n{47{u3wquUXhudo8p+1pB7T;?_1_+5m-`L6;fov zrK_u}VD6Qe?Qh^+T3Vc)Sz2K3qMaNWVD9f7Sdx=so?%{`m=o$7l<)7JXkih^wdGIt zc2j ssh-ed25519 qM6TYg 0lWcSdSricBNu8i0oMnNe0gOsoDrY9DfPvmCIS63ohc -fY0M+k7xXU5nlLTSbJQF7iDevujQVxZ2lLca9CiBTaI ---- 5ObZSaeWsTlkqKq5D8vWKsrY8WCku2ndSlrjBKRtQE8 -Iye$Q|h'Q1Q1CހmQ:Q.SE=cm @-9j7fǺFT"o"|0DΒ,Wŋm*̬~5'{ jluuy+ \ No newline at end of file +-> ssh-ed25519 qM6TYg nFtXAacXhJboR+gfX7x/jtJd8ApDl3tbPezVOKZYeAE +Ca6eA7o/b3DV+fs2RqZzyDbgu8H8rQyFmMMr28f8uOU +--- EG+F8eM/wVjXvWKS7leaOAZJnjlkT+JRJKcnAC0iWKM + :,L߾9IBңw%hӧàbžcb~I睸&\NmT4O0j2[o+(:|虜|9czEuu aļ E \ No newline at end of file diff --git a/nix/secrets/pyroscope_s3_secret.age b/nix/secrets/pyroscope_s3_secret.age new file mode 100644 index 0000000000000000000000000000000000000000..c1b517465ac9df2eb4e86adb3c433cdd7ab951b0 GIT binary patch literal 336 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCTSsB(0U3REabE=mv5 z_RTjp@h*(8aEo$u3~)>Ut$_dTIsKf7YqM*fbr~j1-ftP?b}n$!MTN32F;eWEEJCcAf>MXrW-mVz o6>qq6QmovJ3PQ8zdzgb0PQITm*QATO1xtF0wrlonZK}d2$x@V+Ipj)=9ab{$?lXg+1 zBbR?kaiT#*c3wqPqCuKtL0MU0g;AP*n7>n!YpAzpj!#v%i({%;P*{FMGMBEdu0px5 zZ+@hWXE4_BnI8q}pFI`OYkyvbW%@z*q4lar?fv-S~F% uB=fCVrx<*b`ok2$zls;K{aW(&#nP62U!5BLC2b33Y9vILT#{4iSq1=L!d%$^ delta 242 zcmbQnG>vJ3PQ6Q^VSb6JV^*0#eo}F`k6UtzwohnUK#GNOQ1QF>N+ zD3_mEh<<=;WTA7Ur@vW5YL0oRd$L7XL0M3UnU9mcQ;MZmSgE5?MpCe6K9{bpu7X=q za*C6ydxc|CW?GT4x08RdU%7X{MRsPelY3-ZMKM?Fwfj#a?=>() zW>|Y!+IH-J?{Z>>>a=-#kMy{HIMi~xY>}Z!vX%d|1uLF@x7prtQRI@?K|6Q*u7aPF zhr5%%XKAuWWOhMXQGR8FS#U*mPLgLxW@2f6Pg9?6g!KO(`q|3W88oD#)eGDPEC-m-Q>^3!mDua+uixv zpFTPSzF%Ql(s3mt@bK(ig(CYsji%mox^EM+{$SL1nS5*Q)$fkB=2&Gj`qV7=FEZ_{ zg#6?+rzf4~epBbf@oLR(qkp+mjAW#a`qph*cKTB9-D_KSO_vm0#_0Gn*k8Xg@~pW< iMOx9%DYJYx1}&c-^OKLIAaLi0ZXbr7-l}S+<^llxyoW3R delta 329 zcmaFE^oD7IPJOa(YL0neUO-rsn{il@zo|>MMYg+sYDI~UXJ~G?Pq2PyWMD`|wrQn{ zBUg5AYNn@0uCr5Rae7j+b6HAAnonV|MY4xwU|48srlm`9YJp#7innQSIhU@ku0pX} zR6uT6WLk*7x2vC9RCt=Dn^#bkp?ijVcyLK_U`mdse!YIGi9umdK_C}%wt2zhD>)nY zecl!K?Cib5d?neor!!K1bNmx{d*!Rzmfaj17~~u4Km9)ab?VdZI5}g3xm)rsAM2NP zYYtv5zdv|W_4knUUzdKQACBXXX+=gw@dP^oNwYb|YN{p^IISc@dz>j1A diff --git a/nix/secrets/s3_mc_admin_client.age b/nix/secrets/s3_mc_admin_client.age index 2cc88626492607bfcc510256ff7986934c731a77..d51a700492a950cbd0e9f9b28867562a930f5482 100644 GIT binary patch delta 824 zcmbQhK7oCLPQ8NkXyEycez1@ueN8PTbh$mP;Oai zmYau>p@E?VSAn*Rv5B8SX4AYBNjZ5br7p=_+EI=X zjwXrO#@^atUX>*U89u(QMa8Az22Q2vDW&D!`A%WUhPg(SdF}?2;~B-nQzOmGOZ8t!@UcWi!GyEgUqzu zyhEIW0#iI(GcwBjs`N`TLyXMyeVjw9^wSL{pJf!U_b>ABcQq+ADAo5$i_G=bkMc^l z2oFxTsI06gk8)0max6+TH80HyH}ojyatw@VV^|Q>j$Z<`| zEj0G=&MPX83M~lKw@k|B($&>fh|G#|b<)l#3eHXq@+(fs@hdiT46iWuOD`#{^fJsg zvrPA?_w*`CO7o5|;c}FkJN?bn)00f4H*fm-efhI~^Oo0Q``X?JUQ3C3HzBvWa+{4x z>x#n0$y;0Z@A8t0c%(k{v~$|JH$M+vG(M_P9a$=L^3ltEFY3RqZ{y!AadX+y6%8M6 zP2H`2cHZBv{`CC1jaTp4Dav=M8~=+t%RN0MjCJQU_L3j<42oQG9dBw4u5?TGJq~;J zYKiva6P-JmY+mW9rky^j$A6W-)7U{-wr{?+yQahS2{UT?_N_kp?4!EVuh5O63m*T7 z@$+Ch(3jn3|MAZNQ delta 824 zcmbQhK7oCLPQ7z(fJ;zv zCs$!+VoIQiS5lQE5Qud7KxIhU@TLUD11 zZfc5=si~o*LP3CKa!R^_XMlToMsBKhMt*r_L~6OIqg#<%sF{C>wz+Xux__0sM`3oQ zPflf~uTz8tSEYw}flG#Gez2owiK{_SK!91Hr-^x1pnpWAMWvZ>R$!=Cx{rmEMP8Q0 z#E;_P-sTzp5kYC?jwxy0?!MVM5soE}79r)PnP!z$zJbXBUO}Fo*-1VIE|tYx7CA27 z8D>reCSgX!g=txt{w^8$9$Dt8k(N#w<@v$oZpKw99$`g}LHgyB;~B-nOR`e@z1+=` z%BoDXligh+6O&THGkik|1HBVHOe{kK^D8pKOWfT9Ov^pFaxD{6ErUbL%}fFfE6fT? z9SzGOlS_S!0>bh#OTE*>(=rUSJtItALY)F9pJf!U57&fFfPif;vFLqBYNX(8f;d+=EW+E?@uUz}jbBC07uHS)@1#DH9tT)VQy!?$T$39c1{Cvd4 zt?L(w?T#$C7#MI>v0)asI(1e5?If>aI?aLq-fd-hTwVl>TkJ6sWRjVSoEaKI6mn_fM{IFiI6Z`&07& z*ML>i9xUjz^MB`gRj)dG ssh-ed25519 qM6TYg Tq8qyikECRKhPhMbKFDd+YZIGkx9uj3vOWk7QRHEkn8 -wDbkM7KZWGDF3mECEa1MPPTC5F7uxe8nGtIZZkVCWU0 ---- hpRMWveZaPAIS44Jr6rRGHMOQfRi7nFpN0nxHU6fPOQ -t4`:,PʍN?ij\ȱ雵uAH_?Pg# T+R-ȺX,!YeZFmd\4bDAkLk1Rz6xo(8gzV+s|.T;OM6 zAQV~mNXI qkt#JyrSu?ږN Ոb!Ksy, AyfW##"`nPX,$z1 (P "y|sTxBFtl!6ۉ0os*.H/o5ۭl \ No newline at end of file +-> ssh-ed25519 qM6TYg 188H/PE0b8YiAgejIznCnBKRt9z4J0il43y3O0Nk2lQ +nu/Wbgn9dT/0TtiO+6bTUEu9F+ra/2rQKCfUK09JeN4 +--- 1YJ9Cg60UshpVEzIiqWerLqu8Bch++0Cw22tbtPJxS0 +2%W.9MS9e>Zvu1M~ͪ(<3w2(Zvl r[8R@1uu؉RĸY!_ZX +:r_ +8frJLq2sR6! *'彛Vk^>*ú.DN#s"O,JD`\i_-Kgi6 CD"u:"851X$~|f8% )tzBl:B4u@(bGCFH? \ No newline at end of file diff --git a/nix/secrets/wg_private_dns1.age b/nix/secrets/wg_private_dns1.age index e9a0be3..71d4c0c 100644 --- a/nix/secrets/wg_private_dns1.age +++ b/nix/secrets/wg_private_dns1.age @@ -1,5 +1,6 @@ age-encryption.org/v1 --> ssh-ed25519 LZU5Eg C3IfbvL4t0pOHEb3Bc54+r6DZESgN6K6zPDhBlDumXk -UwOtrqp8I90Vux6L7CsV5K+2SDFB8LBiyLO8ud7IsQU ---- 2tIecoG70broXFTtgjCUMcvk2RdKqpe5tihO6meI8DY -Akڳ& `!M_v`-Ep^U#:]їDmy^O+t8.͚; \ No newline at end of file +-> ssh-ed25519 LZU5Eg px1Nln+wkhpIG4xFeLEOhO3Dkknv+7GG9+JZdppLljg +zL60ZG9CHQrSnLfN+gd4kV9V3kBdiGOJ4t0DmkDI9FI +--- LIBuGo8IeBk/RyWcg1ordV6IR895iV05uz/P1iWx/+0 +%&>S&; + ssh-ed25519 5bWSnQ wqkRMdob+7G2mTNKySF2kiGhOKt4GLN/ne+4lM3pIwA -Iz2Brik6I6YHjVxQcoDL0UTJOWcjuiErf5kCeWpnaV0 ---- 1ZkP0GiP78eGKl8te1w+o5I5kEbyPaiJFq7WGH4k1LE -61zITU/5'|h>zr^ɋwanoglX,kܶG -cP!Rh׻fWh䠧 \ No newline at end of file +-> ssh-ed25519 5bWSnQ rj5NgCPBbNq/15YXa6DQXKwTU9Hpm7ocLiuINgLmhCQ +KOEgfF4MQopCZkzl2oi3obi/KBmykqzsCbHZQpC4rLY +--- +JacdysLbQkZq1H/lLD3oPzBi3orjxix5WYlv/lprHw +uT&^V[p6:W{kVޏ"j6҂n;^E$4BP`'FXQ }oiʸ] \ No newline at end of file diff --git a/nix/secrets/wg_private_vps1.age b/nix/secrets/wg_private_vps1.age index 089fc55446b71ae8c46c6793868734b15d5f29b9..44644d5f31d93aa41b2a310dbe44cd5fad363720 100644 GIT binary patch delta 221 zcmZohB$p=M$WpmTK%`reEP<7+P3tR%#Sj;9cyJ z&y{VSn(yLQ;bv6glviS0YFJhlmha(cWa6st8RB21@8nivZ(T36!gRIwV_Ct}lU}DwXBdfi?O%Q6+`qMc(JdP%$C`c#WlHktsZTyLr_1lr Y!_zx^b_;myGgeY};PuVa|kr7ako1JIrUXtePo9>Za=Yf~E=2jTx7NMONR2CK*nOBh;*Q@ Xh41kl5(^F9B_ZaQoEdrLbg}^e{83Qe diff --git a/nix/secrets/wg_private_vps2.age b/nix/secrets/wg_private_vps2.age index a92b028..8ad2191 100644 --- a/nix/secrets/wg_private_vps2.age +++ b/nix/secrets/wg_private_vps2.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 pP9cdg GI2CXAYTJWUqmab/Fnl/cFZVCCBxYZX/snQ+w0aPjSk -8D6TxN4VYH14GQJ/XhUqyfKNLjM8f3LDmykLAvtl+IM ---- 6ru8v60LKlJjpy2PnmcwBdV09KMEh+neITYyuFscSIQ -F Йy#<ﯗ֋mߘQ2^T2L9]LĞh[br!jEnS?jCR%s;m\R \ No newline at end of file +-> ssh-ed25519 pP9cdg HiT/+dwaX8i9h5SeKF8AmEWQHFNs6nmyO089M/1Rjxo +RjSM4+UBIrM+G9eckuH8+0Te9mhs3zXENPoFGJcHtAQ +--- nDLsXpiyO2KyB/KDgO288tCfyvL8eCDhESLaRqBNlVg +ZۡqbBGAH*_c0`p*XY8NGĜ5IXمƗh,Q*FR% \ No newline at end of file diff --git a/nix/secrets/wg_private_vps3.age b/nix/secrets/wg_private_vps3.age index 2536ac0..7eb6f2b 100644 --- a/nix/secrets/wg_private_vps3.age +++ b/nix/secrets/wg_private_vps3.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 XzACZQ pOD3jNWIufLkEVtkFJu6W0QjdzPJTK+t1MwgACv1zXU -EJQ+9xPw6MnB6nJW6nDBUlzfHyY9XlfBIQlgje+FVE4 ---- BmTwJED+mJ/Qr0WFDELozwR2BgGDkHDcR2I9eSxuVn8 -K~alNh. kiAF*/MYZdpA+-٬Aܢ*SZ NFfb3try \ No newline at end of file +-> ssh-ed25519 XzACZQ kJVyFsqcqh/THJgijrdhNFFelSpD2w4VGZEvNsQSwlM +DzC/l6rFyE9JF+IoA3pQv/3PihXnIlWQHje6++9rJsA +--- kRjNUG+4tPhNCcoAO47gwj04gmBXZXBPqgvH81KNn/E +#n>fa^!Č+sFB.u{I9NVϘixY .Je \ No newline at end of file diff --git a/nix/secrets/wg_private_vps4.age b/nix/secrets/wg_private_vps4.age index ca2ab16..616c369 100644 --- a/nix/secrets/wg_private_vps4.age +++ b/nix/secrets/wg_private_vps4.age @@ -1,6 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 51bcvA mzB9FcwUgPczK4/Rd2DZvCYoQfjT4qE+Z7HE9yHjgGU -sPDlr+YNhvbjYagyJb/kua9dWeG9tSt6KNjKh+/p+ps ---- uZVoWpqKjapTtWRGpc7cUoifwOVFfd5DU+9pQpwruuo -Fv6ڋ,Kӆ(k~Y4.`z(]w2MV "%JU$ȫǸCG -_:Fݧ S \ No newline at end of file +-> ssh-ed25519 51bcvA bcFC2L95dfbs7WLewqcQeH62fgba42DbYrFu126AWFg +vfS/79EjlhWxp4cdOJv0WRWp8BIGefIvkNHrr5wcC7Y +--- F8/9B/N6d0SjEHRHuiuCsqRGgRr2XoZdFRT1UKbi7+0 +9lx"uVW#IEsj89 dDkTgʴ?<25q' )yւm} \ No newline at end of file diff --git a/nix/secrets/wg_private_vps5.age b/nix/secrets/wg_private_vps5.age index fa70bad0ea8d494eef360017c2d21eb5c65d099d..84bb7a8824bd1ce9cc0f4d67159d84677a8b3521 100644 GIT binary patch delta 220 zcmZo*YG9h6Q(so%otvg#no^cuP-<2XmhV~a;uByNoSSUsk>cg!=TQ`rYFc9HWRd6Y z%9Uf7@8zW*J%~Cy?^$4-BOQ6PA0;o3_w9-Fhh#`!Cy|iHh>dg=cRy@~Rwu X@G1P%olgxjrL9Dc+fCG+zmov~cOFtS delta 220 zcmZo*YG9h6Qy*R&VwmifS`_SF?w^-Y5MiF07~mCV9PVKjWt^JnlI@mRpl{?B$)&5StKel8 zmEq}@9N}hYl&4(~X5!_V=vZ2!ALwM1Y+9Kd8SLqvA8M9moaf`|9LN>i{n7te?}T~9 zo?G{R`*Y`b`(xpIyi(Gc(`|3&*65^v&5OL&cCLSNYK330X>z4|sd1HCQiOk0KyXl6kw=MdGMBEdu7ZBC zXQr>4W4TGTbGVmJO0tWYWx1PUdZ4$zZ=Sw!PI_2XRjQX`YM`N`izCP*S>+lX;;}wrfOXj!$}|ONC!ml21sYS9oPc zF;|vffLU3lS7DNWdVybds)4ythD&Oqd#+o8}Vmb>Z10?bZ>ll??ZaM{|dF6UzcwA pda7ax`|izU;wPT-OyBcw=OVT8SeCy^i}nW_b%&i?e^7tQNdRyjUrYc1 diff --git a/nix/secrets/widetom_config_toml.age b/nix/secrets/widetom_config_toml.age index aa4e0f9a7b21f017ae63ccae56b00c56e42fc334..84eafba7ccc6242f1051523b9d37dc2ae0a0386a 100644 GIT binary patch delta 4000 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 F1pre7wmkp< diff --git a/secrets-git-crypt/pyroscope_s3_secret b/secrets-git-crypt/pyroscope_s3_secret new file mode 100644 index 0000000000000000000000000000000000000000..0d51de879e32b07467f070f48ff316d6333601f8 GIT binary patch literal 146 zcmZQ@_Y83kiVO&0DAeLOR+QexB<8t1SI5BlQQLjV)>&r@g+D!gpSWCy$=IP&W#g=S zxkrsm*A39ksNy-Un7E