From 9750bc50522a0495bb6bb05921024e991388b8c3 Mon Sep 17 00:00:00 2001 From: Jack O'Sullivan Date: Mon, 1 Aug 2022 17:44:08 +0100 Subject: [PATCH] Add OCI container VM --- lib/default.nix | 8 + nixos/boxes/colony/default.nix | 10 ++ nixos/boxes/colony/vms/default.nix | 34 +++- nixos/boxes/colony/vms/estuary/default.nix | 33 ++-- .../vms/shill/containers/middleman/vhosts.nix | 2 +- nixos/boxes/colony/vms/whale2/default.nix | 154 ++++++++++++++++++ nixos/modules/tmproot.nix | 11 ++ secrets/chatterbox/nul.ie.signing.key.age | 17 +- secrets/chatterbox/synapse.yaml.age | Bin 1026 -> 1121 bytes secrets/dhparams.pem.age | Bin 1231 -> 1165 bytes secrets/estuary/netdata/powerdns.conf.age | Bin 512 -> 541 bytes .../netdata/powerdns_recursor.conf.age | Bin 498 -> 484 bytes secrets/estuary/pdns/auth.conf.age | 17 +- secrets/estuary/pdns/recursor.conf.age | Bin 418 -> 434 bytes secrets/hercules/aws-credentials.ini.age | Bin 470 -> 521 bytes secrets/hercules/binary-caches.json.age | Bin 779 -> 753 bytes secrets/hercules/cluster-join-token.key.age | Bin 654 -> 702 bytes secrets/jackflix/mullvad-privkey.age | Bin 503 -> 436 bytes .../middleman/cloudflare-credentials.conf.age | Bin 460 -> 540 bytes secrets/middleman/nginx-sso.yaml.age | Bin 819 -> 845 bytes secrets/minio.env.age | 20 ++- secrets/nix-cache-gc.ini.age | Bin 431 -> 519 bytes secrets/pdns-file-records.key.age | Bin 763 -> 783 bytes secrets/user-passwd.txt.age | Bin 1425 -> 1559 bytes secrets/vaultwarden.env.age | 16 +- 25 files changed, 267 insertions(+), 55 deletions(-) create mode 100644 nixos/boxes/colony/vms/whale2/default.nix diff --git a/lib/default.nix b/lib/default.nix index 0fd5451..c1f455a 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -217,6 +217,10 @@ rec { v4 = "${start.all.v4}2."; v6 = "${start.all.v6}2::"; }; + oci = { + v4 = "${start.all.v4}3."; + v6 = "${start.all.v6}3::"; + }; }; prefixes = { all = { @@ -232,6 +236,10 @@ rec { v4 = "${start.ctrs.v4}0/24"; v6 = "${start.ctrs.v6}/64"; }; + oci = { + v4 = "${start.oci.v4}0/24"; + v6 = "${start.oci.v6}/64"; + }; }; }; sshKeyFiles = { diff --git a/nixos/boxes/colony/default.nix b/nixos/boxes/colony/default.nix index 2427510..ac14881 100644 --- a/nixos/boxes/colony/default.nix +++ b/nixos/boxes/colony/default.nix @@ -100,6 +100,7 @@ lm_sensors linuxPackages.cpupower smartmontools + xfsprogs ]; systemd = { @@ -179,6 +180,15 @@ Gateway = allAssignments.shill.internal.ipv6.address; Destination = lib.my.colony.prefixes.ctrs.v6; } + + { + Gateway = allAssignments.whale2.internal.ipv4.address; + Destination = lib.my.colony.prefixes.oci.v4; + } + { + Gateway = allAssignments.whale2.internal.ipv6.address; + Destination = lib.my.colony.prefixes.oci.v6; + } ]; } ]; diff --git a/nixos/boxes/colony/vms/default.nix b/nixos/boxes/colony/vms/default.nix index bef27e6..46dd901 100644 --- a/nixos/boxes/colony/vms/default.nix +++ b/nixos/boxes/colony/vms/default.nix @@ -2,6 +2,7 @@ imports = [ ./estuary ./shill + ./whale2 ]; nixos.systems.colony.configuration = { lib, pkgs, config, systems, ... }: @@ -28,7 +29,8 @@ name = "installer"; backend = { driver = "file"; - filename = "${systems.installer.configuration.config.my.buildAs.iso}/iso/nixos-installer-devplayer0.iso"; + #filename = "${systems.installer.configuration.config.my.buildAs.iso}/iso/nixos-installer-devplayer0.iso"; + filename = "/persist/home/dev/nixos-installer-devplayer0.iso"; read-only = "on"; }; format.driver = "raw"; @@ -164,6 +166,36 @@ } ]); }; + + whale2 = { + uuid = "6d31b672-1f32-4e2b-a39f-78a5b5e949a0"; + cpu = "host,topoext"; + smp = { + cpus = 8; + threads = 2; + }; + memory = 16384; + networks.vms.mac = "52:54:00:d5:d9:c6"; + cleanShutdown.timeout = 120; + drives = [ ] ++ (optionals (!config.my.build.isDevVM) [ + (mkMerge [ (vmLVM "whale2" "esp") { frontendOpts.bootindex = 0; } ]) + (vmLVM "whale2" "nix") + (vmLVM "whale2" "persist") + { + name = "oci"; + backend = { + driver = "host_device"; + filename = "/dev/ssds/oci"; + discard = "unmap"; + }; + format = { + driver = "raw"; + discard = "unmap"; + }; + frontend = "virtio-blk"; + } + ]); + }; }; }; }; diff --git a/nixos/boxes/colony/vms/estuary/default.nix b/nixos/boxes/colony/vms/estuary/default.nix index e860afd..e98a3e1 100644 --- a/nixos/boxes/colony/vms/estuary/default.nix +++ b/nixos/boxes/colony/vms/estuary/default.nix @@ -35,7 +35,7 @@ configuration = { lib, pkgs, modulesPath, config, assignments, allAssignments, ... }: let - inherit (lib) mkIf mkMerge mkForce; + inherit (lib) flatten mkIf mkMerge mkForce; inherit (lib.my) networkdAssignment; in { @@ -150,25 +150,18 @@ ipv6PrefixConfig.Prefix = lib.my.colony.prefixes.base.v6; } ]; - routes = map (r: { routeConfig = r; }) [ - { - Gateway = allAssignments.colony.internal.ipv4.address; - Destination = lib.my.colony.prefixes.vms.v4; - } - { - Gateway = allAssignments.colony.internal.ipv6.address; - Destination = lib.my.colony.prefixes.vms.v6; - } - - { - Gateway = allAssignments.colony.internal.ipv4.address; - Destination = lib.my.colony.prefixes.ctrs.v4; - } - { - Gateway = allAssignments.colony.internal.ipv6.address; - Destination = lib.my.colony.prefixes.ctrs.v6; - } - ]; + routes = map (r: { routeConfig = r; }) (flatten + ([ ] ++ + (map (pName: [ + { + Gateway = allAssignments.colony.internal.ipv4.address; + Destination = lib.my.colony.prefixes."${pName}".v4; + } + { + Gateway = allAssignments.colony.internal.ipv6.address; + Destination = lib.my.colony.prefixes."${pName}".v6; + } + ]) [ "vms" "ctrs" "oci" ]))); } ]; }; diff --git a/nixos/boxes/colony/vms/shill/containers/middleman/vhosts.nix b/nixos/boxes/colony/vms/shill/containers/middleman/vhosts.nix index 1c99ea5..915333e 100644 --- a/nixos/boxes/colony/vms/shill/containers/middleman/vhosts.nix +++ b/nixos/boxes/colony/vms/shill/containers/middleman/vhosts.nix @@ -89,7 +89,7 @@ in let hosts = [ "vm" - "fw" "ctr" + "fw" "ctr" "oci" "http" "jackflix-ctr" "chatterbox-ctr" "colony-psql-ctr" ]; matchHosts = concatStringsSep "|" hosts; diff --git a/nixos/boxes/colony/vms/whale2/default.nix b/nixos/boxes/colony/vms/whale2/default.nix new file mode 100644 index 0000000..526bca9 --- /dev/null +++ b/nixos/boxes/colony/vms/whale2/default.nix @@ -0,0 +1,154 @@ +{ lib, ... }: { + nixos.systems.whale2 = { + system = "x86_64-linux"; + nixpkgs = "mine"; + + assignments = { + internal = { + name = "whale-vm"; + altNames = [ "oci" ]; + domain = lib.my.colony.domain; + ipv4.address = "${lib.my.colony.start.vms.v4}3"; + ipv6 = { + iid = "::3"; + address = "${lib.my.colony.start.vms.v6}3"; + }; + }; + oci = { + name = "whale-vm-oci"; + domain = lib.my.colony.domain; + ipv4 = { + address = "${lib.my.colony.start.oci.v4}1"; + gateway = null; + }; + ipv6.address = "${lib.my.colony.start.oci.v6}1"; + }; + }; + + configuration = { lib, pkgs, modulesPath, config, assignments, allAssignments, ... }: + let + inherit (builtins) mapAttrs toJSON; + inherit (lib) mkIf mkMerge mkForce; + inherit (lib.my) networkdAssignment; + in + { + imports = [ + "${modulesPath}/profiles/qemu-guest.nix" + + + ]; + + config = mkMerge [ + { + boot = { + kernelParams = [ "console=ttyS0,115200n8" ]; + }; + + fileSystems = { + "/boot" = { + device = "/dev/disk/by-label/ESP"; + fsType = "vfat"; + }; + "/nix" = { + device = "/dev/disk/by-label/nix"; + fsType = "ext4"; + }; + "/persist" = { + device = "/dev/disk/by-label/persist"; + fsType = "ext4"; + neededForBoot = true; + }; + + "/var/lib/containers" = { + device = "/dev/disk/by-label/oci"; + fsType = "xfs"; + options = [ "pquota" ]; + }; + }; + + services = { + fstrim.enable = true; + netdata.enable = true; + }; + + virtualisation = { + podman = { + enable = true; + }; + }; + + environment = { + etc = { + "cni/net.d/90-colony.conflist".text = toJSON { + cniVersion = "0.4.0"; + name = "colony"; + plugins = [ + { + type = "bridge"; + bridge = "oci"; + isGateway = true; + ipMasq = false; + hairpinMode = true; + ipam = { + type = "host-local"; + routes = [ + { dst = "0.0.0.0/0"; } + { dst = "::/0"; } + ]; + ranges = [ + [ + { + subnet = lib.my.colony.prefixes.oci.v4; + gateway = lib.my.colony.start.oci.v4 + "1"; + } + ] + [ + { + subnet = lib.my.colony.prefixes.oci.v6; + gateway = lib.my.colony.start.oci.v6 + "1"; + } + ] + ]; + }; + capabilities.ips = true; + } + ]; + }; + }; + }; + + systemd.network = { + links = { + "10-vms" = { + matchConfig.MACAddress = "52:54:00:d5:d9:c6"; + linkConfig.Name = "vms"; + }; + }; + + networks = { + "80-vms" = networkdAssignment "vms" assignments.internal; + }; + }; + + my = { + secrets.key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDBTIj1jVdknXLNNroMJfgy7S2cSUC/qgFdnaUopEUzZ"; + server.enable = true; + + firewall = { + tcp.allowed = [ 19999 ]; + trustedInterfaces = [ "oci" ]; + extraRules = '' + table inet filter { + chain forward { + # Trust that the outer firewall has done the filtering! + iifname vms oifname oci accept + } + } + ''; + }; + }; + } + ]; + }; + }; +} diff --git a/nixos/modules/tmproot.nix b/nixos/modules/tmproot.nix index 04710f3..ee133c4 100644 --- a/nixos/modules/tmproot.nix +++ b/nixos/modules/tmproot.nix @@ -129,6 +129,8 @@ in "/root/.nix-defexpr" "/var/lib/logrotate.status" + + "/etc/cni/net.d/cni.lock" ]; persistence.config = { # In impermanence the key in `environment.persistence.*` (aka name passed the attrsOf submodule) sets the @@ -326,6 +328,15 @@ in } ]; }) + (mkIf config.virtualisation.podman.enable { + my.tmproot.persistence.config.directories = [ + { + directory = "/var/cache/containers"; + mode = "750"; + } + "/var/lib/cni" + ]; + }) (mkIf config.my.build.isDevVM { fileSystems = mkVMOverride { # Hijack the "root" device for persistence in the VM diff --git a/secrets/chatterbox/nul.ie.signing.key.age b/secrets/chatterbox/nul.ie.signing.key.age index 3251231..7ee8a48 100644 --- a/secrets/chatterbox/nul.ie.signing.key.age +++ b/secrets/chatterbox/nul.ie.signing.key.age @@ -1,9 +1,10 @@ age-encryption.org/v1 --> ssh-ed25519 ZB3e6Q sQJFhvr8FRUhNhBMue77730wcbg28fTFnsszgerwEBo -7VzmwSkllK2wbSyFSCClvjY4X6sT6vLLPBAcXSbmnRU --> X25519 DufjAOGVQtGU2oiDCymV7rv9bdw5Llk3KjbOj5wJxxs -9sOvYKIfp+fUKcW6zbhAU3kwaUrF9PCBlu56qmGhOss --> m-grease s$ A ,2 =sKpm -lLRsEhRI4PsWw9K6uygWxFznKZSJUXesteKQ7hZ/wWJXkRHq ---- XYl7iGPy1+YfKOWNoZoiYvfFjctfqhWWzR4hMCWmXYU -𞄲K诛2Rp)w.(rh~w|%j蛡彴▏  9湘灻 0d{奠最濌愳馝礬Vag~"T -斃3\)N逽"I \ No newline at end of file +-> ssh-ed25519 ZB3e6Q iCLxItNihRG7KUDgcUm4vrtWQblN5hdYwvAegw0m5DQ +nQSrxGdOaWjtjYssejOg1DoNRnIYNznRzDJUEcWCUgA +-> X25519 eE1k40fJ67VXFqUJ8pB2Ll8/s1K0kD3YkfMQnOqKiTw +nH9+nHG8pAVLn5krLSNGc18FEMcp6o5NKkf/ciuFPY8 +-> U|8z(Y7-grease n 6 +DNyQQUnKJ9kGTrZY0pj67eeuEMpyn69awH4v0+RZiS9GaVRNPz9dv6VfzI178NDv +wb2gQLYc/5QFlvKo1pYx12AxxF3LvrwhNm8w9nvVjXUzFqn7SvoFxszxtw +--- bQBm6Njo6zu9+Xwao1BlMfBUXYL8TbytByW27Hde/Tg +裂v黩\'铎_綇H麨(=a叭Jfこ+镲歊杌須,(銙+W鵾?榋n逹~補>椇)汗単F悏X硆M4暫y墠 \ No newline at end of file diff --git a/secrets/chatterbox/synapse.yaml.age b/secrets/chatterbox/synapse.yaml.age index 2bea90ccb91243098548344db4b6a23643a4451c..647123e31905bf951634f11e7d9d5ef27b808e5b 100644 GIT binary patch delta 1092 zcmZqTc*rq9r@kW1Eh{y$)W_1qKPp_?J1y8Z(lxClzoN{r!pW~RIWe^?Ke5cxOusbC zl`AqbBsHwSIK@9Tq`*D0EV01CIW#dTEJMG-MBAmZBGaWj(ah4=C_JPfkW1H2A;QSi z)X-8PIHWW((92v~-#D$zJ-DnWDzzji%h1>)EX2Uvr#>U1D!Dw!IjYpmFvmTgtE$4= z*Q+QZ)!Wk7H`v3%%_T4=)hQ$=IMFAtG|be+KP)6YI4ae}C%ZTuWQB%Tj%KEAdQoa( zajJq=gr~i;ib9dTotnRvLQzggL|M5bS7o?GW}shKu(6Z5YpGjFrk}fZNJT_gj%$Q> zdQwDvYMOqrL87x^QHEoHNvJ_VVy?Mov9rEOqFoS*7(Kdjxa7L`6ycm~tDWBs zY>kc_tML1ILAR#1o6)QIr?K>eS5v~`CaJAC6<)gTyWwpX%P)!=UOVr_FFa$NQT+X_ ziq7ZXJ$()JYdNNGpZ<|o+-r$Ve|?=LlmDele@|aN*OW7%P-)uKNSQPz_E$wu#XA3N z+^HVuAUQL5zejJ5`_kq4S5qIZSDaM)TWsQF^Vnqz4ci$#dlD8gHU<8Qx;G`7+cS4g z;{oPJuLTNHlwFk{PvBg?;p6=WJ`xYU@0ezA`#??_56j!6hdb(DEm-95$y8N&{?|9b zg|aVZ+?c;*rwzwt8>vYw@zXaQ+rREL(?hQEOa8pwGt4WuT;J}dw{8Ab^Xk~;lFEX% zXZEvxd&PCYRYG}JhT+6FzazKA2${r-m6UY;;LI}p{gFFSar^O`clX+Tij8obq_k|V z($s$YS+U1v#Be@2mij7ns&sv71^epViPoCqJ{{_FlUUX9K`q%q!H@mG_nfhFCS&Vj)SYUni zB>}6p2*tA&pCa{GCRx9oZt!G^5YsOukye(cQ}Qde^1W6uvi_iXtLmfjZpXcMf25a~ zRM}rYWU~Hsr|Ub{B~{bnXEU`{H0wG4PTbdWC|JShivPiXzoV=R7R#@lAS`w&Z~3~_ zGY=QN@&2{v^!iS*zB8*WzTXiQtaO!`z37i@zisVOh0 uVTSlt9tY`?l+>1)HpgbM-#S!rt&idU=Ej9z3~&GAdRpQhe)#UCbS?lQMdDTf delta 996 zcmaFJ(Zn%9r`|Nnv_#uI)T^o}q^dAEqo^{-IM<^j-(SBVDJLi?tRk@_*`y-Wz{|p= zoXg)J*wn(`F*DLR$2q;&$kJ5bFEunXH7TS#DIndaywt$W+1Mz#=|SaRkVs_HWwZnRz$-?`duUf{v($!iuBu)o5ls7JratN`U_oO@Yt4iLaU@=Dq0oUMyiwXKyj5^i`F5A%+zS3^CQTf@zlOMg_ z7Vg?z5qythX~tIX#g;}t7Bf#$+rK&Lp{Uu+1wj*H6em7kEAnh!vWT5QeSKp>Wd!%v z(t;T(a2%GJo(uB4)@di zJGQJ4>}A=tyF6jT{qt{n0;>*je6p(dh(C^<)`X`wCT{do5?H@s@*ao% zv5&5N`*3pFhSg4IVs^!`oqM46YPrz-v!-d4QtVUiTmDR&dsHh|p(n{@RXs;g4olb? zp0e{!-?p|0tYO)mALlXq-i_I!SC4%4Grh=pNXY84`^~*!Yzm)Wm8{gAce}<`Kv4f; zb8qZogAm{Lx=-t(sUVQ%e*BegZ z%~JF2Ztc4|ck3sC@Mp#Am#EwLX6U|;a_XWr`|m@D#W?WIkz~#&CuJ^q%tr#H!{E@Ii$$Z)z7KeEz~T-I54m@rz9uK zmn*hD&5#8$~!aNBiOl|D?>X! z-7VE1+}*^}EXzA8JJ&SICp0P3CCaC=FeTWmFxet0BGa?XC`r2*WJQK&ZECrSZhBE_ zVsWa1L#&!(R+gH-LTZI+nu527a%>ovhgnEOpnhScX{x_ZM0RRYkc*k8kAF_6WvM|* zZn0OrUv^=5R$57hVMJt#iG^cU0GF<=u7aCOU_rW%WtCA$Nl8grS(Z;)vVLV*QlgQw zr*oJ~MTTiXen62~xRaZ=1()V}trr#{dkh6;>3T9HT5a!I@nL@bw&h|1M?E`K-O_HZ zZ^-wJ{qkn!>4%PvLS0uraOppL+F~2cUmdi{YFRy>;*Ldu<=tD~*92bUpSAGuk+3gf zsmOg*u#^1|eNF6Hmap$tE#j)HwyU+5;9k|kex%utpV>St%`f-F%qxKpcS&{5IJJ(UvX*bt ziT#czl5FQ2c-7Bw{WO2B?-Qfo$J6XfYPGCS|23}Or*xLH@%%!ysmtD)BH`@9bK&>E5b&cLU1jeim)y^6Q9OW%W5!>BuzQldK);>`wbN_SQf6G-YbJyZoQ5 zL!JU<0<*R*mV9xFw`yk3+TGDpKkobMw2XDy=iLVx(#wku?w`~nx2r?-Vcz;L<^EP& zDnU=!y)M7=*ZBMWj&Q0-%(|S5 z=P;k~Z_%2H|F_#7=}$-(iqFzt{4^&bHd#>O@%4g3J-%VSMZTBA4d=>i*~6kOV>n6n z>pP3aZxzkbAD^%rSgxzE*Aeejj)~BF_8~(hCdOZ7e)H_3`Z3$Q=DoCdVYt|*<@Dpn z_2sSy=9K=6JN-mGe0#^wNnOeQkJyWh9?fTN=FsK2b@#n@Khv_?Nze9}nMJ%^{^Mla zwTQO6-+l8ge^pb>_g`5lGD~%?d?CYi-F-}4t9Uh|0(2CYDE7pgty%Hew7}9uCcnK{ zU^c65=KAjN;*}2P_^PaKC-+7fp1I5QTcLUNoQauNcsuyi+EONbu6MQ4(R-n9vF1l! z&ZVW-V>cbo*!FdbhVZRQ-g9q`9(*wM&xA=UJKd%Ru1XNge3QvK_aV=!&2J5yxwf6F r3Vc)kBw6eYd-}9XE>c%)wO4qm1@Fjp+j?G9?dxsRHTqW``MClBLG%9m delta 1203 zcmeC>JkL2nr#>-1vM91FGs!G0(kIQ^($%BX-#OVV*v&7rywW(;xWK^JG1xRJ-#gK` zn9JNhJypNdIJYuQJI7nwKf)`>)Ym-2DJY}FIJKxKEyvYI-_$MHG{hn=olDnFA;QSi z)X-AFH6pMuBBZJ~J<`ZC+o&?gG}X^NIW5~aC?lyjt3Jb`C@Uq&S34unv@FzlX;4EWlms7PI0lLiyN0?RA`lBl(w%4QpSrcb|`dgf@RTsrfsAF&cQ9zJ^_Daq}3(SB9LtDYMd?_ONAF!|U_ z-D}f!a@QA`XTJC%eLnO=i)hO8=~@9AEx(?(F58{-cdwOkvKs&P#KK>_eXgpD4X0a7 z{L1u1)v+wY;oSuFcwvWWvl&ViDxchv`SDfugG8yK(N5L}X+axKukAV=@JeF^n|0Jh zx!jTsk4~4CX)cnS)Xn|HONnRm-!KRElQS25{&%MFsm#%f^}*{8)Tv%S8QwZ^0fWa! zzYqU^T~yLr`&?n;x`)LPq2X(mPu#wz%t+(e?2V_`51OysBI{kQ#2dgU)$qtc{{CU_gvrF z_zm{&ls>j(F#i`1l;1C2uf6k=+|F+8S)nX?2h}?EXFfiE@b$EhR@2z!4(By}+NC?Y zC}-R9=ARN1!gA&*s08mibvDq$n0MEOjPyl)u8(g2oyc8KUbsZ7xnjFbVUqS$Iew+P zU9Gu?R+TGf`*MjTRNa04RrBiE)hD=2m3i9lvt4-HMSjMw#29STD3 z$L8t1%3Ix-pIaevAuZY7M|Htl=lksZx2#h1HdNp4ow9T8hGnKAOY0ZT;(af7bl;af z{H`nqHtd*N(QbZJR=ECrzEJSai5v2tKc4YOJS`)j!-#iwy=G+kj!PduZf&=+Db+o+ z%V%%!yUz@N?tho~uf=69e|PrUoB5Mm{?^xCvQUpt-~Ii|`m;yw^!Dv;UDGGDF>3x) z%c^=auQzL7-4OUR{a4Z4w2gDG?O7~UYaoBt{%3{lWP!ge^O|RP-fF)Rm~}YnayHMD z*AaYgdtXX?nRn&!ovfUTp>^dRv%DJ5t_spUxoP`565C@YGQG! zLV$jibx37gG*?=lcCv+mTcmqsh;xRvr(;1`d8Br(e@>BOc3Omgq@jL^aamQVQ*KD8 zPpWsln|DF5U!<35YOZ5Zs-?MEL9icJd6Z{fSVnG`WvW3@Xl0>~k7IbarJ265Qy`bF zuC79vOHNdvrBha+scUh#pGTgPWk|YnnVFlLg^_kvYG`;$m1~J-hPiQ)XCT+r*{Np? z<4o5~-n!YZ^-$L8@Ab>G)9(M9cF|>W`kDDWk4nOf9d{|`g}jk;Sn@!|Hu%}BiiO8@ z-0kXXTL0}$Jfxi-Hv7b68Ll0snW+OU4klGGsM_i-wfj#AeilIQF1@6zF!v13ksi07fLvKG;-C;Vnq$45?2QMNzlw7h!tW$i2XXY5cH0syji ByHo%G delta 478 zcmbQs(!er7r{37j#L~khEGs|9FV)oBJu=rkE7(=r)Zf_6A|s$Qx3Vz9*T*0+BP2T~ zl*`iB*TN*vuOcTmEVL}q(kH~sIoPn&vplTOB*if;$E?gO$0xa>$~`U6lS|i5A;QSi z)X-AF!Ytj*BeXmq$ltFZHOIgyD7CC8D#^gnQM)|LyFRe6IJK-uJ2N1y%q_!{%Pq7x zJ2T70z$?fnq9Qlgq$I7}Io+^KJH_2E%|9g2C@3Q(%QMl);aca*2MONdE9kV}%Oi@CR%r)6qJ zR!(NUOHo=@ShkOek%3Qeab$&u6PK>8u0p6!dZu@ji(`OKUO-7`aC%@ynOV4Nm}f|Z zpMi6}r-!3cc1m(-c1FH&KG!1uZ%PbX0$Qi+Ys=O+xM2TFw=;$zn|2O6PD*bFU~mA`>(|- z$n2DlO9(d?D{X&1{xroM1!ljmz&BrR9d+TDCw$c4ERx XuCH9nJWTJqDYo63CviV($wCVNy7jUP diff --git a/secrets/estuary/netdata/powerdns_recursor.conf.age b/secrets/estuary/netdata/powerdns_recursor.conf.age index 516853782a23d433e06ac83960c09ad1e93a835d..26a371a133bd88e7ee61c927e8edd8ea9842f4f3 100644 GIT binary patch delta 450 zcmeyw{DgUePQ7zbP~i_ zK37pmk*i~VXjrj9X}+s(W@c5Yv58-xS&(6wOJcUZvv!i7b6J3MMrC-A1(&X!LWGg2 zsiCEUfnPvjj%9j=WodC>xxap3iobScpnpYrMVe=1QGJf7pHYB8WSK>>SGkKPS7nu@ zV^D-yh*`FQpIdoZrL$w2Pn3moh-*fGo4#M9Uz(YIv3GtzqIX0-$Onj`?Oi0BHg|E%uG5T5i~|Gn?(+FqH)~Fb@RoMxdce4>!zjHWZR??H vyXExP9;-Qh`1Z!`9XA%8;9D**gMIb6G=_Bz7ng`^+;DWx_9BV8>9_R(c4DP( delta 464 zcmaFD{E2yjPJKXMZJM`Kt`p$bB1ZTZ%JS>ms7S; zXp*ybpjl}_PIg9_M_8U;c8YOgrM7c~QB;*@X=;9yYpzpCNSbdt$O=E*^rFE}awGHnO>u*e z;$*+g3}?9iSRav==TU7u{r7=G+unzfhb+a86ghkTHr0!cS}-r{KARv%k*BCz&NZ>u z0qZ3eojY+qSVBljJ@@3*9|x^P4yA;=_~~i1r_%mv+PhEYXBF4!3(HOn`L%PSk+i7o IN>!1~0EW=0)c^nh diff --git a/secrets/estuary/pdns/auth.conf.age b/secrets/estuary/pdns/auth.conf.age index 1d36fd0..acda45b 100644 --- a/secrets/estuary/pdns/auth.conf.age +++ b/secrets/estuary/pdns/auth.conf.age @@ -1,9 +1,10 @@ age-encryption.org/v1 --> ssh-ed25519 n8CpUw ACIVtxzORRq2ptG0/MNlBt83MQZJu3Pc3R/5QRpgi2A -NSO8o2fL/EDLXegZ/kkzMW4/Za79q/6QfMQ1t0Sk9BM --> X25519 nHYed6I+w6lIxgQNPUdeO35HlHmd0tKATpvnbtB5WzU -IWRKvT2csHQplib3ms1akiqdzGS37xQ2ev45yGW5d+w --> %YW{-grease -4/tMk8Gzztby5x5ojQXj3853G0V8t7AoZA ---- 6vzp2wJk0Eh0O33xXCLrQiNbqeV7oMgvvqrgyRMK9Mg -2徴兹珿h搁l疴)N撕熖[N 冗 俻枺剠愮岇3>鵰'N I?) =6除穈陶`毌 \ No newline at end of file +-> ssh-ed25519 n8CpUw gSOLNKBwaCiP9TqcaIBrRF7HnQrXziYl13GzjVS1ryk +kgXnpg8IMVfNnb9meGPbAYGbgkeiWF5USDd7KlJGJmA +-> X25519 oL6s/UbRmFIcZ62H7766Q0Bu4KoFwzICgGPB/ogTvj0 +FTWqAvm3Eq2AzhC+5xAUGMuZYbVtrPt+c1QBtXMdv/A +-> 54{PX{A-grease CyetKe> >}$Pn iQ)-0sK r +68Ze/tRYRoVy0x619dD1ibTGYaAGoljMxE2Ll5Sx+V9jRzi/DHtq/xyQTgvJfv3z +JM7E+KJZetXLLlvpOGKw3GBm +--- TWJdBHQyXz0rCxKloRqmXut0GODBw32Lwjnj9gFJAFI +臂!= 齼I0r嗔癑縱#(2毝R8 [-俈I恾p,}v眏H#爍J?嫤!磛~P煓 \ No newline at end of file diff --git a/secrets/estuary/pdns/recursor.conf.age b/secrets/estuary/pdns/recursor.conf.age index 5b9f9dcecd6e93bc973a297269c41405bab5ecb6..2cade17d97ed867ef890d3d0a64e57a1911b0398 100644 GIT binary patch delta 399 zcmZ3)yoq^&ZoON+muFFysiRwNg^_7!Wmbqmq-9ZZZib=0NtK1Uxo?PcgpsMK zp`}7pzPE=_ewv%HZ+^B>R#I|AR#;YcQf7XYTZTnYV0}rlS*25YNr_{5ZjdWiNkC{w zzIJMnd6~OwNMvGhNQFmwVn~EhVYz-)Zc>4fcX@_?Sy85&p=CD63VoxLblvo#)WqUc zF1N5`ZFhsJ;^chiw3Os1qrf!n>`L=0_tauPN29!|jF6z*iog=f@HCI|BFiujUthOu z(=wC#yb?b{%ZM;9KYcDPU0q!TPq(}*@8ZlTgRruYj7$$pOV_|k!+?qiKa*si@Khg9 z@51z=a@Q0e_lk0^e?@I8SAFZ>k~ldfIP%)cgpsMK zp{0UXvPFDBA;QSi z)X-9)&^V+x$I_zE#ltky&#kyBv?N?V$=k0i%EC0*qu$ZHATl{IDX_HEBRwyYD?Bs9 z&(Oup$2qc}s~Jfu9L(z~?E%g4t%G%zp9Akn}j*Co^wWQB`zX_anzQEFmw zDp!<&i+QR+qETd&v1MSAhe=9#rFXDtkeOqpX<>lAey)dhXt1NPbB>E~kZX=_gtw_% zkgr$0qkoc7UXWj;v2Qt7Qbul$hhas9YnV@HrGHALr?!uaxk-tKwsUewNM3lkM>&_S zuC9Vto?m*PNx7v*u&HmZOMsJUWkEq&W?@oZdSOv$xOP%naA;{}u6wR$aUj>KB=Q&RJq>GWML^V#ZZ8 zU(7DvExj;?lz2WITwepF&((5oB+ fpJUS({LL|DSM1O!e%JA1%l0>0%DmU#U&I3dZ;h=W delta 436 zcmeBVxyC#}r#{oyFVEfFsU*EBNk7%dEIZ94#N0g3#XF!XC(JY0Jk+#2!`LON%G@YD znae+-$ivxJKfAc7z$87*G$b;>tim(ZsLV7ltfbH-GbFnt#IPtNz|uI%kxSQ3A;QSi z)X-AFrPwRa!_V2=#Kf#LD?ha)CDqkjJ1r;3Ej=$YxIWm!BCj&frz9k|q}(x?%R4K= zA~+}{zreF9%FWxm!nq_gA}Tk{yf8E~u_802yv)hVyvi-yvdlCPWQBI6fwFFTQEFmw zs)C=gv6Di)N2OJ88drrusJ3>5MP-Gvn^AG3fnk)9W1fC)L}_TITefkOzi(7>aWI#z zuC79TiF=tzic5NGc9u_CR&tt$v6Fe2kE3HwL0CkxX{xu2o1>3sxLspwOw#zTjiB}WfACfE2?^hAB zIImgddVlX0pQWuXN~f5LJTfM!aemj(l>65@QB_y@wD_G6c8ya$fmwm&YZHw{r`exi eDb4GfD$cks@O+&U!+ia(3?~JTFR*2r#6Q5vAf((WG%d=cG&s`VBR?WMqrTj|G}0nJBR{3gGA%ol%P7>? zG_A_a*UPs!C{({nJ1Mv*J7*|?gWPY%lp?hIUX=G|jcBrA5XC;@euC9WySAe6Fe~FV{QI2VdySZtVeo#P; zS7~CsV{(|^(=qi|NEI#rN?>E@2z~+wTh~w z&IY3;w;wL-dYox5#1k%>p|U?!J-u0+@$Qjjd-U&lEZu9}?DW_mTbg}ZgK$-dv9?TO z5JwVk(L0|F?2)tEm^nn={?Yy7=hx+SO!eo_x{os?e=tjPJ2tBSOlX-N!ui}*+If~% zv+(1xsH5{szSK{1m}6=3>xAE&8>&6W{N~-3t62ALV#v{V{I6}}1m8$rKYU(Tbv?UX z?)J`Z>1Lye6=!a`to$LjX|B-vx&?d|Yv#tx^!i>@cP_i|PFC~% zz=J9)`ox}aPUm=;wYECsm6KIuFr-S`EGZ|$qpBbvE5p#m-77oII5*HGuuQ+qIVw@VG$k?EEGQ$r zm@7G=G9#tPpv2RsAm7|CIM~-T-7hse*|<>O(6KTiwba}_Ei})=H^5EblS|i5A;QSi z)X-AFKit1G!owoFP+LEvBrz)7(a6udqQo?@$lSC%zdqE@zc?$z!YIQfGcYrh%h%k< z$<)j})y&ALu%O7-Jk=$rDmXhl(Ay<2yfQH&GBMC6%q`r>qO#ZkY(<%FdQoa(ajJq- zK)$+Tngf@qu|ar1Xtt?Exlg{cWn@&Ip>v*NNTo?=epNxFZ>5K2fqsflc7{iWYn~&Q zu5P`qLaKXSsYh~|V`6G#mT!8tv3_Qvk*k}5i%G72hEGOfVs=uQN48^WSh!<4m&(SR z1@@0~k9!78f81#r%aERXX@|okhg>z~Z#U5iHhFgYbi2(?%eNaQ`!h>QPPA_; zHTLgjPTIa;t@qy#$*JBm4@CHcY5cx+*~e+W@AvxoSBusvJn`uH$SyMVuE1`Y5Bt`tg-CvzmHNTYrhj^NpZX)E4vE!~lRO17ULMpalRNo6_7&?=^%sjO+9b|o zUopG3-+A-V$MrIsG(FxZ{#$1p^ix_ueA|YSNk32CNnFr(?bC~-MQdZ`rE)j-s1?3s zDgSam(RqQxZy(ZD(6{w4UFN`&`vL>tI&yJxA+2+AS~L4R8JDww$@~r=?t} z;YaIbjyX5NLLw?lPnWq>J+!u9Irb;8Zm0OtW`)UhZjIIEJeM_64AO6JseH9-M%b?9 z1vVEGR%9m5jM;MW%+>=3be7FFWLkaan&HC7{1QL^T=QwsP+(Zbzo6mlvz2v9huh4A vk0!D2YBOnXD4+HD!K+=a%|W)?QeHWFuX}lOede(nir@Xq*E#B(^s)s2Olmx4 diff --git a/secrets/hercules/cluster-join-token.key.age b/secrets/hercules/cluster-join-token.key.age index c9296a975aa4927d855fcdb6ff2992c10f0ab7f1..b5a571bc2c7b4fd27a4583e1d6d0b146fce39424 100644 GIT binary patch delta 670 zcmeBU-N!mXr@p+vpfbuu-^8UP$2-@!%+k-YqTJ6lKRGcYARx~-D6_2G%P`nk-@wf{ zohvUtOuNb}Fh4XWtk5#jGQcd&Qs2L#)GgE~y*#ii&8sNOBD-KD}Jl1tZ4A;QSi z)X-8PC96Et(>ycK(%C4Y*vQhy!zEHbH8ad9-L0&&yxu9zEYZ_7G_uqn%eBgY%e34l zJi;U^Im+LtBr83mBD5mgJ3GXqGABDctI!~;Fe1d%GOWzizbLUBWJO+pZ*EeRZhBE_ zVsWZMOobkoS%^huPDFB1YHCnMQNBrtud`8VW@uS}W2&2Hda}21m~)X;pSovS+AE zMwGT^S!7y4qFat%o@J4jdr(S7kx7YDvPYgvL19FRt3Fp*n6D$3uCA^^QCMh+w{cN^ zWww84wuzg+c0gfDUXE8}Kww5lVo6f5wn1fmPP$7~Kz4E{*Hx44(sfyRUN3GwN?Cq6 z?YhFJO$TMA3v+JTmx(Nz-ErASy5$wumuY8~?Y>f|b|YJUqh@z%l%8x;uupP|m+H}d z4_Esz9?DswHcdnJN3VUFoAJ$U>g)_D-zyqZCYss^J^uRW($4M0_uN7z$2brm;&-tx9DjHM8AhFr((MEA!oIDuUl@2 zk-J~Lvr|Z!MQMJbN3df?S*U4YQfV5OsjpX3q*r;OL4lX4zrT}PS)~P+uCA^^fV+ND zsH1njhoQGwsFzVjW?GnqMOi?&zpHjofWMPraAml!ahRF8m!U7$BS&Q>G11`Aymt?p zvv0M%-WT^m{h^ttT)|w1x==l~0MEmQStrt5>UU)%?z0 zE$zwFxBgQm(^+UO=rFs&Sm@cTX`N>$FWD*Xx#Q>OQxRJ%*lvo38$OTb|Gv3#EvNH> z2U1l(SQB;g6_OU4KPj_Zy{$=GGkcOuRXNYqGjaJF z#3af->HkP`j@xE>A5R&P^9Wd$!KgBY_IH3efcYcDR#z&yiB$3&BSZI6`X;6lgnLf>+)imc*v7n6`A zf6v1DyyUcU3#YP-N^gCCE?r$+g~XuDew217?NLPb=F8kEn5I>z)8(wURHW82#-QTIB!61J1X+z!whdAk6k#zz2{PV?M v{c(%URC_qtk89GNfGdj*s;(`HF;pzw$}Q2nMV>o%{qf%ddaK?A`Y#3mjL(X$ delta 469 zcmdnO{GEA%PJLCdc5Bd$@Ty$O>KE^rFjELT^r{PIxOpd9Z?Q+-pjyrQJ+s7S{uuTXRE3U@bWH&b8Z zK-Z%B!t}yW-*nHCkkW_((*V!p5++}t1!CoiMCG^Yq}pHu@st_3&$A2=uZH|uU|^e&N$R}NaQo^I-V zBkHl6-8NU@$#%YeF2czx#n~Pyr#iVfQTEY1l48XBh6 diff --git a/secrets/middleman/cloudflare-credentials.conf.age b/secrets/middleman/cloudflare-credentials.conf.age index 550d4a9aca5af872ce8d3a8071a5c99a62f99ead..733d147ed94b479885a73e0ffadaf0b9e4c920ff 100644 GIT binary patch delta 506 zcmX@ZJcnh1PQ9sLSaOnErh7!VYocX%WWu$+4p|O#6q@!nWfnly$IhU@TLWGg2 zsiCEUZ)&Qiw^>$^K}k}wv8PG8K~}j%WK?l_zHddbetm_3pSPoFikW_7NmXbdS4OT= zScq|sn`@qPj&qn(q-#WhX}NyBsYPO$QDSygiDP1zsc&&+iBCW%$O@wbB}Ioa-Snc= z#Nt$iD&;&q1q;W>RIZY+w9H&XOUKgO;8ar+A9J5nCrkaD%pj-2^ztio x6HH@m*Nb^u)yR%u41{25<%xJ zJEa>As^mo+EOX+2Z*_du|FDy5eklBZep~SV(PH;1S7)maH$^371m7;VGJe5RA}(`^ z)9$b0`7PghXEW|t^0cnhLiMA`jgO1|N2y+Xtoiuo-t^M9VOb6QaRFI9dJAIz_XPR) z%F5NkOP-QD}fqF_*5LLWGg2 zsiCDpsjs$gfvIVkldETNNmYPZfk${*R#0A6MM+jpX?;XxN`|q2T84M3rGZN%mv^C2 zxN}uyNluo#b3~b$S8-OZlZk#_ad~n|MsA*qi)*Q2Rg{NgKyjWc$cg}a>p*MW^rFrhh>JpWwKFFYIbCqQGRh=c)ovXl(%J$S8!UmrHQYbZ>Eb+GMBEMLWGg2 zsiCDpdZ34MU|yziXuf%3j-hL4s&Q6gX|ah%aiX)nf4x&gP=T*oU{*wVveio z`|r+gTOzP1_ucXX2_es3-$?WRdX6El-Q}3oPXoS;davtmE4JLdnt7v$c}v>C&ocw` zN@N;KB;o|p())Hq$jI#dv1)bCo$Kl5eG#ujtz1#rcGLN?+_H)9;mSEzcL*ul(NZAJO1#rvLXDvz5a2 zjFPacytg=?EANjfG_sanTQYUNa@g*l8sRhSOgK_Qwq+mQ@;p+Z`(V9~dXc{8`_A^u ztzKQe-Y5Qjp087QWKq?W4f>jU>IzplTvVD<+kbJ1s?w`e<Wnyl=OKC-MMX70FMsk!}VZNoI z1y^pdWn__MN@cQpn6sx#NQt(mnQOYXTWV>dOKwnDaD}gnv3s_WcU3^DCzr0BLWGg2 zsiCEUfr)XTVS0e0Q)+rjc&T}6vcF-9g;REVfOnajWqoOGsHuByaDJI#L{gS3SE*xw zvyn%!X;MX`cc!6RWq3hWWw>j4NTpkusb6kJwrhw|=E(6aU=exz2a*~cr&~Kde^u~;g5BY}wS#y-W8ynvG zvzUkfDz8a;?s=YgEl;Od6#bgyT>{MJ7u z{dKEfm>$~I_~q`E`dcjlEH(Yz|CGcVgEV(Ed`S>aI3S^%yw5u1t+>*Gh^?{V_y2gP z{r1}xs(me@2iGmVu=b{ceTGH-JhoTTmR=$2 z6++YBG5jsC@jX*AQ)Xf(likI3h1E+YO}l(Uuy|%rSmxG;U31Up21iKCd}{lxdAI%E zx4rCJIgf9hCbEHbRkP#vC$R@_auhs|DSJO<@Tkm=ANNrku{@a9Wo0QDmJ^=trR#y=K diff --git a/secrets/minio.env.age b/secrets/minio.env.age index c941d28..0b819fc 100644 --- a/secrets/minio.env.age +++ b/secrets/minio.env.age @@ -1,10 +1,12 @@ age-encryption.org/v1 --> ssh-ed25519 hkbtvg IrwZ+4sEJvFpB/zrFR/8Lu4GgpPppm84IYOAP7QWH0o -Px7RM+aKmjRQKdr0Ta/v+s9M+rRvRTNs9YYaZnNeORk --> X25519 lSIE40xvHLkKFMCgsKjVhbxYfv7ddDJ3xyMlcDdxgxU -sc+2ibxqyLtlcpFUPCab+x4imPjuedQadA4b1Qg63a4 --> [J"78S~E-grease S||B(wq} suB8~I ~?E@d} -/3IplD0a0o3phrEIX85CAVkFRvLcCh3ncK/0Reur0bvKsqOjg37KH+Az5dDh2h9D -63kpJpGxwNKlRntnWQWxeYN2PN3cZrggH25/EJuJT3td2Q ---- a+cb3+9Z7WWk6vGGaiXz11G2fKUqLbYuUPyzturVFXY -鐥鶦EB(c#僘$J耔4g*t剘香)穑h:揌馺莘a' 焐<鳤俽錵+撚D浐w慙K3彑憁慕 \ No newline at end of file +-> ssh-ed25519 hkbtvg G/+xT6RqgxbeZc6fafYkqFs7FyWL58+PhUIrN4g7lVA +h/lSiNjqSnoBv+nuSyRuQegzIrpyDJ/JmH2z0+WjxJc +-> X25519 S/BUrpWmbVbEzRWzLLtLctqR+aiir7slufy+o2Wq+Vs +Hf3NrG88+kISvWbRGTjkNRTNLnpjRY/W/Ukg4N133lg +-> 9KLY0A-grease b%;W R dR$ +ijMZxH1fad+vLWdei7kZsMYO9u92jjVlx7lPgMbIMFqkFy3xqoGL8jpi96Oz7+nS +BPbCv6bJQyfo+fUgg6U8Indc3XdbCbcqVPNzguCohQoYxUAC+j+DRQVz3ePadXKY +fZo +--- vWyTykBiq5nFO1UxCC8r1eXZiRxdRzVaj02zi3iCLKc +GO掬仭tP蒈)獷7嗳髰R;灮遁灰 躂爏5i=lS鳃N(.b@誡耉茡鼉 +檟&\僗FF售朇D~ #阧 \ No newline at end of file diff --git a/secrets/nix-cache-gc.ini.age b/secrets/nix-cache-gc.ini.age index 88efe9978abe49e1ac709a0a7f0e3d8b38312ea9..0b60d07aa4206c322dba489f67b1c27eef3b7b92 100644 GIT binary patch delta 485 zcmZ3_+|DvVr#>k&JG3CQu&~rPGTqD7B0r}jA|tsx$j~Axv9dVA%^;&B*GD_Y!_U&g zmn$f(#3e7F)Wy?MyTT|v-@-H`*eTRGqbNOGUpvv?-LER#$U7xBK)*7@l}p!7A;QSi z)X-AFC{({NF)}+RH#57~vc%8T($mabKhvqo+oP;FyFS7q-Lo<$+}G5?BC4{O%OWZz zGQ_yTHKjB$%`jCvDXk#CG(EGpG|V-)u)s1jq$nVw$e^sqvnnJXWQAX;mS0q*ZhBE_ zVsWa1Qb>wXdU!2YYH5aRReofyr&C#^dvbZCYp$WUsb8kAv!_`>MNnS2qkCmiad)}#wNvw6799`QRj{?b!6+2q@|M?;nSHnW-^s-{cQM5BxJ+nFnu b@%>EjSpDisU|qA6#m8&H_S@{z7s~(u#MP>b delta 397 zcmZo?SX>AT8J5%Ph1kv9P4PBE>PWEZoR9HNP+~!`Hvm+`T9;tRyGHmrK`9A;QSi z)X-AFFU-IsBQ!F|$ULI5AUVa+CDf@hsH7?{Ju%TTuin64+cYOUvdl0f$s*L1D>u75 zFE~5Xv>+oYKQ*+!pNi?WJR%VdQoa(ajJs7 zVPQ>SBv)0iPf3P{rJH|omPJ5%P*|mlzNxW$m05a9RZe1Qd3IW{pR0bdTZwicm#(g^ zLP1%*r%}3Fa!HwIfLD2neu1%PVYs`QleV#Ca7n0{lV_=ck4a&Qw~wD&GM8{A@4wn< zOB;WcfB4j$z2%YrK^y7cvg#(L+VTh4!#Tsg*_N_Zu3LL(PxL}LlgfnU75^e{i?jT< q+Wh}%uS3D6(+2~l7FVVzWPS52iw!o*3cs+n{bw^`!pJ+z&EF!> zgsa4&ps*^%pfcU3Aj#FD%E!Vz-Koqn%{9s0&&ez_&?V6)G20^C*(u$noJ-eEA;QSi z)X-AFs3Jq(#mpklsM5fs)U~3>DBRM^BwO3q+|?j8zuq(3EIcSL*~ig2(%I0FtI9Xh z-KEg9EZxuF!`Z^nqB5!?ufV-3FWks0qSPeAJ;gIKr?eu&-!&i-WQA*8U~Z0XdQoa( zaVl3pNm^M%kZXytv9>{(dsbGJL0E`$R$fJBl9#h{Kt^6*PDPM`Syp6fppiD0uCA^^ znNMN8cU4-jdu5hSV0J}`i&;v6kEKO&Vq}$LmRm`Vb5?+tL2*G=Zg7Y%*Y840!>xW* zto}ywAEZzErf=HmD|ebfDNS2aykyaapH~?^U->kZaYNi>zarJ+A$x2^>hJ$!UKVq3 z&$mnWRaN@*+iMSVrXI^$VLJc&b;nB*8?K85Zw+IpkL{gYcJcVs3qN0;4if&kOHOww ztEZO8Po~zmC`gb~G)aGN= zm(I_*bBW7(_1mr}E3W?SzWq^80_tA-9=LStLhjRvrAJOB9BJ4PxI`$!c6OQa0-@~k=*(?5BV*S#ZH;4%FPAB)I&oy{->~0p>D)iJwr~1g z`RCE%gL!8o^&9wB=`?S-^mAjg{#3hyN2NaOkHmE?9PVEYv|0J^?8@51VM|qG4gmn3 CJ4+q_ delta 731 zcmeBY`^`E*r{1YTJ3G=R+1ooaz`w%8DbmbE-y~nZ!qmjovQob|F*T<&%_Y^qyeuL& zohv6Qyr{CkGTq%MI5<7e)T_)gDbwBAKgT05+1xj{t*o@P$j~Js${^dXu)r|cBE!wiH^Rv+yxu3cyv)eh&$Ki=sUqEzE2XH= zCqFaKH_0W(G$$n_Gcnl2L_gm+C*3twJ2ltC!aXR}sK}=*KhoP1WJOd!s8*70dQoa( zajHVDeu1j4heC0Zr#e@i8slKxbSB$0Ahb4Y%y-nED^LcM3@Y^htS@rgmHpBP# zF*kE2J^Q-rUw*>!P5WlZa))o-+vBk^M&!R>HSa}^ec1`IpBHVBKY#G(lD43IiykyD zT4Au~%VEC_av6Pr|4t`K|I%-kPD>5F$=~zSng@gUt{Qde>;3<4 zt;_c~;MJp+%_A$_J|}dJ*tD7t>$a@!n*MRKRHI|ov+c!?Ehyo|AO{@kt7{q>$Z_AT$~^j@(1u#jDz(&;`n-6*H$DqCbu-MV)2*u{0RJyE-z zS>Hr!KK-{qoHNp(ucEuA+W1LIZPJlfuUt>nrDY-Q$1;;-%Fh^1 z$&8+vzd=GGLo1MBhjVnY*(~o^KD(>;@;!nlR($PFWnS!GevwJN@Z8Ssu78EB_Ky^b fPU;?1(7htRbycE^hR?6tXS!FdQvagnv?>JvQ35r5 diff --git a/secrets/user-passwd.txt.age b/secrets/user-passwd.txt.age index 256ca161fed01e07f81eb3a9b9adaabe1720bae2..b59ddf6e4835a8d6615b31646ee1a6f300df123f 100644 GIT binary patch literal 1559 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCTSaxzXe3smq5%t>>~ zP4>&PG;j+tw#Y8muFN;ew#dnKHx3AnGENSx@b>fcDAKkxO6GDYt@1bYPAT!sNOjK$ zOfJrMD+(<#buaOA3iB}caSAoF@XN_9tjI7)Oh&gY%go#@B2dB7C)vk8G%KqpEHO3Q zPut1g(A=%kNISelJEXGM-M`X1Co3sJKPp?>u$U`1KgC_!GBYu%NI%WgG+nzq#L>{N z%&el=&nw^9z`Qcdq9okSJJ+B%u^ipDWP=dD#6X2Kr__|n%*x`VAYWJith}rc|8i}E zLPwJd|Eyf6s_f!KPqQHX;sWD>kU*~dk_a0%kWJ!$tzb#ag8j`^iDS|^vTZmN-a*#2r;n8EcZ-J)Xs4=agGc(%y2eK z^zhV=2zKNui>ypGaQ3e7w+!`lGB3;4uJZ5<@lOsZDUAp-_D#}`2zT)_tqd;oG4n*X zEzB*s+%#RmB{kA7!`-05Bf{Au(X zA|%t>C&?r<(akM8(aAhFIU?UA**`MH%hWZ+Ek80d!@x49z@*4HBpV~%GP09O%F-1~ zjI)9(e9ZH_{Zd_mQ$3Sh60=-wm!m6BtS=@a0c?QP)a?QazB>{Du)5@h0QSrnS;8|KPYQsH9Y9hv7<;cV`cUzHIV zT;%O!YU!Sq@0ej;>YCwPVUZY>njcYVM$nUZlR%Zq=C17YLIWD zdxmeedy%C9Kxl3qNREkrileS5ENu~*xsYyzxYiW6)aZZ|xX}VixiMgL&q(yR4 zT9$9BUw%o6rBjrvNkLU;dOk)->brVHl%*?p2Zd%wBnPJjJ6E_wrIcHg`enL@Ir_R~ z`jxmug;hC5q=vhfyJ#DFgk*CWm;`5<6jlU>Sz1<=mYWA;8Hal(W|jL?lqb2lMx~_Y zXNCm2SXf%5WPo#b1f&?rF3K~^chxU7%Pmbe&orz|4DruMGD~&NNpv(w&Mq&>ONuB? z%M2^XcF*Uks`U1EcC7R&boGezHz};h%MJA_4EFOk&h`z8bPmuDFiLYy$uIPb3IeD4 z0uQ~cOv8*q-Snc=#Nt#gucGwu>=3h%WFr^9biaZ^_rk!4@~mVNv*diI%HW7(i$uSS z(yEXWe`gb)l2Tu{fV2S9u*#gs5(9%|GrtfcE~mtR@?Z~>GQ*IFP*<01#{knzFT?yu z@5rL?EX&|RCzs?z*Q_jK=iEYr0&o31v$8N_Z_6|{$IMdavZ&HDKd$6JE?r$+1*cGp zkg6qVA;Dn?G^1=irZaSt}Nx$d-q%K)UEA74TTRT7x#mcC@BhF{4s l!~VW+OH29>FvBadz96Ef>uSrrV|8zwp&Z4gjCC4*~!H literal 1425 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCTSaxzXe3sk6bw5Tvk z^~gyz_18`*@-iG)gJYHw_JO4vr|+4-K@4a>}tVbmdAfFv-j@DEH3DOUeum zHP`mZGl(emvP^bLb@ekS4Dbj`O82sKG%`#xH$k^8%go#@B2XbB+0`J>DbqRFr7$S5 zD%3PQA~{Px-@?_v!Z08=(=b2J%q`73#k0yR!j&u0z%etsG`rZVz&s!-C#^Iu-6$v^ z$Hm;hH#5yAFGIT|$)waM-zz-NKM>uvWP=dD#6X3lB7>r|+ycMQ$_h_s^U^|tJg1O6 zf6GF{f{-c;ukx&bf^4V2h)A=%&}6Q_v}~`uNQ1;E*Wj?oG+(0%?G#7zpepZ(@=WcV zAj`~TryL7Uw+K`3#AI~a@+_PSLdz8lk{tET{IU|$Tno+0N>cniEwoF0JhV-`T>|}s z@>2agtK5A`{R*o}G9tMGQq7Gb+&u%zqjG)IBVCe;ik-dEDov`A-F^Kn(^D&RQhl=X zj4F&nJtEO<%kWJ!$tzb#H46zV3NeYwOZIj*@eIsNN-C|4%1tZMF7Y>v(he*x^34o# z&rGebG$`lFGBhm72n!4d&QC6_h%7G1Nvd+rP0B6z&kyv^Gp)+1it-H64{%lZ_%m{LL&ALo$NHQ%!<{g3F4vQ&J5wvdtn49Jx}14V)tK{nPdH zO0x2eQ!Bz8{lY3EoO}um%F<0u(v6C;Dm@IG+=CK5F>G^649p2iS18P^@CpqIN-gs) z_DL=b&@KqFEG!AI%*u5)aY}M_4712`HTE-)GR(>==W;JhEwpHnj-#NwV-x3e5M?FOBj@FEj8D_e(O*D|68= z^R=`nGd0$B^i8V><;paVDlYJ=40UmL3C}IeC^j=qG`7gk2=dSK2uutKv&_{mH!=w; zaL*630QsjP(oQ$MC^fM-Rl!ELHZ8|5gR8{TG0fY;w|RHPzd< z$TT9r(A_u5AhaYg&`Cen+d0WFFf~0T&pk6cJju*IG$qr_ESSqr-#IeX-!L*XD#bO* zNINP$qd3{mMc>)aqcWr ssh-ed25519 HJ/J7A SyRXLRxv1tu111Xne8u3JUIz0qy8C6HYD7X4uD4pGUI -QuTY1ZZqLjE8gC3Df7pBT1lWcRPL3EIxHA7dGjp+NEg --> X25519 N5sWlzsAMGknj5na/nbY00pT5CWedf2S0j1iCKCTFSU -vM70N7ymKgC3J9OrOAj6CFU/smAz2lLGX4inh1usTzc --> 'cQcC'-grease Cq7J w# .Tc -2ScwMdP22ccCa7g3Xbhw2kT4qjW9Cg ---- wwRUIFVC5mOE9w8NRr2Ld7GjeK0sFlsDnvEFke9Rzc0 -斟(芮箌u媐Kа 屺;xE-轀B胕[轴YY&媺稖}= \翌唴扶c互嶞~璪Ol`x謞=皱/闢`>鳝1"u4k<:u肃蚔 P馴挺"gLX鮷矯Fz'蜓&(l \ No newline at end of file +-> ssh-ed25519 HJ/J7A A4ybdNG0bDSIBDnjktzi1DpmGrkvNt0SE+YqCHNokEg +gwL+6yhXPM3oFkq3S/4PlWzi1h43yBRW1atvYbg2Ax4 +-> X25519 R8AIKLRKCLCUmJB3A/z+9iQOfwbqNRm7GgZQX1PgHXM +nP+UagGakkcI4c59CHSldzGvJLzDXJE16u+LggSLUcM +-> iS[]-grease +NLqKdqlhdrhVyfNihGFsQC+jvA9wu60 +--- KDffMrsRX2L2uqdu0ReWQnIcqkYjWfNh4s7KgXTYpDA +-粩)霪h忚i嶡X"膧e膈q}J乤&rJ !I袍:7;~鐅颊煜-得泯*=鷈驨筐欿bWp#栺B腿mux锎q櫋覺n+B荊餫L葌軩er慜1晲^竧]c"dI歊RG|Q \ No newline at end of file