From 8479644fc4c1b7481d02282396a49340f47821ca Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Wed, 13 Aug 2025 20:36:27 +0200 Subject: [PATCH 1/4] dynamic dns updates --- nix/modules/caddy-base/default.nix | 1 + nix/modules/caddy/default.nix | 11 ++++++++ nix/modules/dns/default.nix | 22 ++++++++++++++- nix/modules/dns/noratrieb.dev.nix | 3 +++ nix/secrets/backup_s3_secret.age | Bin 772 -> 772 bytes nix/secrets/caddy_s3_key_secret.age | Bin 904 -> 904 bytes nix/secrets/docker_registry_password.age | 8 +++--- nix/secrets/does_it_build_private_key.age | Bin 1916 -> 1916 bytes nix/secrets/forgejo_s3_key_secret.age | 8 +++--- nix/secrets/garage_secrets.age | 25 +++++++++--------- nix/secrets/generic_backup_password.age | 24 ++++++++--------- nix/secrets/grafana_admin_password.age | Bin 282 -> 282 bytes nix/secrets/hugochat_db_password.age | Bin 339 -> 339 bytes nix/secrets/immich_secrets.age | 9 ++++--- nix/secrets/killua_env.age | 8 +++--- nix/secrets/knot_dns_rfc2136_key_config.age | Bin 0 -> 434 bytes nix/secrets/knot_dns_rfc2136_key_envvar.age | 13 +++++++++ nix/secrets/loki_env.age | Bin 326 -> 326 bytes nix/secrets/minio_env_file.age | 13 ++++----- nix/secrets/openolat_db_password.age | Bin 321 -> 321 bytes nix/secrets/paperless_env.age | Bin 340 -> 340 bytes nix/secrets/pyroscope_s3_secret.age | Bin 336 -> 336 bytes nix/secrets/registry_htpasswd.age | Bin 278 -> 278 bytes nix/secrets/registry_s3_key_secret.age | Bin 364 -> 364 bytes nix/secrets/restic_backup.age | Bin 784 -> 784 bytes nix/secrets/s3_mc_admin_client.age | Bin 912 -> 912 bytes nix/secrets/secrets.nix | 2 ++ nix/secrets/upload_files_s3_secret.age | Bin 474 -> 474 bytes nix/secrets/website_s3_key_write.age | Bin 344 -> 344 bytes nix/secrets/wg_private_dns1.age | 9 ++++--- nix/secrets/wg_private_dns2.age | Bin 256 -> 256 bytes nix/secrets/wg_private_minipc.age | 10 ++++--- nix/secrets/wg_private_vps1.age | Bin 257 -> 257 bytes nix/secrets/wg_private_vps2.age | 8 +++--- nix/secrets/wg_private_vps3.age | Bin 257 -> 257 bytes nix/secrets/wg_private_vps4.age | 8 +++--- nix/secrets/wg_private_vps5.age | 8 +++--- nix/secrets/widetom_bot_token.age | 9 ++++--- nix/secrets/widetom_config_toml.age | Bin 4006 -> 4006 bytes secrets-git-crypt/knot_dns_rfc2136_key_config | Bin 0 -> 134 bytes secrets-git-crypt/knot_dns_rfc2136_key_envvar | Bin 0 -> 67 bytes 41 files changed, 128 insertions(+), 71 deletions(-) create mode 100644 nix/secrets/knot_dns_rfc2136_key_config.age create mode 100644 nix/secrets/knot_dns_rfc2136_key_envvar.age create mode 100644 secrets-git-crypt/knot_dns_rfc2136_key_config create mode 100644 secrets-git-crypt/knot_dns_rfc2136_key_envvar diff --git a/nix/modules/caddy-base/default.nix b/nix/modules/caddy-base/default.nix index 6356e88..a33e7b3 100644 --- a/nix/modules/caddy-base/default.nix +++ b/nix/modules/caddy-base/default.nix @@ -4,6 +4,7 @@ let plugins = [ "github.com/noratrieb-mirrors/certmagic-s3@v1.1.3" "github.com/sagikazarmark/caddy-fs-s3@v0.10.0" + "github.com/caddy-dns/rfc2136@v1.0.0" ]; hash = "sha256-m5RHlrheqzoGqKQxixq+xTd2hlnCTets9zCT7aFka8g="; }; diff --git a/nix/modules/caddy/default.nix b/nix/modules/caddy/default.nix index e4c1b0a..bec542b 100644 --- a/nix/modules/caddy/default.nix +++ b/nix/modules/caddy/default.nix @@ -19,6 +19,17 @@ insecure true } + acme_dns rfc2136 { + key_name "test" + key_alg "hmac-sha256" + key "" + server "dns1.local:53" + } + + tls { + dns_challenge_override_domain "nilstrieb.dev" + } + servers { metrics } diff --git a/nix/modules/dns/default.nix b/nix/modules/dns/default.nix index 815eed0..7d1c858 100644 --- a/nix/modules/dns/default.nix +++ b/nix/modules/dns/default.nix @@ -1,6 +1,12 @@ -{ pkgs, lib, networkingConfig, ... }: +{ pkgs, lib, networkingConfig, config, ... }: let metricsPort = 9433; in { + age.secrets.knot_dns_rfc2136_key_config = { + file = + ../../secrets/knot_dns_rfc2136_key_config.age; + owner = "knot"; + }; + # get the package for the debugging tools environment.systemPackages = with pkgs; [ knot-dns ]; @@ -21,12 +27,25 @@ let metricsPort = 9433; in services.knot = { enable = true; + keyFiles = [ config.age.secrets.knot_dns_rfc2136_key_config.path ]; settingsFile = pkgs.writeTextFile { name = "knot.conf"; text = '' server: listen: 0.0.0.0@53 listen: ::@53 + + key: + - id: rfc2136-update + algorithm: hmac-sha256 + secret: QRpeYCJLokRWyzT/tWrxaly5Seb5yTkE6/Ub66edWds= + + acl: + - id: update_acl + address: 10.0.0.0/24 + key: rfc2136-update + action: update + update-type: [TXT] zone: - domain: noratrieb.dev @@ -35,6 +54,7 @@ let metricsPort = 9433; in - domain: nilstrieb.dev storage: /var/lib/knot/zones/ file: ${import ./nilstrieb.dev.nix { inherit pkgs lib networkingConfig; }} + acl: update_acl log: - target: syslog any: info diff --git a/nix/modules/dns/noratrieb.dev.nix b/nix/modules/dns/noratrieb.dev.nix index c753f0f..808e0b1 100644 --- a/nix/modules/dns/noratrieb.dev.nix +++ b/nix/modules/dns/noratrieb.dev.nix @@ -54,6 +54,9 @@ let ns1 = dns1; ns2 = dns2; + # --- ACME setup for caddy + _acme-challenge.CNAME = [ (cname "_acme-challenge.nilstrieb.dev.") ]; + # --- website stuff blog = vps1; www = vps1; diff --git a/nix/secrets/backup_s3_secret.age b/nix/secrets/backup_s3_secret.age index af7230234fb4160110188098c8520cce111854ef..adb5d54f3a550338865d2804819a45ff136ca89a 100644 GIT binary patch delta 683 zcmZo+Yhjz9Q*R!eU1FM^T~d~08R>1NpIPMOrf;ZiZkm%;Xk=KJoSqlvUF;U&k!zS^ zz~y69nr-3XTp3(xXp&!$5|9#A=vU_9S&&icWsx7^UYg|`9%<}XQc)J3&82InP+Xj$ zo0?)|YHDbyU}+fUQJSuh=Ug4WlR$^jYWp3=8m04ht5>*!ElIrVkUghuZT2c@= z@uPUSZ;5w=X>oFPNs()WSE_MdKv9*Ot8YqpQA&DQkiJP$NtCv4ZmCz1wy_0QQDlCw zd!e?cad>9FXR%9ap`TldS5}yBv3`(iURr^7X=p}OVqS=8QfB((ct-JX%kYda%OIy> zM?*_XcSn<~oDkPY?aG2MFK2ykAE&6GRIenjaN{J4;6P6LhU?@fHJS(MANFk z63gtoJd4UqbEERYk|ay#s0{t!0PRZS{HpxPXBoxo!%UnFlZ#B8tNcSEO~PHvQbNm% z42v@z!<=(GGYe9TN>j8mGm7;yvcp2T3X_t9E8TMq^&PW{^n)@3Ej)b-eVkn^wX>tj z%=0a?0xa_*^1My--9lZtbaizVvfKjQi^{zmGkgNV3ksYA^z+=kLLD8=3xl%#ixMqd zJkty6OMp8jo)%RC@)sc|PQZmr=={8!h-gl$fsk(1# z^n6#I>YO)))gbr&`%UFvWDc^575LU?oEPffHn&fDyXoX;=NHdf?Pgkf`3;X<6c&QJ89&5fKvNWZ>ss;8_`&VHlX@SYn*v z$W;_*kY`frZWL)zW>Vm2q-|sxT#|2Ml9_Gp74B#3=;xT7>6l_%Rhr=u%B5?kP+Xj$ zo0?)|YHDbyU}+fUQJSvcs-G7bYFg?PY@F_rnNn1d<(8WlW>J=tW}fL$n3b58rXT5I z8Re2>;U8kcl@pnkV&ItQpIcy-Wm;flV&-b( zid@$u|MaM;f;4@TkT4V13a`xcNQ;zEA6JtIk1SW;lyq0FGA|>Ol!#;t|B|RG!wA1z zKTFpr-(<@ufAfF{PuJooQ?Ig2XCM8NTm#R^XBoxoT|z1&z1_VE{JioC3iOM!!y_$H zQmPz1O?+J{jf^v^Dx3Z`(z;(#rDaF!u13^cDV+%b=!*3_ diff --git a/nix/secrets/caddy_s3_key_secret.age b/nix/secrets/caddy_s3_key_secret.age index fb3f1f48ec1054af7c92ef1b15f832eac210f897..d231b8074bf10fafdcbbe86cf82de726583f9815 100644 GIT binary patch delta 816 zcmeBR?_i&xQy-q;;hCIj9%xWnX=LGrV?QNkN z>6e@9>u3z-H|VW_!TN`}6xxj{)tXqIV`r%7RDX^;h1X}CwY ziKnAuRdz&Ter2X#NvVHgQE76STY5oSg-f1ugnw|McV)JDSWx8Tct-K?WFwQTQ0LU# z#0W?ITmw`8&~nE#k3etBK(Ao$d;?Ga5F;~vx0J*JFC!B!LnkM{$U@)pJa?Z`UxR|& zT;I$BBj@y#VExR*sH8~G6c=B&Lig|j57XqyXBoxoE!~TZoKl=3GEJPy6N8;SeLPJ) z90O8~OVf)hN?nUQviyQ7vWmUJ^4-(93PbZE+`WC03ZpFC68()L{CuK9yv#GalOy~? zO-o$MJe@>sfu{jF?Kwao+q9E7jwO1p_OvOTX216BnRoR&zx+G7aOvMAH=;gyO|G(i z`F7pHsr^$+;7VRXV2Hex8|r)k)2F|1`s7^Aj?E zB@_cLmhI`?=rXDB+zTVO&M9xE3(K1ZxvsspmPh`@Zie_Qe&4X7cUp(yOB|n;TzTHQ zqmkF+eH4%Q%=HqEZ`IG7ncO8&6})Y=h1K-1@{94OKA*h*z4`&q`6X@FZwfQ6Te9o@ I*N-mG0L-;Q0ssI2 delta 816 zcmeBR?_i&xQ|}&-Q&OB{8ju=ZmYI^Jt({(y7M5>Vlv$GJWEK$NVdiL_=^qjq>K{;< z&6VWp5oO_?6O~aE;uq%ckz!$ymg4J_kz0`;WRe}?5@z8NR%qc|7!a-<%B5?kP+Xj$ zo0?)|YHDbyU}+fUQJSuh65$)_V(#POli{Tu=~tFpy%nt>X%*~ z<>BiRRb}AIm1Yr@q@5S#W0{66s$rzJiBXBKVWD3|RH%QDS8jSxX@S2-a7cbdse5@|cBE%gq;oQtWqP`q zV}WUMioa=Ls8?P^U|6DORamx1nT4lma&D1NPHsU)p;^Bq+s{b)Kb5Ef9K#r;}BP_?2M@Ng7S(C|B4W!ibw;$ z9FJf_!xSTfzzF9;k3tu(+^C=^BR{u@VEz2bXBoxoJyHS^ox{tsB3$!B%H5-Uv;C{8 zlFCX_ODs()i*v$@1A~iQ3RBATgAF6O65X;~OI_XbQw9KJrWBO^#i;d4FVmxbaizV{3;wn%Kd`V%uUR4vdcZ3ip`uYU7hodbG$Q3{Vk0B z1Dq1;ef^UP6EgyRx%$M6m+pM*&~|xg*@@~8tM7Fi>gV5oyl&F5Nwu9iA!Q!H_32m3 zT}zL&K3=u5-pWhyPlN5kr|c&jPELBU#Hsbt$+ELNdW|pll{ToQls9jRi%mK3-p6JJ zcf|+c`;Er2exlxg_6An_FpEy}nKj>NqDtc5I~EVr@6^{U=yKb-cx%mrZvUi%t1IuU z)N+FhzpHexQ$y4-i+v*{AlhY(S@=N z_0EcUdVBvDi(AaF(Y`m~S*o|LL=Cr_`nT=dB$Hpftv{x@lvPtX#f|-9*PYn?0w;Ta zUFcq%{#&!GDk7R){ptHI6QM0xtq~hC)jf`1^t?PL?5@KNy%Q_0e*b*srkCRPEspZ~ G1 ssh-ed25519 qM6TYg 0u8KWoP0daJZA97H5KkNCSn839ObF87VYU4AChP2XVw -PqtYdZR3xokf7iIQ9khrz2pt7n6FipWn5y3bmzDfdEM ---- 3tTg1eoL9exHUTtn3Uww7xWecgmzf5EyyQEZ//Bbjic -|HLXZ'v2" ssh-ed25519 qM6TYg N7lS400e/5mSV3BlhnzThydz/c3DIIOHLNQodTErR08 +vMqHXmSloSrWCxeD4QCH30GSqg1AI+6Dy16atFLNxjs +--- aJ6lQv9jnJHyocy+Kz4jPCtpiIewxoooR0Zsm7CS/pY +j9KyȰ0*ÜbɿY0I3v+D"*/g`o#ص \ No newline at end of file diff --git a/nix/secrets/does_it_build_private_key.age b/nix/secrets/does_it_build_private_key.age index 81b84bd45fdeca5ef9a86d1be3445b784c32fbca..a1a6080a499bbbae00a5b03dceb06505ef8c1dba 100644 GIT binary patch delta 1893 zcmeyv_lIwSPQ9^9YJgj2m1{)4enwod$^@@x>rzOgh!}XNNJ^8xuajXXMnSbm#JHzd5~*Xka@aAg;RQAAeXMLu0l#) zNnl`=QFfG(M{b~}VNQyPw_C2GL4j*hK!{IzWTvB$dwoS}Sa3>;wky{wfzQueHypa` z6y^2yZOg9w_j63H-`OR^uPFCq#}-ewL#BUy85XeSHmg`(negt${{rbxbGC?YeOl+G z&3LGfP|x?ap=hN=wdbq+jd{T{_C7Ys;M(@|(J$|LE!HJU4$Lqy4ShFQ+_`)|>97Y|ZUqbYkzFVxxB!$rI}( z4_(m9ocuuWdn!60*|+RW4-U!;jHlHc5m~(EuYO&zr-Fm&G%;h6^m5q zmafChtKHVLoY2qyA+g2yk?RzXPHXvk)z1eRJXb6}$Z|#KT=({rX627ZJ|uJ;T+|Y8 z{&;)1anPE7vRX~5*X~&uiF<`Ey->_}f9vjY*AU0|`yO&uy*RVHXbtbTSuBU={9AUw za7}@K+T*po8}w70-^>c^;%|x8a9ea_?y4Wn+1o`WrYxQQ%yhS?)2sdYqHoG`PhD75 zx$jkdO+<8nZ1LuKf-NO8=f=%?v4{1UM&@yqn~ndTTl_uyVWF3r&AMMR90ivcZ;nXc z_j$dwTI{~#i;CteEbQW%x_-{7y_X-PRIa%9c$&|lh!4{)=K1H99&gN0e){=;R{Of_ z*oooG&rbcBY5Zcpz1NG>4VHVjuf0orr{6yR^ykj&0`B$o&Z=1kv)^vr_iKLQjQ$l z)8YTRkG3A&sAH>`6ta8MhM1m;EnI$Fl8n}K{@n@8U|AGpt=+JHQnrU6mnUzD_kG1r z_b&1_&df+R{-I>3re0sresV&wPo=L@*y5cd?iBeP8MqkT{0%ZvKwHH>e*N}r|tqVG84$E_Sw8NJ@R|CHY- z%lzxuTp^Xve@Pa9BJ{U&G9UE6qWEW5eV7_EN8iq?h_^&=a+g&^VaKDG}RIh@5 zmo5&?PL9t%j)wkKH4EKWGgfta2%~E=B z$h6+!pJAKxCQpg!Tex=`1>U@+^tdeh5tI0Py${cxF4>ZN{A&EGweEWV7rbzK`@xq{ zgWYrKncJP~S99lfe|VcFZRDeE%G4(97a3n*Bsn*xaF4x5<@Qq(zrAj;Tvt{!k8#y^ z?QZ8r>4J9(;S1ut9BfXkK6kN9ZqKUC{Obd6q`3WhUH>%AkLkEw;fv#?N(-dUzj)76 zKY7;rc%vhiEL2kbwunovS~qdVJf;WpX4F=>%QwH?eL~WE>HPKVOjGh_Ka8CCk14Y0 zw#$q;KjQXOyDHDVBA%1(9CqwL*!4>*s-0z-uAZ8rAhmVZjx<*H^(C(-Eso+{zajpD zozY?Er-ixq+**Fs)CWhbT#@b?KR3Hg^6R+RKD6%jMbiMqDeaz*1WWRqG6D_-+YlG zXSucHjw_!ocAK8O-mF^6S8yu#3%6=qPGS7#C(CYkYQNf7Gk<52RmkkcUP4bL5_*K! z-!)@+cKfR2=In@U;egcwX$rZ{UiO6tP6Yh(pQ2o;-p{)($eZB|!y#3LORqEUKJi%* X8SduHa(qV19=@Y$SC{(s_pAT_OI)Po delta 1893 zcmeyv_lIwSPQ6iRsB=VsbGUa|o{y`EVR&Y)b9j1sfkjA8UaotoXR<+digRv~Z(4>? zI+tIdceb{Hc7{(xj!{ZTa)FVLnSX9zO1Wu9aZ*V|c!qCcsAFMLq`!w>IhU@ku0lYv zTe!A+x~XBgkzZ+*XF!OllaXUluBmC7k4bo8K)6|iSG{(6Xd^JilXxA$FDQfWJM z@zjq6dbj+QE~^~mOEanrp6FXL>xb9zWQHmo1?i{#&tg8A>F>KPDRrlO>Pg+hDqi1x z9qjLLP0)VM5Voz}Q?0Y=&td0-A#0rk!{*EPWh|DNc-w{XYe}q6_gR_P^_!QoF8Mo4 z??U!IiKF{o{x`mnnRmSXO3tFi_ri6(!cu>lK3QY5`g%^`udM>%ZrMCnv)6>VoBdWa zRq5YS=$NjuDd$IBijlQhB$rCfq+c}(dToxrXXPhtmC(!GrQZCpxPH-&8C<7dPMP)C z`(W)<`5hm>b{)v5nvlZYtDSZ#Pm49YbqiZv+;wlRCx+b&QfG4PdBn>+--Lfv`@6gBA z(!X!^j`ahboU+H;cT9EhcT$M|ym8p3WXDp^OaWNcc zShsz~zu7jMeK+>%PBwp;lDuHUh9_+M|1VK$DXZ@mPrJHT+t%Cu)zza9Dx8(yxICWd z!0@Hrx1h%8&;lEto||cPbqyQ!CO_d0k#JSn_o_4D`HH{SqVz5wdh3+>e5RSta{a`6 z-=`NnHFt2#RNBUGVIQk1{8jIX!gEOgNUN{cHXV52k2Cd9ys$ zmN$oT9qr2M1?zpJ+Q{@k+i_O*na-=7)pC<$hgO6QsTW=gVt$BIY&6OOHUlTllLT&{H0mI}ju#FAwqh59 zrN8s3DdfEWWT5xGwLW~$zxtQAPo5P{zpz$X`R}tCH*deyG@f7aZ{q!$uZ!!C@N38C zE?_!+E!u43@dwu?@B0^X!eDDiSOx#pzwz7sRnyH^KYO3fC?43gS>2P3W3!LIEd|yR ztBs*;oBMx$U75XP@r~OrI)mOOKVEBpi%aucBJ0$Hx7oTp|GE~bv~JB7Oz-+`Twi+R z%|}knTh2W5*fw_wxJEdh4xg;Y_bs?0{Qq*b2T_-9ZsBW_GoO6NVB125wya6SC(=f|Nr za|I?XkEqBwEV912@n_iD9TN_!|KZMGwymGPzCY^Zq>YjBGfJab)Bep5OSZWEUux28 zmBpP>8+T6jU-td0)`ZDb21|IVETmdY|JzHKs`I_uS{-=7z?Eyo(mzaEO?7&)Av>9} z92-9#*!}6miX9&tG;-ZmCF*g0`NOni`K1dl(=2sOaxR@uQ}&oV)9A*}mc^AP!xFjb znclZgkV&ZTtWJC{wflq2tV_Gt;~Ng&;NrY4fBUG6sY!VHnr9(eb39IpP29u8W3xGY zx1-#l8;=A|UCw;<+T+0d&;FfWZB@t2CbrIQtXnpJ?oFPypsp6bNS zk{V?`?+XqDOk7~MFMY@Mbt+|dSM5sJ&;M7{wzz!N#<<&@NnAcf=bHT3ZX8#P?ds*8 z7Pn`$qW|JDQD;@_-{;)++pj()>2q!4!Og2K2?oi=`fZf;o%Cq&=@<)x|bYx@{ zB&J{cy(;0mYllZUtCJeR+0y!7*ix3W@l&DTjQ^w##pFPvP-x_jcBDRLYk{{%c8 zLp@YNWPj$lAO5$gu(xCBDyE4CPo$m;bx@gn-};a6Rffy$UpfUU4(DsFQ0eJTKDJB! Q`3#2jMX% ssh-ed25519 qM6TYg z5yLpu5zJ9m7Ukl3nEHZND8Ot2cYnADJidYjELzfr0k -qy1n6TSeWniRFXLc1Zkpvz1+pmjFaMga0BeSE1q6RSk ---- fe6vqb3f0bRvXlQG4JglZ0h/At5kUPIM+VkRh91BCtY -".O J76~ԥSH-40 [vAD=^Ty"@A@,P|q!؊M \ No newline at end of file +-> ssh-ed25519 qM6TYg Ln9ZxoEmhHUMbU4PufH8OYVzEnvFEm+b/SlBfitqEhw +M0n0qe7L9peTLylt0uoTR4gQBcCxfSIm7FAR0mPeG5E +--- BzrHhLTDQ49g2GTkJdmLpdhRBp1rfdekcW+A26jzKys +G6?U'ry@b $MZ`@kv]6_۟Nق $!mVkgA]yW,d';Ȧ핒 ܎ \ No newline at end of file diff --git a/nix/secrets/garage_secrets.age b/nix/secrets/garage_secrets.age index 7f33bee..ce127e4 100644 --- a/nix/secrets/garage_secrets.age +++ b/nix/secrets/garage_secrets.age @@ -1,13 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg jJSJ3eWbmwKqaqaH0nCAfJh6zG0wQ8NHYLch6MjVFiM -nzMK9xuag1meleJVM6aNGK3Uj+LDiklWtAbEsEVaZrE --> ssh-ed25519 91VHug lgN/V9/OYL6qvoDo54bMwkRjgJx72ER4rwCyBLE7JBI -KyqOc40/5iNubbk3vuF6e5qypscUNWGXSO+TvnE60Ug --> ssh-ed25519 XzACZQ MH28c1eBXCHnnmWeEiKbB7qnqIWb11ciYZopRwK1lzw -kHr78ot/c9JS7L+uWk5XhCwZ8y41cEkCfjiv5ITHXpI --> ssh-ed25519 51bcvA JbXk+iiHx+TkrosjfP28iGjQQ3lNFlo6L7ebmOmOJzs -KQH6qVfm+48U6TzaomwPQJP3Xs8JCX1JDuVNu6+djUM --> ssh-ed25519 vT7ExA W/tG8Jk982TcvMP+ZVY1Jgtk/0ykGlKT471OloV68G8 -9/ieFx+uf+zLUKfWtIYUiEyHHkwYLOhX8FtZP6oup/Y ---- Nr1pkXNHv0+lBg4J3QnK4f5kM3ZOWjwTCwjUYNMRABk -UsI lNdL^q/PD\%s4GCϺքag|-f+,|vpj].L=U_?bG&Yw|f~4qR*Lx$ڋYPrEN,jWz#K@̧#7"&Ξ=GxN.nO7c}fczT \ No newline at end of file +-> ssh-ed25519 qM6TYg Nl4yCNn9+FiX2uBliOH052tOjnTj4DcFzaIDjD2MVTY +aU848NDVI6MN5JPm9FRha+HJySIEyRRcNaiiBRnxJLY +-> ssh-ed25519 91VHug HfzLsV+15VwIFXz9mYc3dNdlFnb2MdqOMIV3DkxnJmQ +Fr2LDl/Z5Tn9FspwZynbCvK9Let8VWGAr00lf3Uhj14 +-> ssh-ed25519 XzACZQ GWXW5myuKkabbJwdW3OsHl08KBo0wu3dJXXo13xYjR4 +SYu+6yj0om9BHFoJH8wsDPEbQCQy/oAp1jRW9wX6Ys0 +-> ssh-ed25519 51bcvA nenOCUH5VZ2j/u1fv7mD/2hZufU6KWY46UZwzINXSSo +GbQOiKQ6ko7RpuYvmtUnf5wzNrKpR/FHkrYHhRzURDw +-> ssh-ed25519 vT7ExA 8/Cn92m/Qtoo78VSNEYNrC4HqoIKxLyvT7A0R0CpE0U +rehfI6pEM0nAv9AQAFa3g/PTd4uvc8zwWLAVAgoq3NA +--- fHz+V2yXufeCvWNZ4Eu+vAdPYBoDYyuUlXcrTo8O/88 +ru^+=$!1 +rF-NHr+2z>Fiw`ˬ024(3 իH=ay$tV|H I d2_` dr?PM bش%qho"ߗlzs;r{XuE n)'!VZ֘܌u \ No newline at end of file diff --git a/nix/secrets/generic_backup_password.age b/nix/secrets/generic_backup_password.age index 5dd7134..d009691 100644 --- a/nix/secrets/generic_backup_password.age +++ b/nix/secrets/generic_backup_password.age @@ -1,13 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg WSRKNimMa2qdIrTxZIsnybHi+gzOweCGmCx2D3DPciU -e6MO1QIL5FI0ATaR8hBUeE2ayLoyP4P7d5eO7liMBHg --> ssh-ed25519 91VHug JZjoc5tcVSQjIpbVGVca4P2s80Rb7NTIEKPhlXx9wQ4 -QWqufjXwphL4Kes5Ky2tWozdusA5AJwqgzT5JWCQbvQ --> ssh-ed25519 XzACZQ ek1dpX4Lqf6hd13B0dX06tTTmNRhZswxV3W1gBLKkXk -LQMnAxrr3ZfUc3Brn39BzIdyBe8Jma8LSML+eaBuKJE --> ssh-ed25519 51bcvA zA9GHEGOXETl9zX0yoHHB9B5On06KlEcYRba8eKGKEo -yPTcsFhDLiSLpWoZX0b7dNzZmBaLTUY8PSMVFCUzlRA --> ssh-ed25519 vT7ExA N7U+hiTEzwKvglQ0At36e/p0TTA7xVRb7UvuX/4Bbjs -acP9zBODifOsHVmM7COfBX+tkxZIPnQCUR0TskHacQ8 ---- tOLU9ascA2rI4R0oIg/0vsn2dEC1LBLFN6TFRcyrcvI -{đq.忳U َcO)|¥,+^]?PĻ$3m4Ǧ|c).R6@r] \ No newline at end of file +-> ssh-ed25519 qM6TYg Kmd5m9hb9QXzbbrLWC3SLcUfy/B8bEWdJMQ1iMe5MQ8 +A4ZoS84dtX+DMOzPXOMBb402q3o6LBExOda+Rm4hbO0 +-> ssh-ed25519 91VHug rXXXRgZI91mIlLAclodKDk3V14pDyRCv5kg1RCB7AH8 +CzC46ry6tCYkDX4jTW08j7Itqjb0raz2nlmU5/7zLCc +-> ssh-ed25519 XzACZQ KbzLsMTNqcjJ2I+Bx5moRC74Z/QKHrbFVovC5hhm8DY +aAGFH0KBdM+nm4HyZ0X7MPc3+fBbcQrQAcvrK0F7LNM +-> ssh-ed25519 51bcvA qv9cje7I7Sxje9xV0DghaxSxyovB37O3B1Bt6sHp/Bk +2zEnhhy6dIOWMdbQE54xtQKfZjR2vTH+Z4son1/gYr8 +-> ssh-ed25519 vT7ExA voN3ZvXhhqv4V9FpVTd2ViydPgxvjpQpeUcH6jljen4 +sLjK4aWqGSlxxeMKPrIZCjw4tsz95C1R498bFZgBMVk +--- Kfk+aieCFtZiKPE8toWEZwZw06sELpx1FiJCVDyLGcc +uM?C0Z& rSgWp8{*6yqð% \ No newline at end of file diff --git a/nix/secrets/grafana_admin_password.age b/nix/secrets/grafana_admin_password.age index 53e26d016f5a27b6d294582d9e5223cec9fec302..eecd4fcc77a12ede5288eba2af310304e06ef44f 100644 GIT binary patch delta 246 zcmbQmG>d71PJL2ZifNFCXPQ$$c9?mXmur}#er32tVwPukLB5$!vXgsMwzf}Jj+cRf z0as|Tsc&Moi*HnxSxRAXv3XQ(er{Swh@o$=OPIEMQCgC-n@^f=a%O&>0hg|>u0myi zx3goQxqgI2a7tNKh(%dgZb49TR#I|GadJwMsaJY#WPYi;pGj^&XgQbBGoiyN=C1!Z z-Nn}RC~evNvFgoRVVi#@!RJ3b%3Znp`kvyyx3%ldw_3CBNc_+6H%rno=HAwwYx4F# zt&Dd6aNT?TOP9wx%V)k_d{c1p+)EahHnwh1e^d90rP!I_U69~J0S~p*-!B~j0F-5{ delta 246 zcmbQmG>d71PJNbVv9_OcPMK$LR+(3DwpUJewtIwWlvkBodaAymUzSmLrb%j^epzNv zIhTiFaavWnd9rhOu5(zrrF(&!n`xk5SeREXToSL?X^!{xr>$T>4_N3Rdt8ag_E8}JU(YM2 z{51LVYkIU7_jiweLH>0NK>=4D2)Q{V2r&kAh`i*zFRXrX(xC?;+Df^(b8Iv?pQZFv zSl)E1-hISbat4#8{xr4U>fcy*-cV<{cOf-fcS6Cx@Asm6cJ7}m6;b|Rd-F$=Ye`eQLgjr^!dAV7Ize{MK zBUhllW0Y};cTRbxX_0G~MQ&hlpqsvVsZ&LzK~R`$Rbp0(cT{PZyH8bFI+w1lu7X=> zmWN-tWl&nOd#P_^T0xenvt>qpc(G|_WMY9_T0Dl%5i=dH}+RN%Dtt^I{8vh6jhu} zFD%Sn?bXP(e%e+4=4VMKF0DIz!X|U!f^vW6v#F2clFZg~rnP@duy6a+RlJDz>E}~Z z6EkwxwjEEXZ;aQ>Hk^Az-fn^c%R3du>|>ACOf ssh-ed25519 yMKb8Q szKG8gw88EAiUx26fzY/pYMVb7Vb91FZC1FEQTYRZDY -0jBl8757lsXnxWE90iZLJcO5VUXz+E2+7m/ZfNq87J0 ---- huOResyzGVCip/Sdoyvid3TxFI01wiXNaHdZ/oGI5Zg -*clHxAh5H(dU'nҘ;M.Vx}" f 9f~Jv9 \ No newline at end of file +-> ssh-ed25519 yMKb8Q lRux6HhczttLaNglBB4xdx7B4GUhs50ucnyYYYlNLzo +nxSaMiEcscZ62uEA3N4ssHN0Vc/fw0wRsGzUXHk5vyA +--- FpSXOah6uQRaHLOxdGNFF9Pud9NsjYDLhiXzqg5/Sao +x ll w\vS-!V]}g΃[>e;n0n!;L ++ \ No newline at end of file diff --git a/nix/secrets/killua_env.age b/nix/secrets/killua_env.age index 3633642..19d8d77 100644 --- a/nix/secrets/killua_env.age +++ b/nix/secrets/killua_env.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg mMvnBUGVS8d0di+drDXo7mws4Uz5T+nZmQY9uUpKfQ8 -rea2peORLvRF6qYtGKFnylyEdnV0NTc6QO3xSgp/y1I ---- xyeBOfVq3hwyckUma5LWOU9cWHzg/XY2f8T/0Vc+njk -G6kN0 !Um[rHꟉt}׊X'yqLbEY:n NHnHݰ'W|3z{٢'N&M`# \ No newline at end of file +-> ssh-ed25519 qM6TYg w8lK7Dhc3CzenrzJTI32uTNgXVyBUKJf7F1xGG6AV2Q +wBlK8pbH1M0NBeAFjwLyyuOKT2jk+o1BwjkQPNc9pvY +--- 5hl/tchAPOurJ+fDLDB5/l/MuqrSTjV2Pnhc1Dy7Uhk +a.A hUwq<.dzXМ&;ⶸ9ۻͮc:z`D XLʳh\Yǝ'U^+^3k5t4 \ No newline at end of file diff --git a/nix/secrets/knot_dns_rfc2136_key_config.age b/nix/secrets/knot_dns_rfc2136_key_config.age new file mode 100644 index 0000000000000000000000000000000000000000..48f95c0935a38f1de69cbe117509485000a7ae50 GIT binary patch literal 434 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUli3&A!O;;%ONzCyq zE6j3pE6Ptd2`Nf;EsS*W3o=hJ@o))?3M&l?C#HT99(<|H~D%Zm|*OklJG_TY=%_z)0F)**d)!jhbIL|ZD z-_*%H#KJN&I4m(=+pVC`KO?dv)Pze{S64ybA}}eh%rGm`%{(hKxX9bdvph1u+`^?O zJFqMy*k3!hGTbdPygWC>Jd*3Uz@*7PPWRe+@M!T&(h^;+GpS_T5w824Yqdo=cy*65 zwf1Zi&Gsnd-L4bnruB3K|AkfC_L$#r*!!~leZu`a-<)M5{$y@^yYRx73w}4ne9oFw z`aYjCHG9%lgRfR!6D_vrZ*|M^uiW!~0rRy|-u5H&<^=6n6rfVsBzbeO)~lBPQJdmA Tm2AY#&J{(OFznVgJv$Eog&m=8 literal 0 HcmV?d00001 diff --git a/nix/secrets/knot_dns_rfc2136_key_envvar.age b/nix/secrets/knot_dns_rfc2136_key_envvar.age new file mode 100644 index 0000000..fc3744f --- /dev/null +++ b/nix/secrets/knot_dns_rfc2136_key_envvar.age @@ -0,0 +1,13 @@ +age-encryption.org/v1 +-> ssh-ed25519 qM6TYg QQMDIquZuxMKwx2hl2ST9BMXa61DBdC/cMUutcRIRHw +l7oENezyJwfJHrgNUtFMfOF08BhAYWQOjW8v7VPN/aE +-> ssh-ed25519 91VHug wQBzeFG2xixYU5L8/d81n5FkZMqO3uCSF60Xi80mvnU +nPAgKpJj7WDJ4tbKGnlWAhvAUOyLIyOY3aPofKM0LfY +-> ssh-ed25519 XzACZQ HYj1Omcc8WYq6s9l5hVrjjibg1LFHnkYkXiPolGewws +uhrQ6nmP5fMApIJzUzwXcnlILdPvmlG4QhG1laW6alk +-> ssh-ed25519 51bcvA e2Xng7rC2SkYiDn5BRTIDBxn7vN/F95hI+okWL9TymI +7TJrZQlJsnGMu5jaFQllI1E/+ZGHZjGmaUpuNZSAPDI +-> ssh-ed25519 vT7ExA PSM21ZGF9T9g6rxnsCv3rAio1f5KckTHgivfclDjFFs +rq3M2R/LHYki4nQ68iFoLXH8VVmWyBDD6yv6y4tt5qQ +--- KqTQhyl3ef04vDQ8eu1IvTsEaSMYtQxxBAcIO+WYPr4 +$Jk#_Fr"B}~P@.e܅YSL;Pz &0DiKJ^:Oc'+ \ No newline at end of file diff --git a/nix/secrets/loki_env.age b/nix/secrets/loki_env.age index 3b49086d19e726dbfad8e15f94fcd8e5cc54bd5c..1c8516506264c2b2c5da1bb3f9d11636581662cf 100644 GIT binary patch delta 291 zcmX@cbc|_&PJLofQj~vYMYfxvb4jFUzH>#oM}(nsxshppRc=X`iAQ*`n`fj!ahiu? zIaj4+K$(|GQA%=ZX`*?ciF;UKm4T&qRB>uvv3G`}MS+iRmV0Gsl7U%8B$uwPu0p!A zhhdacmVQK8X?anJS8`TZM3JSXe~5*ppShR6XO2gTX?;b0T2{G-Wj;koCBCs+Qw_3$x;cU9S6O>)-b7U7Evkd$vbh zc5jYvQGQG-<7?ICNy?XZtl&Sr%r9}z);T)=#BD|8+_Jk$tvct(D@IRQ&~eCi#}766 uUEd8N?%Hhk_njzn=FZX!eEm09PF39gQQqjlX5ICzUQwOPMQRM+T>${#VRt70 delta 291 zcmX@cbc|_&PJLC9g=HAlXCzBW4 vP5XGkp;5~zXZ6GwnTP60k(?jcQhh^;pH7-J>r2o%1+G;`zbVQ|h8_R_hbwxo diff --git a/nix/secrets/minio_env_file.age b/nix/secrets/minio_env_file.age index c046394..05d0b31 100644 --- a/nix/secrets/minio_env_file.age +++ b/nix/secrets/minio_env_file.age @@ -1,7 +1,8 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg OO4FC/zdYJPzw8ujHG66sX2ShWSrWfCKRj1z9FYOwyU -84DDDS2TPxxoGxxaj4WLJN6zZfVIH7m1xC1mRMMzBaM --> ssh-ed25519 XzACZQ YydvMTzqlr24U79p1vCZ0DIB1DmLNxp/kLptb5WtmCI -KaJ0zuNwVsYr0pLRB2MJIix22xTdujqspFPISU3Q9EU ---- TzKmJkMsYD2ZS7LJw9qdVRsBeoxMPQjOyovIoopesMI -S p+rGF "19,kVKЪ鍆ShnhyldFX+ d; ssh-ed25519 qM6TYg sx4kKW1m2RrcVkyxDMdDgh5jcwfrRDAFYa0EJBZKFnI +WPbchNFC7tTqC4DrIw7hUZSNNxE64kkXZdXB6/VFhj4 +-> ssh-ed25519 XzACZQ GXDgzIGU4X6/oOr5hcI7SoorcowGPJHx/0X2+gj+Sk0 +NATuZ7IZ0QwM9/GtaYdLXjBs6X0enhpVgWvGVpyqOO0 +--- xMESjwLO7fJhwd0HnYzypoh3s6YRx86vSdXovvSBoHg +9I{֝ʼؐZd{YrXB= +l] Hܴ`lRΙRw8Qi4*t#͂ƚmȟ+6hS&VἙ';J0] = \ No newline at end of file diff --git a/nix/secrets/openolat_db_password.age b/nix/secrets/openolat_db_password.age index 234ac01adf08871f277cf44e52c72bf985e07831..f9a3b40b61d31f84fb41d56446052e567d0aaabc 100644 GIT binary patch delta 286 zcmX@ebdYI+PJKvPctu!6UZ#6+kauoUs=sq&kb!AYqH(dYV@iZYNswz^Wv)-IwwJbR zI#;E$rEx`hW~ys;YOcRQPJUsiVNyV`Wk$GrnYW>-zo}zzj!RmIx21c80hg|>u0pY& zt9E3fb47AsVo5VM+lR56=5|UBXPi+=zD;I<&I;$Ev=%s2OahA1_gp49Z>g^ZeP97TsDL z53IFz)hR_EiMqpdvnR^JOFFz7>`)*wLOVujAFqy^orLLI0 z+a#lFzNl~UFSA=(!jg`qizl=79-L(4YZ1J|^s!IBOLXUbM*kZu>>Jl_z4l*ihO<(X ITlAx)0O4VKbN~PV delta 305 zcmcb@bcJbxPQ9~Vq-BnqUy@-~az>b=g;$ZYQ*c&PqOog6KzL4$r-^%*K~AViK(JS4 zF;|I^cVK#yrCWZ8zENdmR#sY?v!7u^X@Fl*dALD}uTPb$uWO=#QGQUMFPE;au7Zod zbB4BdrLT5+cA8n4lT%fCaExl5^EW_^%$sHvw>wgJ}_o_jXGFJE8H zqqF3i{j2+{8y8pGqy;C>x+M8;!DANwgWh!vE4RpK9G3VSX&U+eQ%#Gg#XYvA;-N1r zT_WF=+@Gqbs(sInwd|$dadDo`ZD$PD+id=AQ~Yepf;AuNzMZLKTirdOEcfBN$cHA| z0##XAzG^o5@pV4cYFl@;Gt5Buo5%C!bb)DtPQ8y)QdEwalTk^krIBw~NpPN@wxzb8OIko)gnw?9L9jukQDuaCN{X*> zAXlcBOGJcYntw)FR=Sf{o>8cqubD?~S!uRoSYDxPWN4n5nMGPrW<{k@HkYohu0lwj zr&B>tiJ`t%lBao#B>CSH3cw^nblr=Z8%%LsD;kaAv4oB0SMI zyL<22!wy>052|fei<&6L*vj&`e#6}#hE=B$8u!O`ex9ALRewHJtNc#>R%S^-*Wg7K E06PAAJpcdz delta 301 zcmcb>bb)DtPJNk=MVYsgnR#efxNlatrAeYoSU^NhV1AHxnPYNkNN|!{c9ofLfU`$< zF;}2vKyHYMU!YmGaeB6yc|c0CwsVG`W0hxRsk1?Na;0aIwzp4VXrXp?GMBEdu0np6 zTc}%TReqLbgk_>*u$f6_lBs`Xx>rhow`p-!khZ>wWqnXpc%r32c{Z03x8~M(WkJQF z^1o*p?ydWo<8kxThP_|r@NHjd7yGNevb1t3r~927OJkE4GnLrspDH;O!xDRaW`KQH z^8epo_Qnc2MJrnvB?T3`rKtW$_`hHm&+!7)dl!U`>L2siuxDLX(31Nf3f5@9bZ5V^ zr*{5qv6fdy)jnyfxk&Wsb*wwZm>=O|X)h!dc3rOIw4v3fwB`Iijf83(7+EvJ3PJLNah^ui`c8;^DqjO}Lf2l{XUx2TRS8+yQKypQHQd(-BK}cn~w|BTv zF_%$@uXA37iKTC*n}K7Yvzu>7ZfS(GeuZ~cezBQZQE_&*OIk{vXG&m5D3`9Tu7ZVE zNM&GIc~P!!K#HGFfVWAqyL)P0j;V{EQD{NFb75#;Rdz~}YguYlK_J&X#Txf-g~zYO zxmfEu&3kFIV-B<3bET)(j23kqla-t6xIyz+%Gcr;o&}dTy~|v`@13jSnRGKV#@{-% v;yXA44ku4K99Z$;(8TUZ23z{e1RGt#OwL)Y*>P$8ck9Ku@1LI3s3-;igK%Ni delta 242 zcmbQnG>vJ3PJNWOxocK%Mp1!zV7OmsacGreL`8OaWoS@fx_M%Fh?{w6R!CHkwoz!9 zD_3NpU#_`Za+;4xs(xZdRYsX-sYSY@my>6)w{d>HfthikcA!T@S-7R4FPE;au7XpD zlW}mGYpI*Qu}eUqMPP}0ex#+halU&{Xi{-_nYoXrPj+#NcY3j@TRE3(`_WG^OAZU> zeZR}A-nT?cKgeX3sf>kL_vAa(Z$#qiovz9yu1bFfuUl zIILLkSFrNd#1J*xO%CO^^;d(euHq+rJ{sqFJ}HIn>Ed$N3>w(q*XZTjh-y;dvO#a8Z`!E$v^T-B#s^S+(VQ%>i-k`6oc1@8TU!J6qluimi2K?ki2$Y%e04AZPM@P1Vw`J!@-oD>b*p&7bpV zN$Z_ni#yiqndMBJ$}Z)xoq8DZzui+OxTm(F_W19YGiLAyIkzQCGcVhvwAAxMFHcqd h)C{gw*6d1~H0pQ)p#!WmKMXL~3b3da83ks8di@j%iv%QkiR!e~D{wv1LG3 zK37qqVQ7wHQCOy%V|uA^PD-kOpuVS>eo=8^aFIc!d$4a-U~rC6n6X!IGMBEMLUD11 zZfc5=si~o*f~8@YM`^l3poO+icutyem3L}hvZY_Sfm?8qv#DpgM{;P9WpK8)ad4`B zYDGv+Xt7~BS5}%~fNNl;k70pXRl0tdt6NcKL~5F;f0kKEW~gs^M2cBjSy4q$NLp(7 z#E;_PJ|+>VrfIGbc@bgG>G`3#A$k7!A=(zfeibGm$rYuE*=EJwflj`m`e7DaUM2dW zW@TX^k!C6Wi53O=&QXq0X1UqHWs#0$RVLYHhT%qKzG;D;;YlWw;~B-nL&F1&6CjMPA|n#R%yN=*!;*}Ql1mFMLb9@Qiu5A`%M5(VBJy0ha?(Qsoq|H54D<~{-Q0^a z9ZkJ_L(9UAyuI|b-K+EiEh;SvvyBVf^Q%H9pJf!Uk4Q?&H}(v&NH31440JB_tnx2+ z3Xdo(b9Hj`$Tjk@%y$WJOb^U2%#JYN(hjMpFex-CH7^d#bF9pEFE7h9Dt2`W^z%+L z^moZl_suqNHA-_ab#zPT($&>f@D7ViD@iOchzxZyNH`xqEhUa79R}enz%-d6aQ(K}k|nNJVIXziVVwF_*5LLUD11 zZfc5=si~o*f~8@YM`^l(Z&8N6XHKz6RH}D)rcY6Fnwv$giFtXTWsYNbc7SD;cW!A; zm1A&`ub)#sSF%rtn{Qy4NqL2db5uxqKxs*qM__@csgFr{SWr-fpJQr(rDJ+(grT3w z#E;_P`4$;Lf$cpmtFY^pDjB?D+Eeh06&h*PPEXXsp^a{yH4NgrC zaY=Qn4+%7ONp&g;pSI`P$UX?xs?6T+qusD_zL@Rj-$9SP)E>t1 z_0IW~*=yWV`*b~1NXaC2~Xd|-3k<6P7mckR=kobRyyy34(W z>#w{|WbiMay#9>`o+dL`G53p4KGOcc%vk#$N1^8u9X-`Iu9M^VwIj>;ZSCfGh@Oc{ j>=a%*@j&rO`74|oVtqf&ox36CgwX?^*r{%hl|BOiO2z#j diff --git a/nix/secrets/s3_mc_admin_client.age b/nix/secrets/s3_mc_admin_client.age index 0287a9e1812413cb2bad3df29d28aaf92c638e81..ba1bd5299017489b97c386061fcdd017e897790f 100644 GIT binary patch delta 824 zcmbQhK7oCLPQ9y>TVQCCi)V#@nO|l~SxKf_ex;>BL~f9KZlH0Lvvam-phtkWsiCiN zBv*E1fpe*gQ=)lTRfM5Qeqw}+et=hHly9L&Wq`Sdqkp7%NNHF|nTfNJ374*&LUD11 zZfc5=si~o*f~8@YM`^l(K}B(~K}5NCL7Jm}SXzmJxm#$JTXC>KR;Wo%YNWGyvUWjw zW|*&jWM!}`SD?OsS$R}gMY?yMXIZwVe{f}CiLsNTkz;5?gmb30p?_M2VX?NGesXB~ z#E;_PjsgA_Zeh-TxmDpVZoZa=`kqnAKE7$?`jrLFd4*L)+NDMjW-j45{_e?K+POJ_ zArY13ff+_VhLQe7VIF2Kjz(Ek6@hsX>7{x4E-sFl-eKluxgoBT;~B-n9kYtcL-JfJ zUHvi~i;|Q4E6sDwBXc7w{Ves1Gs**#!_sns%RF)n0>ZMnii$%#BXTNDBl5#5f?O+$ zLNar6+$~LglM+jPEOR~F{QbOA@**lt!a~X?pJf!UPbw?(4Js(GEcQyx@=MN4bf(9dvoPx3HJEDJC!FZC$QN{TSEsERc7aLo>IjPi^M zD>n73w{XucvJ7!4=F)HWn?0xIfyK@bnrk$edlQd%T@$TU576bC#&zr3yW*39W#5l8 zG40l$QR{imWP{(y#UYx)hn%0hi|KVMmQea}IQh+{pJ$fkn>_s@UR@x6-|KYfgsmn; zN2LRJJbmhS7sMRtF!MjyWVv}!asT0qFA^HMvQ;`#FV{=u9y`?G-lyN5qGiisYvrSJ z;M}!3U3aVaLriAtb40#h=;E2VeukLBm2d3Fw+H0?UAZ^#LGV>8&%?d*q$UJ>Uva>* z^qg~V_Xlsk@MQU;JCB7cU3>2ktHRWET=M-=r>)vWv0a8wUvt#fvv`J0o?&bl!p|pN zZNkeha6dwei#=OETx#8h#@L0ktyk8kTULd5%%30r*mm82i>sZpO?R|DzxugE&_%4^ Ohl4@(%=iC)c>@5rggAEq delta 824 zcmbQhK7oCLPJLB)gjs5?nYNL$xvOt-fm3EyR;r^%wohnKSaC#nzNw3kxleXbXr_~s z0auxMx|5l6skxzLo?o_mq+dmDfR9_TN2y=9v!i>tv%ZB>X<}h`nzv(^0hg|wLUD11 zZfc5=si~o*f~8@YM`^l(Z&{_6zK2JCZc?d5Xoi!Kv0G6@o^P^6j-f@Fp+!|tihET_ zm1lT*YD!f;S6-I8SxJgX+@5kvsY>0 z#E;_P0mhYS-sNdIRUzdmF5W&RA!&YjX6`xJp%&VXMkYRqemMczCXp`Q9(j>mu3`H6 zDV7C36-k*UDS-ju+1}*^<`yCPeopS*ZYe3IA%UKGi5b2wo}OpWuo4E*zQiql=)yi7c@iriey zt2_$xoqQwA1H#KJ4RYNg0+Xt=3yVS{QUgLKpJf!U4=9Xq^GPWvvha^`cXadhH?VY1 z^l)-13{EmM^$9i$cM5bVHwp{YHpp}2@+@(6HuUx^@eQqX$x87kO>s{4%e5%ej!X)5 z%nYhB$Te}P()M#V^2svb($&>faL@EJG&3l74|CQ|F(~!S^Kg%FP4UTbj>yvY4EC*b zPfskXFU|AyGYSeQ=5o=z{d}Ifz0UN&IXPDa3)!`$C*$GfZ?hEq^G-9LD5o zaVBS{DEq1W+fJXhPV~@z>f6?RbH|hrR&^1<7RjzC<@(N!zkBoQT6F||H;A6@c;-0e z=;wZS?uFO(tU27fyiVcka^>3hnvb(2zPz0K`oz;eO&?DP6^fpm8Fk!6zkc_j?m0jI zzCB@|lB8I9JFnv+tZwvxN_L@S(5#0eec-%hBHwmO1o|esU>_%F4ir1D{7|gGWl2G!GPA~TIuuhn6LwlLY|S!Z*YK diff --git a/nix/secrets/secrets.nix b/nix/secrets/secrets.nix index f9fed44..f02c447 100644 --- a/nix/secrets/secrets.nix +++ b/nix/secrets/secrets.nix @@ -33,6 +33,8 @@ in "does_it_build_private_key.age".publicKeys = [ vps4 ]; "immich_secrets.age".publicKeys = [ minipc ]; "paperless_env.age".publicKeys = [ minipc ]; + "knot_dns_rfc2136_key_config.age".publicKeys = [ dns1 dns2 ]; + "knot_dns_rfc2136_key_envvar.age".publicKeys = [ vps1 vps2 vps3 vps4 vps5 ]; "wg_private_dns1.age".publicKeys = [ dns1 ]; "wg_private_dns2.age".publicKeys = [ dns2 ]; "wg_private_vps1.age".publicKeys = [ vps1 ]; diff --git a/nix/secrets/upload_files_s3_secret.age b/nix/secrets/upload_files_s3_secret.age index 631523c23af390151ecd68122003ac31f9178bf2..003343f8300afc5d5371610bd1c34e05be4f37f2 100644 GIT binary patch delta 440 zcmcb`e2aO4PJKvlL7st+TWL~SL{7SqzoUL(l~JluRiR&id0tS2mwt&)p?`sQXr*7e zD_3?-ibu7Yn! zfn}+_yRlbNfOkM)Vz^JPp+|6GU}R{jS&?bFp?;K8R=r1YNrpv;ZzR`|kYlXQp|w^8W3dw9I@pd-&X?{y=akMVomb#}AZt>47)(dnRhq2ZON%kpnes7-h@ uP3N*>rILik`$mNy7Zxt96KrYpKjczfw9Ak+u<@^kA=l>5nP=Cqp9BC#^}HDX delta 440 zcmcb`e2aO4PQ9~1Vp?gQb8>iEilbw0X=$RFZ?Q#4enD}HetC#dP;p*jn0|?mg}$ew z0av-3PqA-QZh&8Ierk52Ym~2JRBl04x?6f`n4^nvwv(k(MNU+zbGnC-1(&X_u0lz8 zm0NIHh^bMDiJ@^oNkNK*ad}cjgkw==qCr_sm`P4valLbyPo$+`hyj<&qq}@vTPEDm z>CXDiQZtt>{PeZPE8W&H#nl6 z@+fcCkMuQ1Ix;qyv^{M&v1tFlHK`2e1>W3^kNHfcz95b zFPCwFb6U2czgJ{sVW_9EMMhRhM5TE~dU>#^rBg*oR%KyUUQ&QZvafN51(&X_u0n}^ zN>D_ZXKrCgzH3Bcc)E9nnWb}Dg;{DyN_ei3Yh}7mV0~tYX;4s@mkHN}*}AXlMN>Yp zr2YJ@@YT^_i>GnYx7tYo`+jf;?LMJ*JT@h4_2OS{8&=yIFXN2ZvuE|pcgfNpe3+MU zyByMHy&k61bH$CZ{_=yKRV-`_Uz8OsJ+?S7%{$`l?Xh>V){8YS54Jw^eyka2_Ko2~ zZ1~ycZ)rZc3lpd6Rdl{_?7RBr0H4OAI>BdsY17+21u8Z=yx+9RHNqjP{p~iz6SGZc Nxhvb|Z4Un<0RX1wfLH(k delta 309 zcmcb?bc1PvPQ8<{hqq6$n`3fChO>4~X=ZAWg?_1jL`Yahc5bL?cu<(Xt7oL4hpV@T zD_5#-VT!(YqD8i)WvRALNkp1oS-N&`WOk5$QNCHeW0`reiJxzof3l0A374*}u0nCL zXH|x=cVIz=e?>)9nrE?RWV(fcvw=lrp-)PpduDQ#Z@sojxVfpjZ$6jOpHE4$7t;L} zerIC}QYrNps{SY$arsTP0LzXqcnsr@5G6=EgVY zJ}+kwI=7&)_(HJW&OMc(T(_p#gs{I^=CSVEquaLwMGaTP+sSqJl$fm7&HCThf8)an Mj{kz(*0vmy06>*{umAu6 diff --git a/nix/secrets/wg_private_dns1.age b/nix/secrets/wg_private_dns1.age index f218338..59f797a 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 OKL541Y7HQSCBtUqWQVdIxZK9HiWeaPyAWwkcj/bsgs -PviTqNl4VLbQtErGDpXFEJSeRf59Mx0v3qcznEZ1tTo ---- yRq8T7TGu/yBKFx2r+t8gbohrUHDkyXdvsB3n5csgpY -kMQl?N'!.LlLBoDY:_Vctci= 3rKvMfDu \ No newline at end of file +-> ssh-ed25519 LZU5Eg YCaoZYLxmyrcSVXaTqDeC25n7lwuGlTDfWPNxg9etn0 +xSVH1o+ITY39M7X8FNpj5liEW/20HTq0ZRxsoo3U8JQ +--- i8MfM8cVg0SJnNqUYeTQ+dY2FZ6yEhIGkiHgxBzTDYE + +F0eҍY-{sh]ƬfApB^1e0!3s"j@=rRs(+" \ No newline at end of file diff --git a/nix/secrets/wg_private_dns2.age b/nix/secrets/wg_private_dns2.age index 536fb4ffc998396a24d6837bae31af7b0789ba95..64d55f036090e8040dab8ceeb11936677d515df6 100644 GIT binary patch delta 220 zcmZo*YG9h6Q}62HsITu4kQou0o*Qo9ky2@Fn&IbCrk_`8Smb7E;GdJ_6>i{Dl%1Db z%vDupnCP9FRA%hxmgZtvVd!VzQ&{R-k{sqAoSjw@m>3Zmm1G$dVp&*}&ZVoXt56!G z?PzA0Y+&S=80uc?l3{6Jpq*aflN%Y}lW6W2YMJSg66&95;E|c-=E@~`Pxk54{L-CM zJEfnl{=B?;n%KOLKT5M}rJwqGg|5Hz>df=nD<)Qpem62~(l-6bW9QOXvgy92?iuH; X3!K^d_s=o^pWt+NS*iCswX??nz4BG{ delta 220 zcmZo*YG9h6Q}6AUZt7~0=HsJZtYS-r^cDWvu|T-mCsjhX~CgU$&l}S0NzrLTDcPHgu{=Uu1neFTv0)IKG-*57I Xv9@>GzO|Psk4sLSV8?QLMeG#-Z8KNY diff --git a/nix/secrets/wg_private_minipc.age b/nix/secrets/wg_private_minipc.age index 2fa88e6..1d0e1be 100644 --- a/nix/secrets/wg_private_minipc.age +++ b/nix/secrets/wg_private_minipc.age @@ -1,5 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 yMKb8Q 8ESNEQZaTfjWl4qGZJV/GPN+tFozDmiZZtXCctRD8yE -w2+Pjzmotz2X0O8ehb3TTOLk9YCk8hqRqNKfNNnLQIw ---- pfmBROvSCK/41HS44uMmwU5izVCyHrRirYjL/WBAhZQ -m *Qv"+JQ Ā'PhD>GJ]ĠLݩ N̤ۀ \ No newline at end of file +-> ssh-ed25519 yMKb8Q QdFcYSyIYFlrx1vOfnWaFzULi8AxYIpH1HXLRZzs+iE +3JG+l7U6AXmWe/H9J1B3dFjD+GCNRM4wsNWR0CHU0PM +--- UXqL/EG0JYwnV4Owi0Gy4BnpW7QkgiF4z2P9Qskfq4w +@ +q,YL3)eqaK@]exC +tv-G!}Ji$=* \ No newline at end of file diff --git a/nix/secrets/wg_private_vps1.age b/nix/secrets/wg_private_vps1.age index a9442703dc960a7f1486f18065350ac5cf14f3be..5dd33e1a86e3ce1990b794961fd8f04b5fb08578 100644 GIT binary patch delta 221 zcmZo=xl0TA5Rs8tLqr;vZ;K z&ZS=vkZ)A!lIs&>=~nKat)H8osqbQzmTDdnY?K!jP-twL6Xcd;?(LHq%B8ETt56hZ zP*h$~S{7*<72=VZ98{5}?Gllet)G>l?O7C@mRaOu7FJvtmYkmCkC$uooFC!Try?(6-d*MgSFblm(r!Q;ZTnzNnmuAe_F4OaInS${Fj!uSh+ ZmY~PMiUK$8&!--)IDeJ#f6~5v9|3YJgq=>5~-|Q10zwP!N{r<7Vs{ z%H`)_YU!2kUE-B(SrY7m0anl9U4(!78Y8W7H(8(5y>^J>_d;p$2GRh z>ls)!Uwjv;bLQ@h14Yu6O&07I^}_hu_PI~usgJYceRJ)hxaO4^vCn)TPVJpr5y$v! YL(hd!--c^bc8iEDjaeM_*rjhV0B`S8KL7v# diff --git a/nix/secrets/wg_private_vps2.age b/nix/secrets/wg_private_vps2.age index 3cf2891..dbdcbd2 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 91VHug nuqwTTdoNOLWvbQAIhl9WguvArxG0jNfkFn3qM8VyjE -NvhMCreuxdWHezfH8cF4wXjO8ZbG7yQC8+sVnWFghFM ---- OGewUdFWzL1PzHGBHB7ulJVi5eX6UXKLFUyfbvGErmY -ʋ.\Ņiқ~`Q ,W;m pQTY Tz?]T-s4)ZP,6H5bԄ7h \ No newline at end of file +-> ssh-ed25519 91VHug MzqFl7ZTH4laSYXRYPbIiXadl/bqVXPHRM7wD5aLhy8 +Ng19G3jaJJr1s33i0kCHxIUQeTmoISTN+VQQD3rB33I +--- JkYGUYo6Ys48HI9UpXGardgf+k+DC71dxLiXqxMmFEQ +CqC!n ƈ,bA8"MeNьnM[(֡XͤX+~ؓSnKXi8> \ No newline at end of file diff --git a/nix/secrets/wg_private_vps3.age b/nix/secrets/wg_private_vps3.age index 5cb419d45a29ae348afb586c44bf9e0767d1f022..f9b5098fc0a5c5f760dbf1d7cd824ef9159b2cd8 100644 GIT binary patch delta 221 zcmZo}BCy&ZVoXtB~kp z85yEoY3ku+SZQqGlW&;o=2(?cnrv*G;+|)cnq}yn7M2zfn4RtG>dN)tm%w-Sk0rk* zvbP;h*>Gf;@RAd!SIhS12hg&%! Z7jI+y|K#)Dtr^r(bN(cgb=mrI~Wlk9UOZvtQj|anCM%y+e-E+g%X$sM5^%v02hx^{{R30 diff --git a/nix/secrets/wg_private_vps4.age b/nix/secrets/wg_private_vps4.age index 7915ceb..0674d3a 100644 --- a/nix/secrets/wg_private_vps4.age +++ b/nix/secrets/wg_private_vps4.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 51bcvA jfwnJ0gZN/FeF0krZ/ERWq/eqKBGwANBwea3xCJLeHw -x8ccoxcT8Yn99d6aWzZ667jUjE4dHPfz3ZIg9qG4xe0 ---- H0b14xAs2FTADz89JQx2eOSmAgN3Rs5A2o316xzISwc -@}`͠&9WjWSEH@V˒x[?Uu.~J*7ҷ< \ No newline at end of file +-> ssh-ed25519 51bcvA soCOaoBhsAvjaw29hw6Q9JkrLGbfQEwgszOIl38+CB8 +uj17MiT/crUT+LXF9TEylo131FV1cKQbNXQNWCI1djw +--- MAVo3X1mO0iUC0mEo4wbbDbK19hKxB/zEcfqfR4Bxsw +2}[I,sW/8KDkjzH,(nyߔ8uq.^PrͪCM`)1fy,XOҡ \ No newline at end of file diff --git a/nix/secrets/wg_private_vps5.age b/nix/secrets/wg_private_vps5.age index d870bc4..5bef662 100644 --- a/nix/secrets/wg_private_vps5.age +++ b/nix/secrets/wg_private_vps5.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 vT7ExA 5Yp0GcAOQbgRlxiIBgDt2O5NK0zoEN3PdUQOFsKtSXc -653+sJWsCeQpu6agZn85RU6GOrpMJY+TbzqRLbYvnaw ---- SYT84Omvncdv4tQYH7Put8sXqqA3LBR4/DuVyVCVbNg -v_AbL"fR6W6hepKeg,E;`"G xuVB^+k6 \ No newline at end of file +-> ssh-ed25519 vT7ExA Z8248Zxd0dGjx/YtU3cVKwuKMDRaHQpo6d21bwSOWz0 +/7PxJCz7yfuGuBWioDQMizW9+tL7Ku7JEB2h6aG4vmE +--- xEBearw/OGRugS23zBrNGj5zKY/bNsot+UQOcCEATWA +!p%~)6- Hy*e g pXѷӖk وm4bnx6de \ No newline at end of file diff --git a/nix/secrets/widetom_bot_token.age b/nix/secrets/widetom_bot_token.age index c9bb838..05e6159 100644 --- a/nix/secrets/widetom_bot_token.age +++ b/nix/secrets/widetom_bot_token.age @@ -1,5 +1,6 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg qE/RX7sfudkaWg+9A1jRP84PnGCC8f7y2Ai308kN+zg -LnySP1Ywe33ECGtFx3Un0+QcxH/IscCHao49nbuEvm8 ---- DYF2tyroJ1KnECqhUvzLyox9wULA/eEH5SdENW2fPVc -)nCzLb!P[>jl(9P@{;a#Bq#0+]-M\5{)laWkRCEtc3 \ No newline at end of file +-> ssh-ed25519 qM6TYg XJWJcqVabkHFOrbsNTS6+jc/pQ1a4D8lZkObT8BZwiE +DgFVt1+01MNlPm898/qnC0wGbs6eEsLcHpyANA5tpsA +--- VhhquCcml82lpKjXLecBoCz/2CHNl2S9htU2iIWfvyY +~'t/!Fb[k"yfiܨLGg!FqZaA3 +iE`v8<1Fmpx~)gc7R&%U'XDD \ No newline at end of file diff --git a/nix/secrets/widetom_config_toml.age b/nix/secrets/widetom_config_toml.age index af313d3a6781a81ffb4869949b5bf2718cd688b3..374e672200052d943c1c7ae3029b858fc3708132 100644 GIT binary patch delta 4000 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 BnneHr delta 4000 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 DEvlqk diff --git a/secrets-git-crypt/knot_dns_rfc2136_key_config b/secrets-git-crypt/knot_dns_rfc2136_key_config new file mode 100644 index 0000000000000000000000000000000000000000..61b3a36d237bff406f13e3dc15ff34ebdc0012c5 GIT binary patch literal 134 zcmZQ@_Y83kiVO&0DC=SS8fm#-SoOQ-!ar;0Em}H7p{lfs_qU);taX0;{LRv<<9vlB z|HS|1?iX7n$sMqN?{pM41 sLJqIHtZyxOW5qeu8ysH*4xG5mpL+er+iRll^fS!=NEoy#e@g!a0PL$k&;S4c literal 0 HcmV?d00001 diff --git a/secrets-git-crypt/knot_dns_rfc2136_key_envvar b/secrets-git-crypt/knot_dns_rfc2136_key_envvar new file mode 100644 index 0000000000000000000000000000000000000000..5bb8e79a0efe14fc85b94c13d4e21a0e027b6d23 GIT binary patch literal 67 zcmZQ@_Y83kiVO&0@DY)CC2OB~;$l?&{>z*%_BCqVn`a&*6jiojaY*liOz)$9x)bN# ZdMsBP(sWKE@T2+LE%s+lc=TOw0syQv9}xfm literal 0 HcmV?d00001 From 70d8a0e941e7d126c9d910a01166b07c8f58c044 Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Sun, 31 May 2026 13:22:40 +0200 Subject: [PATCH 2/4] gaming --- nix/deploy/smoke-tests.sh | 16 +++- nix/hive.nix | 8 +- nix/modules/caddy-acme-dns/default.nix | 13 +++ nix/modules/caddy-base/default.nix | 3 +- nix/modules/caddy/default.nix | 18 ---- nix/modules/dns/default.nix | 85 ++++++++++-------- nix/modules/dns/nilstrieb.dev.nix | 5 +- .../dns/noratrieb-acme-delegate.dev.nix | 39 ++++++++ nix/modules/dns/noratrieb.dev.nix | 13 ++- nix/modules/home-assistant/default.nix | 26 ++++++ nix/modules/immich/default.nix | 10 ++- nix/modules/paperless/default.nix | 10 ++- nix/secrets/backup_s3_secret.age | 25 +++--- nix/secrets/caddy_s3_key_secret.age | Bin 904 -> 904 bytes nix/secrets/docker_registry_password.age | 8 +- nix/secrets/does_it_build_private_key.age | Bin 1916 -> 1916 bytes nix/secrets/forgejo_s3_key_secret.age | 9 +- nix/secrets/garage_secrets.age | 25 +++--- nix/secrets/generic_backup_password.age | 25 +++--- nix/secrets/grafana_admin_password.age | Bin 282 -> 282 bytes nix/secrets/hugochat_db_password.age | Bin 339 -> 339 bytes nix/secrets/immich_secrets.age | 9 +- nix/secrets/killua_env.age | Bin 293 -> 293 bytes .../knot_dns_acme_dns_01_key_config.age | 7 ++ .../knot_dns_acme_dns_01_key_envvar.age | 7 ++ nix/secrets/knot_dns_rfc2136_key_config.age | Bin 434 -> 0 bytes nix/secrets/knot_dns_rfc2136_key_envvar.age | 13 --- nix/secrets/loki_env.age | 8 +- nix/secrets/minio_env_file.age | Bin 397 -> 397 bytes nix/secrets/openolat_db_password.age | Bin 321 -> 321 bytes nix/secrets/paperless_env.age | Bin 340 -> 340 bytes nix/secrets/pyroscope_s3_secret.age | Bin 336 -> 336 bytes nix/secrets/registry_htpasswd.age | 10 ++- nix/secrets/registry_s3_key_secret.age | Bin 364 -> 364 bytes nix/secrets/restic_backup.age | Bin 784 -> 784 bytes nix/secrets/s3_mc_admin_client.age | Bin 912 -> 912 bytes nix/secrets/secrets.nix | 4 +- nix/secrets/upload_files_s3_secret.age | Bin 474 -> 474 bytes nix/secrets/website_s3_key_write.age | Bin 344 -> 344 bytes nix/secrets/wg_private_dns1.age | 9 +- nix/secrets/wg_private_dns2.age | Bin 256 -> 256 bytes nix/secrets/wg_private_minipc.age | 11 ++- nix/secrets/wg_private_vps1.age | Bin 257 -> 257 bytes nix/secrets/wg_private_vps2.age | 8 +- nix/secrets/wg_private_vps3.age | Bin 257 -> 257 bytes nix/secrets/wg_private_vps4.age | Bin 256 -> 256 bytes nix/secrets/wg_private_vps5.age | 8 +- nix/secrets/widetom_bot_token.age | 9 +- nix/secrets/widetom_config_toml.age | Bin 4006 -> 4006 bytes .../knot_dns_acme_dns_01_key_config | Bin 0 -> 201 bytes .../knot_dns_acme_dns_01_key_envvar | Bin 0 -> 89 bytes secrets-git-crypt/knot_dns_rfc2136_key_config | Bin 134 -> 0 bytes secrets-git-crypt/knot_dns_rfc2136_key_envvar | Bin 67 -> 0 bytes 53 files changed, 273 insertions(+), 168 deletions(-) create mode 100644 nix/modules/caddy-acme-dns/default.nix create mode 100644 nix/modules/dns/noratrieb-acme-delegate.dev.nix create mode 100644 nix/modules/home-assistant/default.nix create mode 100644 nix/secrets/knot_dns_acme_dns_01_key_config.age create mode 100644 nix/secrets/knot_dns_acme_dns_01_key_envvar.age delete mode 100644 nix/secrets/knot_dns_rfc2136_key_config.age delete mode 100644 nix/secrets/knot_dns_rfc2136_key_envvar.age create mode 100644 secrets-git-crypt/knot_dns_acme_dns_01_key_config create mode 100644 secrets-git-crypt/knot_dns_acme_dns_01_key_envvar delete mode 100644 secrets-git-crypt/knot_dns_rfc2136_key_config delete mode 100644 secrets-git-crypt/knot_dns_rfc2136_key_envvar diff --git a/nix/deploy/smoke-tests.sh b/nix/deploy/smoke-tests.sh index 5054a61..d2a939c 100755 --- a/nix/deploy/smoke-tests.sh +++ b/nix/deploy/smoke-tests.sh @@ -4,20 +4,28 @@ set -eux +check_single_dig_answer() { + dns="$1" + type="$2" + host="$3" + grep="$4" + + dig "@$dns.infra.noratrieb.dev" "$type" "$host" +noall +answer | grep "$grep" +} + check_dig_answer() { type="$1" host="$2" grep="$3" - dig @dns1.infra.noratrieb.dev "$type" "$host" +noall +answer | grep "$grep" - dig @dns2.infra.noratrieb.dev "$type" "$host" +noall +answer | grep "$grep" - + check_single_dig_answer "dns1" "$type" "$host" "$grep" + check_single_dig_answer "dns2" "$type" "$host" "$grep" } # Check DNS name servers check_dig_answer A "dns1.infra.noratrieb.dev" "154.38.163.74" -check_dig_answer A "nilstrieb.dev" "161.97.165.1" +check_single_dig_answer "dns1" A "nilstrieb.dev" "161.97.165.1" # Check the NS records. The trailing dot matters! check_dig_answer NS noratrieb.dev "noratrieb.dev..*3600.*IN.*NS.*ns1.noratrieb.dev." diff --git a/nix/hive.nix b/nix/hive.nix index eee6101..347f10a 100644 --- a/nix/hive.nix +++ b/nix/hive.nix @@ -24,7 +24,7 @@ wg = { privateIP = "10.0.1.1"; publicKey = "7jy2q93xYBHG5yKqLmNuMWSuFMnUGWXVuKQ1yMmxoV4="; - peers = [ "vps3" ]; + peers = [ "minipc" "vps3" "vps5" ]; }; tags = [ "dns" ]; }; @@ -88,7 +88,7 @@ wg = { privateIP = "10.0.0.5"; publicKey = "r1cwt63fcOR+FTqMTUpZdK4/MxpalkDYRHXyy7osWUk="; - peers = [ "vps1" "vps2" "vps3" "vps4" ]; + peers = [ "dns1" "vps1" "vps2" "vps3" "vps4" ]; }; tags = [ "apps" ]; }; @@ -98,7 +98,7 @@ wg = { privateIP = "10.0.2.1"; publicKey = "ecYfTot7RrJyNebSZTQ1wciOhvrpNSSbkR15twpSSl4="; - peers = [ "vps3" ]; + peers = [ "dns1" "vps3" ]; noEndpoint = true; }; tags = [ "home" ]; @@ -320,7 +320,9 @@ ./modules/immich ./modules/tailscale ./modules/paperless + ./modules/home-assistant ./modules/caddy-base + ./modules/caddy-acme-dns ]; system.stateVersion = "25.05"; diff --git a/nix/modules/caddy-acme-dns/default.nix b/nix/modules/caddy-acme-dns/default.nix new file mode 100644 index 0000000..e5455af --- /dev/null +++ b/nix/modules/caddy-acme-dns/default.nix @@ -0,0 +1,13 @@ +{ config, ... }: { + age.secrets.knot_dns_acme_dns_01_key_envvar.file = ../../secrets/knot_dns_acme_dns_01_key_envvar.age; + systemd.services.caddy.serviceConfig.EnvironmentFile = [ config.age.secrets.knot_dns_acme_dns_01_key_envvar.path ]; + + services.caddy.globalConfig = '' + acme_dns rfc2136 { + key_name "acme-dns-01" + key_alg "hmac-sha256" + key "{$CADDY_DNS_RFC2136_KEY}" + server "dns1.local:53" + } + ''; +} diff --git a/nix/modules/caddy-base/default.nix b/nix/modules/caddy-base/default.nix index a33e7b3..c77a7d5 100644 --- a/nix/modules/caddy-base/default.nix +++ b/nix/modules/caddy-base/default.nix @@ -6,7 +6,7 @@ let "github.com/sagikazarmark/caddy-fs-s3@v0.10.0" "github.com/caddy-dns/rfc2136@v1.0.0" ]; - hash = "sha256-m5RHlrheqzoGqKQxixq+xTd2hlnCTets9zCT7aFka8g="; + hash = "sha256-EGkboqppRr2xcZ+7ie+WrqdP8sHSoouX4STl4NajMYs="; }; in { @@ -32,6 +32,7 @@ in format json ''; globalConfig = '' + email tls@noratrieb.dev auto_https disable_redirects servers { diff --git a/nix/modules/caddy/default.nix b/nix/modules/caddy/default.nix index bec542b..207821c 100644 --- a/nix/modules/caddy/default.nix +++ b/nix/modules/caddy/default.nix @@ -7,9 +7,6 @@ systemd.services.caddy.after = [ "garage.service" ]; # the cert store depends on garage services.caddy = { globalConfig = '' - email tls@noratrieb.dev - auto_https disable_redirects - storage s3 { host "localhost:3900" bucket "caddy-store" @@ -18,21 +15,6 @@ insecure true } - - acme_dns rfc2136 { - key_name "test" - key_alg "hmac-sha256" - key "" - server "dns1.local:53" - } - - tls { - dns_challenge_override_domain "nilstrieb.dev" - } - - servers { - metrics - } ''; virtualHosts = { "http://" = { diff --git a/nix/modules/dns/default.nix b/nix/modules/dns/default.nix index 7d1c858..3970d45 100644 --- a/nix/modules/dns/default.nix +++ b/nix/modules/dns/default.nix @@ -1,9 +1,9 @@ -{ pkgs, lib, networkingConfig, config, ... }: +{ pkgs, lib, networkingConfig, config, name, ... }: let metricsPort = 9433; in { - age.secrets.knot_dns_rfc2136_key_config = { + age.secrets.knot_dns_acme_dns_01_key_config = { file = - ../../secrets/knot_dns_rfc2136_key_config.age; + ../../secrets/knot_dns_acme_dns_01_key_config.age; owner = "knot"; }; @@ -27,42 +27,57 @@ let metricsPort = 9433; in services.knot = { enable = true; - keyFiles = [ config.age.secrets.knot_dns_rfc2136_key_config.path ]; - settingsFile = pkgs.writeTextFile { - name = "knot.conf"; - text = '' - server: - listen: 0.0.0.0@53 - listen: ::@53 - - key: - - id: rfc2136-update - algorithm: hmac-sha256 - secret: QRpeYCJLokRWyzT/tWrxaly5Seb5yTkE6/Ub66edWds= - - acl: - - id: update_acl - address: 10.0.0.0/24 - key: rfc2136-update - action: update - update-type: [TXT] + keyFiles = [ config.age.secrets.knot_dns_acme_dns_01_key_config.path ]; + settings = { + server.listen = [ "0.0.0.0@53" "::@53" ]; + acl = [ + { + id = "update_acl"; + address = "10.0.0.0/16"; + key = "acme-dns-01"; + action = "update"; + update-type = [ "TXT" ]; + } + ]; + zone = [ + { + domain = "noratrieb.dev"; + file = import ./noratrieb.dev.nix { inherit pkgs lib networkingConfig; }; + } - zone: - - domain: noratrieb.dev - storage: /var/lib/knot/zones/ - file: ${import ./noratrieb.dev.nix { inherit pkgs lib networkingConfig; }} - - domain: nilstrieb.dev - storage: /var/lib/knot/zones/ - file: ${import ./nilstrieb.dev.nix { inherit pkgs lib networkingConfig; }} - acl: update_acl - log: - - target: syslog - any: info - ''; + ] ++ (if name == "dns1" then [ + { + domain = "nilstrieb.dev"; + file = import ./nilstrieb.dev.nix { inherit pkgs lib networkingConfig; }; + } + { + domain = "noratrieb-acme-delegate.dev"; + storage = "/var/lib/knot/zones/"; + file = "noratrieb-acme-delegate.dev.zone"; + acl = "update_acl"; + } + ] else [ ]); + log = [{ + target = "syslog"; + any = "info"; + }]; }; }; - networking.firewall.interfaces.wg0.allowedTCPPorts = [ metricsPort ]; + systemd.services.knot.preStart = + lib.mkIf (name == "dns1") + (lib.getExe + (pkgs.writeShellApplication { + name = "knot-prestart.sh"; + text = '' + mkdir -p /var/lib/knot/zones/ + cp ${ + import ./noratrieb-acme-delegate.dev.nix { inherit pkgs lib networkingConfig; } + } /var/lib/knot/zones/noratrieb-acme-delegate.dev.zone + ''; + })); + + networking.firewall.interfaces.wg0.allowedTCPPorts = [ metricsPort 53 ]; services.prometheus.exporters.knot = { enable = true; port = metricsPort; diff --git a/nix/modules/dns/nilstrieb.dev.nix b/nix/modules/dns/nilstrieb.dev.nix index c013f4f..528fc83 100644 --- a/nix/modules/dns/nilstrieb.dev.nix +++ b/nix/modules/dns/nilstrieb.dev.nix @@ -29,14 +29,11 @@ let ]; NS = [ - "ns1.nilstrieb.dev." - "ns2.nilstrieb.dev." + "ns.nilstrieb.dev." ]; subdomains = { ns = dns1; - ns1 = dns1; - ns2 = dns2; localhost.A = [ (a "127.0.0.1") ]; diff --git a/nix/modules/dns/noratrieb-acme-delegate.dev.nix b/nix/modules/dns/noratrieb-acme-delegate.dev.nix new file mode 100644 index 0000000..cf4308d --- /dev/null +++ b/nix/modules/dns/noratrieb-acme-delegate.dev.nix @@ -0,0 +1,39 @@ +# https://github.com/nix-community/dns.nix +{ pkgs, lib, networkingConfig, ... }: +let + data = with pkgs.nix-dns.lib.combinators; + let + hour1 = 3600; + hostsToDns = builtins.mapAttrs + (name: { publicIPv4, publicIPv6, ... }: + lib.optionalAttrs (publicIPv4 != null) { A = [ (a publicIPv4) ]; } // + lib.optionalAttrs (publicIPv6 != null) { AAAA = [ (aaaa publicIPv6) ]; }) + networkingConfig; + in + with hostsToDns; + { + TTL = hour1; + SOA = { + nameServer = "ns.noratrieb-acme-delegate.dev."; + adminEmail = "void@noratrieb.dev"; + serial = 2024072601; + }; + + CAA = [ + { issuerCritical = false; tag = "issue"; value = "letsencrypt.org"; } + { issuerCritical = false; tag = "issue"; value = "sectigo.com"; } + ]; + + NS = [ + "ns.noratrieb-acme-delegate.dev." + ]; + + subdomains = { + ns = dns1; + }; + }; +in +pkgs.writeTextFile { + name = "noratrieb-acme-delegate.dev.zone"; + text = pkgs.nix-dns.lib.toString "noratrieb-acme-delegate.dev" data; +} diff --git a/nix/modules/dns/noratrieb.dev.nix b/nix/modules/dns/noratrieb.dev.nix index 808e0b1..3edc5a5 100644 --- a/nix/modules/dns/noratrieb.dev.nix +++ b/nix/modules/dns/noratrieb.dev.nix @@ -97,10 +97,15 @@ let infra.subdomains = hostsToDns; # --- internal stuff - internal.subdomains = { - immich = minipc; - paperless = minipc; - }; + internal.subdomains = builtins.listToAttrs (builtins.map + (name: { + inherit name; + value = minipc // { + subdomains = { + _acme-challenge.CNAME = [ (cname "_acme-challenge.${name}.internal.noratrieb-acme-delegate.dev.") ]; + }; + }; + }) [ "immich" "paperless" "home-assistant" ]); # --- other verification _discord.TXT = [ "dh=e0f7e99c70c4ce17f7afcce3be8bfda9cd363843" ]; diff --git a/nix/modules/home-assistant/default.nix b/nix/modules/home-assistant/default.nix new file mode 100644 index 0000000..36e942a --- /dev/null +++ b/nix/modules/home-assistant/default.nix @@ -0,0 +1,26 @@ +{ config, ... }: { + services.home-assistant = { + enable = true; + extraComponents = [ + # Recommended for fast zlib compression + # https://www.home-assistant.io/integrations/isal + "isal" + ]; + config = { + default_config = { }; + http = { + use_x_forwarded_for = true; + trusted_proxies = [ "::1" ]; + }; + }; + }; + + services.caddy.virtualHosts."home-assistant.internal.noratrieb.dev" = { + extraConfig = '' + tls { + dns_challenge_override_domain "_acme-challenge.home-assistant.internal.noratrieb-acme-delegate.dev" + } + reverse_proxy * localhost:${builtins.toString config.services.home-assistant.config.http.server_port} + ''; + }; +} diff --git a/nix/modules/immich/default.nix b/nix/modules/immich/default.nix index 9d3b52c..97213e6 100644 --- a/nix/modules/immich/default.nix +++ b/nix/modules/immich/default.nix @@ -13,7 +13,6 @@ environment = { IMMICH_TELEMETRY_INCLUDE = "all"; }; - openFirewall = true; }; services.postgresql = { @@ -30,5 +29,14 @@ ''; }; + services.caddy.virtualHosts."immich.internal.noratrieb.dev" = { + extraConfig = '' + tls { + dns_challenge_override_domain "_acme-challenge.immich.internal.noratrieb-acme-delegate.dev" + } + reverse_proxy * localhost:${builtins.toString config.services.immich.port} + ''; + }; + networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8081 8082 ]; } diff --git a/nix/modules/paperless/default.nix b/nix/modules/paperless/default.nix index 5cb60cb..bfb6414 100644 --- a/nix/modules/paperless/default.nix +++ b/nix/modules/paperless/default.nix @@ -12,6 +12,7 @@ let nasDir = "/mnt/nas/HEY/_Nora/paperless"; in { PAPERLESS_TIME_ZONE = "Europe/Zurich"; PAPERLESS_ADMIN_USER = "nora"; PAPERLESS_OCR_LANGUAGE = "deu+eng"; + PAPERLESS_URL = "https://paperless.internal.noratrieb.dev"; }; exporter = { enable = true; @@ -20,5 +21,12 @@ let nasDir = "/mnt/nas/HEY/_Nora/paperless"; in { }; }; - networking.firewall.allowedTCPPorts = [ 8010 ]; + services.caddy.virtualHosts."paperless.internal.noratrieb.dev" = { + extraConfig = '' + tls { + dns_challenge_override_domain "_acme-challenge.paperless.internal.noratrieb-acme-delegate.dev" + } + reverse_proxy * localhost:${builtins.toString config.services.paperless.port} + ''; + }; } diff --git a/nix/secrets/backup_s3_secret.age b/nix/secrets/backup_s3_secret.age index adb5d54..c8828d3 100644 --- a/nix/secrets/backup_s3_secret.age +++ b/nix/secrets/backup_s3_secret.age @@ -1,13 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg 7Skt5gktvb9YK6/irBF/1+75lfq21qcgnVKsFXHm1l0 -L2uk8HCySy14opdPdZqNvHIphuJ8oTGujCWY3NtxvWk --> ssh-ed25519 91VHug aKHSBKih0l3EhQe0v5SyTQiLEz3W6HgzyUVXAHI6LDg -zpZ8ENOBTPZWxMlvt43z73Cjip4dZvZDeMO7zOGEtpQ --> ssh-ed25519 XzACZQ MtKX5scktrEXJe3nPrzFEMdWrdgvR/4btZ+MmuJr+38 -rYoSGq+I3WioIsDeqNFdJjVMs/REnfpKuUhzanT5big --> ssh-ed25519 51bcvA 9WhV9RBsA199GA4jlTEY+ypVJC/KLBZReJbJW3b8SQI -HsRsq+n8PvJSa5zQt9knn8yi72wqtb9CZh/SP+y3ozo --> ssh-ed25519 vT7ExA V4C1cr4CzOTY4WEvdUwr1siAVClIipd2ud+ihs/hkVU -qbcSyGm1/Ajr/RiQ8IMqLCD9+kZv7o9jP9oXnK4/FUE ---- jFQGrwJAhLPWppCP/nGJUAA7qRkOra8DIgptR+T6IYA ->nl={ߪ,j"0)L2M6~.Mʉ0mwpMh5[C>96aM('+RhL.Ihr 3xqn+K*F/K:n'iWi \ No newline at end of file +-> ssh-ed25519 qM6TYg 4LRAh4VUnxT4kdbR8IYYH9Y5Gpx0KORJRzBW3HsjGxk +JJD2Mk2Fb3EmFyqYq7hVD4DZiBLMqTGTRxKy46buAbs +-> ssh-ed25519 91VHug eq8UIjMBKHOeR8coknHBLZCfGUaCtLlznCk1/iE/exs +eUIdvYMK1QOcjPg7owZScNFcVkXEJ7B80t3sRk0weP8 +-> ssh-ed25519 XzACZQ a6/9wiA7IeQLHGccQdfvpwowFh5OdKgIqqrqq+qQZUY +sUsOYDhlv8n8HNj3ZCyhNbfPZWlbvd5haV3ZMBPJGrg +-> ssh-ed25519 51bcvA 9dbiKUhvYOHt2QhZvOhW4EH/S/OOLx7oACgSUXH0nQc +Rxq1B9yZLI/LKg/FvNXrL7sZSB12t552k9RBLieIBsk +-> ssh-ed25519 vT7ExA XWX+UVri3OJrpSXyrWQVvhQ9IQVFpcvopMLetFNoagQ +WSDbM8LDuMC8RKBzf4I4NffEUGtfPrjPJ0jdrrR5lzQ +--- bd3tx9uq8j3zhQZ4rAWBuZHgzez6eSRz4O7VcdoJMvM +f)z͛dTa#߱Rhk hm],XFN$'0Kj0V|kO) +" r&IBB[5Sg5꺜Y8xc`,ӱ0W* O[i+FMN_n wǵ \ No newline at end of file diff --git a/nix/secrets/caddy_s3_key_secret.age b/nix/secrets/caddy_s3_key_secret.age index d231b8074bf10fafdcbbe86cf82de726583f9815..e0a51383a54cc91e6823c2be96b01fa287fb56fc 100644 GIT binary patch delta 816 zcmeBR?_i&xQ?GAg9#xTR;q70ZX{4W+mE)8VnVXZC9^js%9hqxk6c~^ikztWrmhWtk z&Xr!|<&%>gV3w_)R%IFL9h~l26mAxlQQ@m?=INi8rtjsIp&j5=8sO?*&ZTRoP+Xj$ zo0?)|YHDbyU}+fUQJSvcY-Aj0WSNua=v-#0pBieK=4KL*Vw~cX6{%lf;ae0~Vc}>V z;o=ckVUcUVWtwm49#ZP<78011rteyz?H-)(=jaiTX6jks?_uO==^W`1tet3_ZRU|Y z@uPTnvWtg#rjbdMex+}sUs17JZiI`zsd1@ahHqGQa;9-&aYaaEMY6GLevm6ydTvU& zL6wnfPH0$iNuIN*X^xk3c2%Nha)GC3a)_^fnP-YYLB3a7T3GVrct-K?(87ok{mK$g zi(GRH7ayafY$HPhzfk{514j$@fRZYUuoQ12Ps4m8%L)^&+^8f21B*a+&wHD12RlY42|{EQ{A$;jLJ;hipm4LqKqO-z4MZ^eezv>^YkrqecXJV z%FB)YEJ6}<(^8BQOSH4ObaizVB1(&+g42`q9es_m4NOg3N+XQ}+}yIl!}Yxayn=$O zEKM`&EsTwdb4$I`xt7di5%l#}kX%qxx9U&k5zqC1Cz(xUc-hPm_x>^0{r@2m`D|iL zwiyhM6n9*zKCO55$EUWQ|0a&EF@fgQ9~aiOoe~yVZ1LxNaZHs*=#ND^4(a#JD>0p# z9XV4J8xvpzGm+@EO4=&HuE9!e0J|Eolx_#yLZIY`E^?2jY z#Xq-Q6TLe|-I49>-YPcTSFT5R`{r?2@zyE6oj&7ZLWPUj&*c@JK^DLMR`;BA`^5G1 zW6-i7DOuZ;iQ5jm7vIv@b8X{ubJ>S4CI;30Jr@(+a(C%0kB3#urtG>HD&>9JSo_19 zzh}2xV(#)gyJzXAHg(r&tkeH%gl%9kV?VyF(L3u#)}QqE`3D!|MJ68*{Q26Sc}L^f HT9*9)-qtsI delta 816 zcmeBR?_i&xQy-q;;hCIj9%xWnX=LGrV?QNkN z>6e@9>u3z-H|VW_!TN`}6xxj{)tXqIV`r%7RDX^;h1X}CwY ziKnAuRdz&Ter2X#NvVHgQE76STY5oSg-f1ugnw|McV)JDSWx8Tct-K?WFwQTQ0LU# z#0W?ITmw`8&~nE#k3etBK(Ao$d;?Ga5F;~vx0J*JFC!B!LnkM{$U@)pJa?Z`UxR|& zT;I$BBj@y#VExR*sH8~G6c=B&Lig|j57XqyXBoxoE!~TZoKl=3GEJPy6N8;SeLPJ) z90O8~OVf)hN?nUQviyQ7vWmUJ^4-(93PbZE+`WC03ZpFC68()L{CuK9yv#GalOy~? zO-o$MJe@>sfu{jF?Kwao+q9E7jwO1p_OvOTX216BnRoR&zx+G7aOvMAH=;gyO|G(i z`F7pHsr^$+;7VRXV2Hex8|r)k)2F|1`s7^Aj?E zB@_cLmhI`?=rXDB+zTVO&M9xE3(K1ZxvsspmPh`@Zie_Qe&4X7cUp(yOB|n;TzTHQ zqmkF+eH4%Q%=HqEZ`IG7ncO8&6})Y=h1K-1@{94OKA*h*z4`&q`6X@FZwfQ6Te9o@ I*N-mG0L-;Q0ssI2 diff --git a/nix/secrets/docker_registry_password.age b/nix/secrets/docker_registry_password.age index 21dbaca..71e7bdd 100644 --- a/nix/secrets/docker_registry_password.age +++ b/nix/secrets/docker_registry_password.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg N7lS400e/5mSV3BlhnzThydz/c3DIIOHLNQodTErR08 -vMqHXmSloSrWCxeD4QCH30GSqg1AI+6Dy16atFLNxjs ---- aJ6lQv9jnJHyocy+Kz4jPCtpiIewxoooR0Zsm7CS/pY -j9KyȰ0*ÜbɿY0I3v+D"*/g`o#ص \ No newline at end of file +-> ssh-ed25519 qM6TYg UVJ4EkIz+aHGJHW/UWVOod/NSUrmLL4pNvK60KPWxzE +pQ3h/qZ8XfwCqb2QshUxuLs6F+YddX2QSp8MLQnxBR0 +--- gox0jFVFKNb46LsZ/aOEpkxCWnx8sTe7Rvv+tdzkvq8 +iB<'+̽LYd6c6B g]UG􊃻Nc]4Y< \ No newline at end of file diff --git a/nix/secrets/does_it_build_private_key.age b/nix/secrets/does_it_build_private_key.age index a1a6080a499bbbae00a5b03dceb06505ef8c1dba..cc6be8839588413d54eef7af1c90ccda48ae064e 100644 GIT binary patch delta 1893 zcmeyv_lIwSPQ8aqxp%60Mrvx5M`CGun4x8racWAio2g-0j%iMWwn=7DVyS*=PEuKB zGFM8rrM9bOK(1RsN_bgVqF0z_NOE9Mns<1Paj}!7nQuu*roK^?YnXwdCzr0Su0nE# zTVP&bVqRosc2!b#mA6@VPD+%ypS!++xj~hqp?R4{WxYpkxp}C!Njle(wE-^<1r)#d z^UF6cNY3eF$8*8`i@y^&AY zH(!D8=V|S=qM*Q}zclz7i_4stC`p+J|`C=~Fw$7>t7h6ejIzH~?d0d-X9(45E=J*Yz zlkexRn)Ln3)#k6=GdKSHch54HW#-oRYR8$b?q0j>sZHU|s*fHyIxpjI91L;$?Edt( z@xP~$ypl4XLK%O{Xx(1g{i@pTfD<2=Sbb%-NEf8FsHhw53yg{mnpz^SsTe+cZzM-d^H& z*!$*YIkBf7swZ-%_ta!Tj|7g}oERZ#o<_eB~2n#MJztbTj(~Mqk_e_0MJoE${f;6e1nJCgSbdv)kp~ z?yUb5#kZfOxl7mQ5Oaw7K1<l}aAUI(sFcCT#Le z=RfOKFk8#ao~xVSk*iXa|6t3;s?LwMP9+v8U(9jSGqKoEcAPtI#llvbR{1lx0tsr`KBN3*!fH^xbn?H z{mCn$Coi0s>1M>d^5W`QEn8R^Z@pOXS(T$Wq3KG7SL$=|!~TkNGhLulyJM zTJ?5?N!$8_J5u!;H)a1^Hh*a3B$oEi$&W4X`2RQAqK_^b?YX+;#H<~68Xwdq@`np@ zh{>JPfBZH^$)+JRJZo#N-AT3H>2beU>(9PfpHZiJ`rMg08jDp9u4bLNg10{V@1g^< zQ*JSqYJcad(Pfz&=f3p=bLM)@FhytG;Dh&mK1k(KubnXGe&eJU*7afw7q3b%xH)l- zaSty~>3+jKXFD%j@7c+Ip>e~fH>n2S+ni5Ebw4@95dBNSzk9*O8t&iv5{?tiAEYpE zl-BXgW_CT+U%Kp~Vgbj7n+vzR=w7|y;lEwi3XC;Vt~@yAv)KLpALfeZa=9N=#3O#r zSY3Ku`Qtv1o7bOwoj?DIlVtJCqWT%X%nmF6Ew0%T?|Aa-c23ZS#=@ z^<0cIlCM-V-|rKc{$!%N&cz>(QiY;Q-Xui2><{o}oUnNJ%_TE_n6H1$VEk^t7eGVt;R3dHDL5JxitQZ z=p2tva?fY0c^=xrdfRcWX!pl?QJ0=?IdouUBj*mKgS)qSOg$+V6C3hW>ItLc)do9-AT=)c_W za3aZSQOr+%#35!ZW1qo(~zTdL*6ZsfE?v&Wfjsc=lp zuMc;f4k>GeG#*j1jc4ept=Yt-_cLR&>;F#wsn2FVOAxhi*+u`{mpeq*a)ilsnT!i~F%?(@3dUz9IjvGc5}Z9w_i@2A}@<&-(E zu35D8P5F||KC%YFd=06It{128jM!SgtooTsIp>s~$k0vGcP(079~P;-o!!{!;HTqr zbPgPBFTEVDExOs0U$*~ChwIk3I_)J9?+$M}sneU2&{K9ZiiNTAX>smX^^c!*70$;W znZ52^*~=KEm9Oin^V|#~Z`-bqeiX@~ZFo6sj=NKKR{iujl6LO{|JI9W&i!yl^2}|m TE5UNccb}bqe$yv#9os|z->{di delta 1893 zcmeyv_lIwSPQ9^9YJgj2m1{)4enwod$^@@x>rzOgh!}XNNJ^8xuajXXMnSbm#JHzd5~*Xka@aAg;RQAAeXMLu0l#) zNnl`=QFfG(M{b~}VNQyPw_C2GL4j*hK!{IzWTvB$dwoS}Sa3>;wky{wfzQueHypa` z6y^2yZOg9w_j63H-`OR^uPFCq#}-ewL#BUy85XeSHmg`(negt${{rbxbGC?YeOl+G z&3LGfP|x?ap=hN=wdbq+jd{T{_C7Ys;M(@|(J$|LE!HJU4$Lqy4ShFQ+_`)|>97Y|ZUqbYkzFVxxB!$rI}( z4_(m9ocuuWdn!60*|+RW4-U!;jHlHc5m~(EuYO&zr-Fm&G%;h6^m5q zmafChtKHVLoY2qyA+g2yk?RzXPHXvk)z1eRJXb6}$Z|#KT=({rX627ZJ|uJ;T+|Y8 z{&;)1anPE7vRX~5*X~&uiF<`Ey->_}f9vjY*AU0|`yO&uy*RVHXbtbTSuBU={9AUw za7}@K+T*po8}w70-^>c^;%|x8a9ea_?y4Wn+1o`WrYxQQ%yhS?)2sdYqHoG`PhD75 zx$jkdO+<8nZ1LuKf-NO8=f=%?v4{1UM&@yqn~ndTTl_uyVWF3r&AMMR90ivcZ;nXc z_j$dwTI{~#i;CteEbQW%x_-{7y_X-PRIa%9c$&|lh!4{)=K1H99&gN0e){=;R{Of_ z*oooG&rbcBY5Zcpz1NG>4VHVjuf0orr{6yR^ykj&0`B$o&Z=1kv)^vr_iKLQjQ$l z)8YTRkG3A&sAH>`6ta8MhM1m;EnI$Fl8n}K{@n@8U|AGpt=+JHQnrU6mnUzD_kG1r z_b&1_&df+R{-I>3re0sresV&wPo=L@*y5cd?iBeP8MqkT{0%ZvKwHH>e*N}r|tqVG84$E_Sw8NJ@R|CHY- z%lzxuTp^Xve@Pa9BJ{U&G9UE6qWEW5eV7_EN8iq?h_^&=a+g&^VaKDG}RIh@5 zmo5&?PL9t%j)wkKH4EKWGgfta2%~E=B z$h6+!pJAKxCQpg!Tex=`1>U@+^tdeh5tI0Py${cxF4>ZN{A&EGweEWV7rbzK`@xq{ zgWYrKncJP~S99lfe|VcFZRDeE%G4(97a3n*Bsn*xaF4x5<@Qq(zrAj;Tvt{!k8#y^ z?QZ8r>4J9(;S1ut9BfXkK6kN9ZqKUC{Obd6q`3WhUH>%AkLkEw;fv#?N(-dUzj)76 zKY7;rc%vhiEL2kbwunovS~qdVJf;WpX4F=>%QwH?eL~WE>HPKVOjGh_Ka8CCk14Y0 zw#$q;KjQXOyDHDVBA%1(9CqwL*!4>*s-0z-uAZ8rAhmVZjx<*H^(C(-Eso+{zajpD zozY?Er-ixq+**Fs)CWhbT#@b?KR3Hg^6R+RKD6%jMbiMqDeaz*1WWRqG6D_-+YlG zXSucHjw_!ocAK8O-mF^6S8yu#3%6=qPGS7#C(CYkYQNf7Gk<52RmkkcUP4bL5_*K! z-!)@+cKfR2=In@U;egcwX$rZ{UiO6tP6Yh(pQ2o;-p{)($eZB|!y#3LORqEUKJi%* X8SduHa(qV19=@Y$SC{(s_pAT_OI)Po diff --git a/nix/secrets/forgejo_s3_key_secret.age b/nix/secrets/forgejo_s3_key_secret.age index 609822d..0a2c88c 100644 --- a/nix/secrets/forgejo_s3_key_secret.age +++ b/nix/secrets/forgejo_s3_key_secret.age @@ -1,5 +1,6 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg Ln9ZxoEmhHUMbU4PufH8OYVzEnvFEm+b/SlBfitqEhw -M0n0qe7L9peTLylt0uoTR4gQBcCxfSIm7FAR0mPeG5E ---- BzrHhLTDQ49g2GTkJdmLpdhRBp1rfdekcW+A26jzKys -G6?U'ry@b $MZ`@kv]6_۟Nق $!mVkgA]yW,d';Ȧ핒 ܎ \ No newline at end of file +-> ssh-ed25519 qM6TYg nMMawatvWfcdHyOTJu5UBTCZbB8MDbvdd5XaSCR9ARQ +iUI0FSTyjhx0xdfUn3ikxR3dcW8GQH1Flu2kwlkP1HA +--- Fb7A45fAQY9VJN6Er23jTuEMvm5eDHJflTiiNFB4dYs +.)!$YQώ$9i33b_z +TR˲qhs|[F(mIq1z^&& '(g׏6Fվ^.j]Di M5q \ No newline at end of file diff --git a/nix/secrets/garage_secrets.age b/nix/secrets/garage_secrets.age index ce127e4..9d822f6 100644 --- a/nix/secrets/garage_secrets.age +++ b/nix/secrets/garage_secrets.age @@ -1,14 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg Nl4yCNn9+FiX2uBliOH052tOjnTj4DcFzaIDjD2MVTY -aU848NDVI6MN5JPm9FRha+HJySIEyRRcNaiiBRnxJLY --> ssh-ed25519 91VHug HfzLsV+15VwIFXz9mYc3dNdlFnb2MdqOMIV3DkxnJmQ -Fr2LDl/Z5Tn9FspwZynbCvK9Let8VWGAr00lf3Uhj14 --> ssh-ed25519 XzACZQ GWXW5myuKkabbJwdW3OsHl08KBo0wu3dJXXo13xYjR4 -SYu+6yj0om9BHFoJH8wsDPEbQCQy/oAp1jRW9wX6Ys0 --> ssh-ed25519 51bcvA nenOCUH5VZ2j/u1fv7mD/2hZufU6KWY46UZwzINXSSo -GbQOiKQ6ko7RpuYvmtUnf5wzNrKpR/FHkrYHhRzURDw --> ssh-ed25519 vT7ExA 8/Cn92m/Qtoo78VSNEYNrC4HqoIKxLyvT7A0R0CpE0U -rehfI6pEM0nAv9AQAFa3g/PTd4uvc8zwWLAVAgoq3NA ---- fHz+V2yXufeCvWNZ4Eu+vAdPYBoDYyuUlXcrTo8O/88 -ru^+=$!1 -rF-NHr+2z>Fiw`ˬ024(3 իH=ay$tV|H I d2_` dr?PM bش%qho"ߗlzs;r{XuE n)'!VZ֘܌u \ No newline at end of file +-> ssh-ed25519 qM6TYg GE45kAK/hBIkfDcJ9T5KSf2ZlRuznfyCXNgyiROKSho +07IiEZYSR+BoaHsNOMfpTB7KvFI5erLqiLkxHeghNA0 +-> ssh-ed25519 91VHug I5YszjRHyHEIPSO9ATRx/hgSiBnq6CmQeCiEWyThKQY +6cyqqeR7jyvWCC3yfxqVk9YtjhR8LmUISxoScoAl0Ac +-> ssh-ed25519 XzACZQ qqZvo9xbK4rQRDzCsyKD0NVYhk3960UW5FRfavIoI24 +AjsMDfEzmGMCGekIAHPXkN2RRZHC4ZjACo3cNGx/iqc +-> ssh-ed25519 51bcvA mvDGI9jBis304qlduEX3kDb2Y5E2fiNL70i110hdDUo +OJl67yJ26ZZVLgobEbh63J9kku+whdmgawpPrlyAgFs +-> ssh-ed25519 vT7ExA NgHlD7tjMUF2kIeMmHyE/qsZI9VzIkg4drUCDj0GABs +kxwMjB9CBd5IRlh2SBHIQJSjCjARLMwOg40DSdbDO3k +--- hzXf515cyiJHjcIAg+kmCeZ4Hy2GI/b21F5O+Pq7r5A +=)BT֢(__2{Edι wMSVs9Tj_+q} f51޿^>QFg^QvnZ͔dΘl=YȬپ\!F4vt h!Am%'n ssh-ed25519 qM6TYg Kmd5m9hb9QXzbbrLWC3SLcUfy/B8bEWdJMQ1iMe5MQ8 -A4ZoS84dtX+DMOzPXOMBb402q3o6LBExOda+Rm4hbO0 --> ssh-ed25519 91VHug rXXXRgZI91mIlLAclodKDk3V14pDyRCv5kg1RCB7AH8 -CzC46ry6tCYkDX4jTW08j7Itqjb0raz2nlmU5/7zLCc --> ssh-ed25519 XzACZQ KbzLsMTNqcjJ2I+Bx5moRC74Z/QKHrbFVovC5hhm8DY -aAGFH0KBdM+nm4HyZ0X7MPc3+fBbcQrQAcvrK0F7LNM --> ssh-ed25519 51bcvA qv9cje7I7Sxje9xV0DghaxSxyovB37O3B1Bt6sHp/Bk -2zEnhhy6dIOWMdbQE54xtQKfZjR2vTH+Z4son1/gYr8 --> ssh-ed25519 vT7ExA voN3ZvXhhqv4V9FpVTd2ViydPgxvjpQpeUcH6jljen4 -sLjK4aWqGSlxxeMKPrIZCjw4tsz95C1R498bFZgBMVk ---- Kfk+aieCFtZiKPE8toWEZwZw06sELpx1FiJCVDyLGcc -uM?C0Z& rSgWp8{*6yqð% \ No newline at end of file +-> ssh-ed25519 qM6TYg NaiDsYFYQAZuJinDZ60OiPEZMsnmPOggyW/lKwLPWR0 +vLZKSA9iaFIdOjE7K9n7vtlF8UKCS+AKuSS3O8jlfbw +-> ssh-ed25519 91VHug O5htAKX31xr2plcilbKy/AZ0xtyIDekjtr6GYeIXcns +aK43EBfhqDCEtkB/1RephM7PK0tB0xHjS+GIDTFw2A8 +-> ssh-ed25519 XzACZQ NRs3M2HrY9vZ94a+MccGZisn/cEyY9lg6l/ZiOaECgY +aZ84NrESzU+yhsxXk+XiHEFJ+5/8B5wmFZVhPU5K8p4 +-> ssh-ed25519 51bcvA 74NdYVJKbbDBuhxqUUAgx4GpGbKFzL0/+KRXJKoxh0M +nXjmvzBfiq5Y7EUeUM5aoEColQa80JUCMwaLX36Scss +-> ssh-ed25519 vT7ExA buG7ZHfGrdKqobgouN2DHkOointeeSo3LbQ5TbXxMT4 +v+CfO/1CDfu2d/Oy7LX1S/tPa25zaY6rWafpQB+yzdo +--- 1urbgjL5IrFAQbt9FPGt+Hv5hJ99uiFaC3K3G4X5JSQ +? +A>$->6 蝠>/RZsYɮ45ѺR}a9SXwR9 \ No newline at end of file diff --git a/nix/secrets/grafana_admin_password.age b/nix/secrets/grafana_admin_password.age index eecd4fcc77a12ede5288eba2af310304e06ef44f..a8f2696b5b7e9b90a46b9ff6c810c287d3abe6af 100644 GIT binary patch delta 246 zcmbQmG>d71PJL#+k)wN6iC1btmA*$zrD;`YSyow9m2pUU zGFNV{S4oI}w!6N$M_y={cW!~JZ$^-7kYRX+b5ekBVR5j5Wr}f_xmjV61(&X_u0myD zsgtLliC>U!a)onMflHE+pP_F^nsJIrut8B~cxkSyc79rzXLfmoMJU(8<9mWJ~?crRuR9)9;>N z@_o;WQ%5b22tC+d=PH@%c4=4gde6q5r>BpknD*-YiItqf8QY(|okbG>DoJNL delta 246 zcmbQmG>d71PJL2ZifNFCXPQ$$c9?mXmur}#er32tVwPukLB5$!vXgsMwzf}Jj+cRf z0as|Tsc&Moi*HnxSxRAXv3XQ(er{Swh@o$=OPIEMQCgC-n@^f=a%O&>0hg|>u0myi zx3goQxqgI2a7tNKh(%dgZb49TR#I|GadJwMsaJY#WPYi;pGj^&XgQbBGoiyN=C1!Z z-Nn}RC~evNvFgoRVVi#@!RJ3b%3Znp`kvyyx3%ldw_3CBNc_+6H%rno=HAwwYx4F# zt&Dd6aNT?TOP9wx%V)k_d{c1p+)EahHnwh1e^d90rP!I_U69~J0S~p*-!B~j0F-5{ diff --git a/nix/secrets/hugochat_db_password.age b/nix/secrets/hugochat_db_password.age index 0465eba31c0ca76d83cf3fa6c2c0c99a94ca6a00..82504b11e710bee3057d641122c46e3d8dbebfea 100644 GIT binary patch delta 304 zcmcc2beU;_PJMP&Vx+UVe~6cPfq!O>fqtrXp_#UCxwBJ7rE{sazePcIP>F$0NoiGB zB$s8FuSrg>Z<$wNqKA`lcv@9bl~YrH`3QYE@KPP(WyzXINIAQF>O0siRv-WKdE>Mtx#ZfTw4nzAM+A|4MgDO@9^h zvn+mB@iqER-sXuK6F3&%)P7#+p8R-O)1f0LuW{SfZkcCQe}ql>_1AP}9tR)u7fS*b zDVe`g`Y52kZ`+;QVMmre@LFd3;;YCt?`sD>xS6eD>i>Ty=kR?q#V1NX9xm)YAMsAf z?(ARti3_LZYMw5$(`@7U#h>A<9^Uc#fw#L>{rjZuubGQyO4?o)6ulp0U+m3&m%}jY I{HM@z0E$0?CjbBd delta 304 zcmcc2beU;_PQ8}JU(YM2 z{51LVYkIU7_jiweLH>0NK>=4D2)Q{V2r&kAh`i*zFRXrX(xC?;+Df^(b8Iv?pQZFv zSl)E1-hISbat4#8{xr4U>fcy*-cV<{cOf-fcS6Cx@Asm6cJ7}m6;b|Rd-F$=Ye` ssh-ed25519 yMKb8Q lRux6HhczttLaNglBB4xdx7B4GUhs50ucnyYYYlNLzo -nxSaMiEcscZ62uEA3N4ssHN0Vc/fw0wRsGzUXHk5vyA ---- FpSXOah6uQRaHLOxdGNFF9Pud9NsjYDLhiXzqg5/Sao -x ll w\vS-!V]}g΃[>e;n0n!;L -+ \ No newline at end of file +-> ssh-ed25519 yMKb8Q ttfca/hqpWJm9dRJYWBXj9Of1rdWg2NbgfsAJFMUQTY +qokH5RFlOmZMETgkqlWhcx41EtXtN2IxKpvP/WGz6mk +--- vn3HoHqGBa02fSSeO8LGjhGb/7JK/tN/0Zh1Pjz25dY +]?mDC:g_klUGQJ+g3u9FH"'gd߃ \ No newline at end of file diff --git a/nix/secrets/killua_env.age b/nix/secrets/killua_env.age index 19d8d7762d3a4a2e9d76be0a1f7ef6d66b1583f6..91975e5b4f3febefc696e5193001bdaa35505a52 100644 GIT binary patch delta 257 zcmZ3=w3KOrPQ9Orr(;xJu&Zl$WVmskNaMo6GjskUow zGM9;ktA139K}BAmcdn;JMoxgYqj6fUWqELDLAt(UNmz=7xpSeprHN;FAeXMLu0pzR zxn*R8slUH@QhJDMURZ!nUWlPnK%}XGXLxpzS4LKpewC?zZgO^HMlo0X%h~G|-)Cpq z$->kmutVhbr*4CDHI4he)VY5sT_g3***QYawLw<+zmCJ+9XB^W$~?L|$A3eDT7xqG zj~{`jrbelGF*{rB3?XEUQ_% KosPXew*dg(yJD39 delta 257 zcmZ3=w3KOrPJOvWj<>l>MzXPURcc;Ql~;(Tu~BJ=UwTAXrBkT4SDLw-VTHT9nPZqy zAXm9lj<-cYl82$MfuB>Vqgz(FPi1APzjugHRMYh M7-x%{UM(>J0A>4aB>(^b diff --git a/nix/secrets/knot_dns_acme_dns_01_key_config.age b/nix/secrets/knot_dns_acme_dns_01_key_config.age new file mode 100644 index 0000000..b47832e --- /dev/null +++ b/nix/secrets/knot_dns_acme_dns_01_key_config.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 LZU5Eg REfGT+ZHVlXvO+6s9AgIGQCBS+AQYfAG012IfRipJhQ +V/O4nPGoAOpB/4DyBWuEV/GxoRJ7hdgVomIQwcxnSdg +-> ssh-ed25519 5bWSnQ vFGAKwm8eJ/Fqv+LxLo+1mnzg4ht1BLTA7zdJuWdlnI +Lhh3d9dWKyRcVTKeMOJb/cVzwnnqrBYNE0ijDgAxut0 +--- Du4x4K3KsDMktwzmEMiFRxGXq63eP5x9CBowtGJWM+w +1{$e9b`+gpDxhK* /Z~eAԥH}l0ΌsZtڸ:!kj!I_yI[e FGCbx \ No newline at end of file diff --git a/nix/secrets/knot_dns_acme_dns_01_key_envvar.age b/nix/secrets/knot_dns_acme_dns_01_key_envvar.age new file mode 100644 index 0000000..9503cd7 --- /dev/null +++ b/nix/secrets/knot_dns_acme_dns_01_key_envvar.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 vT7ExA UhRU412YTV9dkMkINM4xDQvQqwosWzIRGap+NxS7MFQ +FUlsU461cxI+2befwB1v3ygyYAeTwfpJft/EX7eCGCo +-> ssh-ed25519 yMKb8Q 2kpI3iQwInOH+TYnbvuyKyksGD9Q8UthqF1eBG5I+0g +Si5Q1xNovm8hBmSfHx6l4PsiFU/cPa52rLw8OAGWQl0 +--- PO+gCtXKMloPmRAplw/pOAVPDHqh5PwzrQqrzSPN5Ng +_W[VNJ1D-:ᔆ|V zl Sv*{G9V"_GrS\c?s&갶S \ No newline at end of file diff --git a/nix/secrets/knot_dns_rfc2136_key_config.age b/nix/secrets/knot_dns_rfc2136_key_config.age deleted file mode 100644 index 48f95c0935a38f1de69cbe117509485000a7ae50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUli3&A!O;;%ONzCyq zE6j3pE6Ptd2`Nf;EsS*W3o=hJ@o))?3M&l?C#HT99(<|H~D%Zm|*OklJG_TY=%_z)0F)**d)!jhbIL|ZD z-_*%H#KJN&I4m(=+pVC`KO?dv)Pze{S64ybA}}eh%rGm`%{(hKxX9bdvph1u+`^?O zJFqMy*k3!hGTbdPygWC>Jd*3Uz@*7PPWRe+@M!T&(h^;+GpS_T5w824Yqdo=cy*65 zwf1Zi&Gsnd-L4bnruB3K|AkfC_L$#r*!!~leZu`a-<)M5{$y@^yYRx73w}4ne9oFw z`aYjCHG9%lgRfR!6D_vrZ*|M^uiW!~0rRy|-u5H&<^=6n6rfVsBzbeO)~lBPQJdmA Tm2AY#&J{(OFznVgJv$Eog&m=8 diff --git a/nix/secrets/knot_dns_rfc2136_key_envvar.age b/nix/secrets/knot_dns_rfc2136_key_envvar.age deleted file mode 100644 index fc3744f..0000000 --- a/nix/secrets/knot_dns_rfc2136_key_envvar.age +++ /dev/null @@ -1,13 +0,0 @@ -age-encryption.org/v1 --> ssh-ed25519 qM6TYg QQMDIquZuxMKwx2hl2ST9BMXa61DBdC/cMUutcRIRHw -l7oENezyJwfJHrgNUtFMfOF08BhAYWQOjW8v7VPN/aE --> ssh-ed25519 91VHug wQBzeFG2xixYU5L8/d81n5FkZMqO3uCSF60Xi80mvnU -nPAgKpJj7WDJ4tbKGnlWAhvAUOyLIyOY3aPofKM0LfY --> ssh-ed25519 XzACZQ HYj1Omcc8WYq6s9l5hVrjjibg1LFHnkYkXiPolGewws -uhrQ6nmP5fMApIJzUzwXcnlILdPvmlG4QhG1laW6alk --> ssh-ed25519 51bcvA e2Xng7rC2SkYiDn5BRTIDBxn7vN/F95hI+okWL9TymI -7TJrZQlJsnGMu5jaFQllI1E/+ZGHZjGmaUpuNZSAPDI --> ssh-ed25519 vT7ExA PSM21ZGF9T9g6rxnsCv3rAio1f5KckTHgivfclDjFFs -rq3M2R/LHYki4nQ68iFoLXH8VVmWyBDD6yv6y4tt5qQ ---- KqTQhyl3ef04vDQ8eu1IvTsEaSMYtQxxBAcIO+WYPr4 -$Jk#_Fr"B}~P@.e܅YSL;Pz &0DiKJ^:Oc'+ \ No newline at end of file diff --git a/nix/secrets/loki_env.age b/nix/secrets/loki_env.age index 1c85165..cbbf258 100644 --- a/nix/secrets/loki_env.age +++ b/nix/secrets/loki_env.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 XzACZQ aRbZOixkF1CtYIoCxgHX1Cw25ozmtV4HWsFIY0sfHAw -y9PvJ4rdceua7Q4GVqz09KZsensKhA8pLMjGyub06xY ---- gCH1ZBj/XvuwrtJcjVXr99OT89N7JOIlHd5xofjwH9o -PcweOKD-Pz8Dub3@H}!E퍽lۛH^klMro\%#Ӹ˦Na,=Fku:![=&0X ssh-ed25519 XzACZQ YEK1qlKkw4KVnbOpskeVcNSTkzHvIHGLTkXfo7t8+Ak +MsWSttjHmrX/VknsxcVCDUnItE8ypvAvlD3oEWhqg8w +--- 5TI3aOOUZNicoLqjN9qM+PFW4vtHWwE0d8YzBzQMWWo +lLebYGp di):.sL1AbnqMzy㭪v*삆֐Zo-2b2 kYőRw_\d3!BV!{JΔ/j>o$SVJ3^Ђ \ No newline at end of file diff --git a/nix/secrets/minio_env_file.age b/nix/secrets/minio_env_file.age index 05d0b31676df521ffa98a8393550ff8b9121ccb4..9937f85f272b49294966d9296d9fc67fde35320e 100644 GIT binary patch delta 362 zcmeBW?q!~!Q}3EwlIxq4nG_ik;cS#?k)D_3WLoHIT$N^07*OStm1q#@lM@x3X%hv>7gGU6qH?TU=|WqmgQlbSLPpJ;!;!^=9q5jZDJOfk(+Ai$)#(jP+Xj$ zo0?)|YHDby5K-mm92KbG=^vPv9vNa%7*yzQS(p=LUY}dy8E#T)WMN#E?CE1tloOV0 zS(OwK8E)jtWoep}Xzb%_=v?k%Tpp;2c$HWMr6{o#Af4 zrK_u}U=rf0pRFAdX&F?NoRgTWU*eS$C>=ubw delta 362 zcmeBW?q!~!Q(s(RlIfWF;*y?Wnw4ChRutso=oXo1;OgZR?-35@DvF?_Xq^QJ?H-9-NAg9^mCsp>Ggj zq@A9n9h_~z<>weu8fESoWe`~IYpL&Ek{Frd6OrXqY!+dVnwL=!mL6W_9#&9U=OTs`|?M?%h{ zkAgu>PtMH@Drd9^oc{J#rpXtrl2@CR&o&*Kl`DT@zP4G$!eF&$Qek}$_smqc_F|oB L5PMQ#zwJT*Edz?P diff --git a/nix/secrets/openolat_db_password.age b/nix/secrets/openolat_db_password.age index f9a3b40b61d31f84fb41d56446052e567d0aaabc..6c79515b3287f8094dd2646906648ab2a9353599 100644 GIT binary patch delta 286 zcmX@ebdYI+PQ8Vff3bFcMoM;hT7gHJi@$kBp@Dg^mxZT$UZr7WX+georDN|WLCOawpp4}x_ho;hF@TyVTMzRS+;>md8uW3vbT#-rkj3LB$uwPu7bP2 zxs$J3V0uudS)x;MUPiK+Np?_jagJ}kNmXWmTT+o*Sbcg`X;PqRcsZB%hFcdB?39{z#isniJLl&{9%X%dYq?a&og+Di-zo}zzj!RmIx21c80hg|>u0pY& zt9E3fb47AsVo5Vu6CYhc%GYcd2ym~xPE1XdsIfQwo!#kvUah5I+w1lu7Yuu zvvGillYvW;M^aI;PgY{8hf{W7kXfN$W@bf1Re?udYQ1qqK}MNtULY4kblt)=cKmJo zXI%)KCx5T~l}E{$K(nkjyH_s=iPSTUc)6+j^B=J{-j^R49enuZyURAULyNC0v|3mD zZB_rKYvFdcR%~~%QZCsu%_Gm(mV5F%7nP9Ym95`%D+H>O_A<|S6(tj~@$q!$f7`uo z>y*FuesTWR%3fxEEwXyt7 KKl1XbEdv0~qlOp& delta 305 zcmcb@bcJbxPQ7P-QC^g#k!x02PC=?$hJjaUuxpNwex`?EfooEZTSZz#fn{J(NNH-0 zBbQgPnSrC1qor|Dq=$QPh--vJu%(HUd4{ohc7}Obc6fG4a#@m}S5CTVAeXMLu7ZDN zWk`OWv58Y?K&Y{cvs;mGO0uO}ic6}GlaXU#sk^0lT79~2V1Y|gP&U^z$36Oad50`C zpY@+HsC;Ap>M+lR56=5|UBXPi+=zD;I<&I;$Ev=%s2OahA1_gp49Z>g^ZeP97TsDL z53IFz)hR_EiMqpdvnR^JOFFz7>`)*wLOVujAFqy^orLLI0 z+a#lFzNl~UFSA=(!jg`qizl=79-L(4YZ1J|^s!IBOLXUbM*kZu>>Jl_z4l*ihO<(X ITlAx)0O4VKbN~PV diff --git a/nix/secrets/pyroscope_s3_secret.age b/nix/secrets/pyroscope_s3_secret.age index cea627501d5933d8c7cccea3c00138a66a541c7e..13bf603df7e34853ed230184f732a9544c06d4db 100644 GIT binary patch delta 301 zcmcb>bb)DtPQ9m5M2SzXwzp+SNqVliv71w>U$U!fm2YK`Phz1{j<=`3e{OI@S(1NF zGM7374*}u7ZJq zw}(e*s84ual4pjKzkjijSyGyNWp;*(X>p#nab`-gQ+;7kg+Zp1S2mZf{6_9ehW74< z??(GbbqRbqaI?LXYi`-XGr^LqUgjZfdaGZW{CIe8UVp=rNvG;xdu;hX{ZHGS<41+2 z%)IB}%l`dh{)$O!4(C?2El;mnY*g83Y`9A)`DxPwwIr5kgI&i?o3HCi3Xo5F<<}Ob zv?*|R@8UE53wYVo;->Uo8vHyUdRk F0{~)^e)RwV delta 301 zcmcb>bb)DtPQ8y)QdEwalTk^krIBw~NpPN@wxzb8OIko)gnw?9L9jukQDuaCN{X*> zAXlcBOGJcYntw)FR=Sf{o>8cqubD?~S!uRoSYDxPWN4n5nMGPrW<{k@HkYohu0lwj zr&B>tiJ`t%lBao#B>CSH3cw^nblr=Z8%%LsD;kaAv4oB0SMI zyL<22!wy>052|fei<&6L*vj&`e#6}#hE=B$8u!O`ex9ALRewHJtNc#>R%S^-*Wg7K E06PAAJpcdz diff --git a/nix/secrets/registry_htpasswd.age b/nix/secrets/registry_htpasswd.age index 9422a04..d027b5a 100644 --- a/nix/secrets/registry_htpasswd.age +++ b/nix/secrets/registry_htpasswd.age @@ -1,5 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg vZTE3zklC5ACYvOuHSNPMDJshQPcxmbfen0TygKKW2s -2TMCnx49MiF0AqCFMTmuXC/xKzos66rskkDfdnIdQTU ---- 8JTyQvwrmMPdNLPK4cGGenl5DN2UpoCqUQzdbEvezpQ -!|Gq^D;-B2>"2A)ds\ ӲiE!g66,} PcQx‘0vDV4:ү;m(xs \ No newline at end of file +-> ssh-ed25519 qM6TYg b9QXaopOE4ffCV1mNelzUSBejlwg+p2x5GuFiQJtXEE +Vx9fJQWJju9TPMYU6qZJ6aHb3atQExfSlUHmbXkoyr0 +--- uiYOy/yar6oKQHnP1eNkFlkiD4O9oOxng35UKQNf8FU +6Ii=ȹ8 ˇ/"*#^* +fgke4v +c$$dzΒn< \ No newline at end of file diff --git a/nix/secrets/registry_s3_key_secret.age b/nix/secrets/registry_s3_key_secret.age index 11fe1a434bc3a69ee7e9413cbf3c8e8ad15c2018..1ce82a2bc226268b016fedc9764b79924d40e4e4 100644 GIT binary patch delta 329 zcmaFE^oD7IPJKaYP=>j=cCmACaZY7qWvHu@uR(-=V4#I>nqOXISYSv}PKH59k#UBb z0hgI+iGPMiX{m3Zn`yGQlcAf7rXufA+YE+PAX=F~emw$OtexX@JSYTp=Q@w|IRaU5ZxGz^uV$`M$+x?jG z_P*XHWhk?D#e<0o(SIxU2{pdCka6QtME|bk-Y%bCUwtuu-hZbbAKf+w%NJ?!O}lmM zo~2|*bjxM&z|V#6PcS8LpWS-hcK5VWFNV1%)Y+%v64P~Z3m_uM;mvksonKj;krIbFfuUl zIILLkSFrNd#1J*xO%CO^^;d(euHq+rJ{sqFJ}HIn>Ed${!WWp031m2YLDcSv4Drkh1jh_j1js8>cta9DVVS7ceZ zmzz`X!!;m05Wy#Xe=FrrKE++7@9+?&Tg;LE-7r_suLz$|&$GG0io1PA}BX zc8YY*_w`8iiOk3j4=69KayBU{^vuZTN{Nhc4lu0>Ni2#=N)EELEDZO`HZUo6^vUw5 zbP5f$sB%fns!BB1cQ>=(($&>fFbIis4~{4{FiI&*F$(f_vB(PvDlSQKb&M)1(>KfW z%@3}q&q{GOj118Cg5~d-R|H delta 695 zcmbQhHi2z|PJK~Oj(K>pQ)p#!WmKMXL~3b3da83ks8di@j%iv%QkiR!e~D{wv1LG3 zK37qqVQ7wHQCOy%V|uA^PD-kOpuVS>eo=8^aFIc!d$4a-U~rC6n6X!IGMBEMLUD11 zZfc5=si~o*f~8@YM`^l3poO+icutyem3L}hvZY_Sfm?8qv#DpgM{;P9WpK8)ad4`B zYDGv+Xt7~BS5}%~fNNl;k70pXRl0tdt6NcKL~5F;f0kKEW~gs^M2cBjSy4q$NLp(7 z#E;_PJ|+>VrfIGbc@bgG>G`3#A$k7!A=(zfeibGm$rYuE*=EJwflj`m`e7DaUM2dW zW@TX^k!C6Wi53O=&QXq0X1UqHWs#0$RVLYHhT%qKzG;D;;YlWw;~B-nL&F1&6CjMPA|n#R%yN=*!;*}Ql1mFMLb9@Qiu5A`%M5(VBJy0ha?(Qsoq|H54D<~{-Q0^a z9ZkJ_L(9UAyuI|b-K+EiEh;SvvyBVf^Q%H9pJf!Uk4Q?&H}(v&NH31440JB_tnx2+ z3Xdo(b9Hj`$Tjk@%y$WJOb^U2%#JYN(hjMpFex-CH7^d#bF9pEFE7h9Dt2`W^z%+L z^moZl_suqNHA-_ab#zPT($&>f@D7ViD@iOchzxZyNHs@esH>(X;esIex|=urC)MH zI+tmrrDvLng-cFFc1f~pafzi_hI6oXXu4NLa6wpPVZKjLW?G_eW_pyiBbTn7LUD11 zZfc5=si~o*f~8@YM`^l(qosLJVyJnlYm!BInscUarJG-PdXAq4EwyUL+ znPZM)PIj09SH7uZsdG_ASfXiCYNel3Nrba+c2#RV79lQ6`SLSvkdAiJ|3D zhVGVur7ns2iKP~XK^cWkRY86Ro&m*$;eOiXp;ft+d4}%6`R>`1;~B-n3QP@3wNnbU zU7X9jBZ>{OTwDrW${n3U{EgEL4a$ovqDu8M%(C=Nd@>BUO7ijyjh({M^ZcDXosE)zwvS_3|z=36Co9vdq*kEzQZw@kp}FNzW?uO$~E$bg#(D zH#e!zugoZnbag7{(!ccOyUPzI-ioZh~Y%}!*Ne0p@@Mck^YvpJ0}Na+?>~VS-W=Uaix}qh^JYr4#<>V`s5~jebr)Kk+a+M zl20<4c%8ku`LFWir3s&`4u@>guzokAVq<}kN{#lDFZK6CWM^5-aXjoB%eh1+WGi2- z-RZwSi!I)3?%0*47r!9M`=0!fmK*lLFO@cIEcEY)p0UxiETg@xNo1dn`l&A&{cOLs z->%_Nm!H$AQxFtndF;mYh4Q;U?%{fOB>iUKp+mp>-=+4wlBnJg%Y5NAPiI~Ycbnb^ zk#1H07>0}`Nz*6lyG>elD6hpcEd9t5)2lI)1TutJuV3+usrhp5;p-fYFGcY(N!;I) O+zy)lnv!YM8U+BT=s%JG delta 823 zcmbQhK7oCLPQ9y>TVQCCi)V#@nO|l~SxKf_ex;>BL~f9KZlH0Lvvam-phtkWsiCiN zBv*E1fpe*gQ=)lTRfM5Qeqw}+et=hHly9L&Wq`Sdqkp7%NNHF|nTfNJ374*&LUD11 zZfc5=si~o*f~8@YM`^l(K}B(~K}5NCL7Jm}SXzmJxm#$JTXC>KR;Wo%YNWGyvUWjw zW|*&jWM!}`SD?OsS$R}gMY?yMXIZwVe{f}CiLsNTkz;5?gmb30p?_M2VX?NGesXB~ z#E;_PjsgA_Zeh-TxmDpVZoZa=`kqnAKE7$?`jrLFd4*L)+NDMjW-j45{_e?K+POJ_ zArY13ff+_VhLQe7VIF2Kjz(Ek6@hsX>7{x4E-sFl-eKluxgoBT;~B-n9J7kbL-JfJ zUHvi~i;|Q4E6sDwBXc7w{Ves1Gs**#!_sns%RF)n0>ZMnii$%#BXTNDBl5#5f?O+$ zLNar6+$~LglM+jPEOR~F{QbOA@**lt!a^pWVU(y(Dl791Dk!il_Daq2OU_Jn&kJ`g zHY|zAPqHvi&D77f)Hcit4oC~E49(|Cj&wE*^meica4YwZF!VRH4EFHS_ASq{%nC^K z%5ya>Ebz;B%nhva%+BZ1)zwwd&v156@-Ry*3otA%^(f3riZHXNiZt|a%?@yk@{9^A zHubBwaL+EX3~?#u(r@;gJ*Vb@#m*0!Yc!a96OVXZ6RlMb(B+%Pb?e%@;*)`8-;Xmf z?be@B>v_&(gWt);A)3O6oS(dl>2)iXQ2KE=`OT)EXO`ugJpCeGT_Ato>vZUZttLfB zr2}|8ed>1?#2o1`^FP>Rxp`4>|KW=-5*oU)RXS2H*GuIdJJjLcr{A8UWy@k~<)d@p z+_gGgcdPhAOlIqIM803>;+eUAhM2;YZ|ujn2ju--xi|1Z@Kr0%!@cvQCIoz6alo_m zoO5sY2XDXdWci~zkA*8;d+!jd!qjzK^8He$t=dJgU4~CzbJW(ec!o`$VQd(}&nI1N z!pkpkKSGO(JzGCqYTbs$*oCvLSJtOnR)u)XpCA6%cHMuAtDUn=ceFmg`ng2VMXcb5 NgF*Jp_y2!+0|0D=H~#+QEF9kHkYohu0m#5 zV6mZ@iFa{9a+Xh#p<#JiW>9IliF06Xn0JPUYi3foSAAicX`q2uRymjP1LMft;E+|H z0&boUc&UA#q0MI3j0K;vrG7m7^-EFr`24RYJ8V~0$}dzd2sb=7MfbkEI@{65|JE4V ze15q-_&{QT@P(hr^L>sTb==f*@^#KquG_Bc*EJLu@h z&nDJ`*KXT{Ui@QS@A+j`+3GDvSh5ctDGNHOsl+InaPN1=dGqrh7Mx|~DT*%fy7)1n zEXBN0Z>?`n#0H;y*;~QF+ZRquo?y+Cy-h3XVu55RQ`jr3MJN2uOxtwoeU-F>&Pr$P zk7ZM1MZ~T2XMC!S;6JP7roml#OFe-12{-%XfVqvUjvCIr^+b45wx?mj?`>y_xu%=G wNu7Yn! zfn}+_yRlbNfOkM)Vz^JPp+|6GU}R{jS&?bFp?;K8R=r1YNrpv;ZzR`|kYlXQp|w^8W3dw9I@pd-&X?{y=akMVomb#}AZt>47)(dnRhq2ZON%kpnes7-h@ uP3N*>rILik`$mNy7Zxt96KrYpKjczfw9Ak+u<@^kA=l>5nP=Cqp9BC#^}HDX diff --git a/nix/secrets/website_s3_key_write.age b/nix/secrets/website_s3_key_write.age index 42f873b0fc8544ce5b149a02943205b0e0308cfd..cc2d8cb978fe2871bd2dd70c4e1e0da6b77618da 100644 GIT binary patch delta 309 zcmcb?bc1PvPJMcre_mizNxrLvM_@!=j%RXyL0WQnvX?(-czm43}7`KX}I2-MK?dEUcyb$wFpF?qk`{9_DLa^g6B4o~)nJ;vbjhH}leh zgtb@W{cYYU1Sp>0Z>4oVGv)KLHtUj=HbK))+nk&e)cEcBm*?T94+<)N6`Oafcz95b zFPCwFb6U2czgJ{sVW_9EMMhRhM5TE~dU>#^rBg*oR%KyUUQ&QZvafN51(&X_u0n}^ zN>D_ZXKrCgzH3Bcc)E9nnWb}Dg;{DyN_ei3Yh}7mV0~tYX;4s@mkHN}*}AXlMN>Yp zr2YJ@@YT^_i>GnYx7tYo`+jf;?LMJ*JT@h4_2OS{8&=yIFXN2ZvuE|pcgfNpe3+MU zyByMHy&k61bH$CZ{_=yKRV-`_Uz8OsJ+?S7%{$`l?Xh>V){8YS54Jw^eyka2_Ko2~ zZ1~ycZ)rZc3lpd6Rdl{_?7RBr0H4OAI>BdsY17+21u8Z=yx+9RHNqjP{p~iz6SGZc Nxhvb|Z4Un<0RX1wfLH(k diff --git a/nix/secrets/wg_private_dns1.age b/nix/secrets/wg_private_dns1.age index 59f797a..da9fe8c 100644 --- a/nix/secrets/wg_private_dns1.age +++ b/nix/secrets/wg_private_dns1.age @@ -1,6 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 LZU5Eg YCaoZYLxmyrcSVXaTqDeC25n7lwuGlTDfWPNxg9etn0 -xSVH1o+ITY39M7X8FNpj5liEW/20HTq0ZRxsoo3U8JQ ---- i8MfM8cVg0SJnNqUYeTQ+dY2FZ6yEhIGkiHgxBzTDYE - -F0eҍY-{sh]ƬfApB^1e0!3s"j@=rRs(+" \ No newline at end of file +-> ssh-ed25519 LZU5Eg 8zZFvGVb6VIefxLJERJ16VqhKczWW2tcUEdSU4dIsC4 +5k+Qpn+ZloytTx4DhcgT3Il5lBlXIuNmwMvNKC1hvNY +--- rEDDdmvnau74yyYkVHKGx8kKi+Is/s/Ygt7PKfs4dv0 +=@_y\-*垣F=U!&vTbz~{RB4c!8WmFRU+i5RlpK&*QIS_*7-1e3WSQ)i z%@u0tTbz{cZ&+?xVQE-e7*yet;$mqMmYY=Sn5~~zSZ0x`pJeG|5g1_M%B8ETtKd@= zmTp<@?B(tj>Q`10iH(iQL zp6#>Pzx~)2ZFvugbL<;;Oxr3VuWV&srufo>SL&D_zq(_h>OQ^Ok-B~c!R`H@Z^m6N X^en#fyf#N_+rHYRa~J6;T@wcY!kAIi delta 220 zcmZo*YG9h6Q}62HsITu4kQou0o*Qo9ky2@Fn&IbCrk_`8Smb7E;GdJ_6>i{Dl%1Db z%vDupnCP9FRA%hxmgZtvVd!VzQ&{R-k{sqAoSjw@m>3Zmm1G$dVp&*}&ZVoXt56!G z?PzA0Y+&S=80uc?l3{6Jpq*aflN%Y}lW6W2YMJSg66&95;E|c-=E@~`Pxk54{L-CM zJEfnl{=B?;n%KOLKT5M}rJwqGg|5Hz>df=nD<)Qpem62~(l-6bW9QOXvgy92?iuH; X3!K^d_s=o^pWt+NS*iCswX??nz4BG{ diff --git a/nix/secrets/wg_private_minipc.age b/nix/secrets/wg_private_minipc.age index 1d0e1be..a3c964b 100644 --- a/nix/secrets/wg_private_minipc.age +++ b/nix/secrets/wg_private_minipc.age @@ -1,7 +1,6 @@ age-encryption.org/v1 --> ssh-ed25519 yMKb8Q QdFcYSyIYFlrx1vOfnWaFzULi8AxYIpH1HXLRZzs+iE -3JG+l7U6AXmWe/H9J1B3dFjD+GCNRM4wsNWR0CHU0PM ---- UXqL/EG0JYwnV4Owi0Gy4BnpW7QkgiF4z2P9Qskfq4w -@ -q,YL3)eqaK@]exC -tv-G!}Ji$=* \ No newline at end of file +-> ssh-ed25519 yMKb8Q OK8Z0x1tfsdGQo0Acqxj99IDVwfRRO4nHmtBuwDXpEo +FNfKD0EJ3FMQ8neRd5tNldCLp9Wk2K4/wlaEjKQPxPQ +--- y32/fNgc6fz2cAr76vUej99Xu5DMcmO8bDQepK04TRM +ѣ`'moHK{O-Ёyl,X49 '+tr&OK^ߚ> +(G>An \ No newline at end of file diff --git a/nix/secrets/wg_private_vps1.age b/nix/secrets/wg_private_vps1.age index 5dd33e1a86e3ce1990b794961fd8f04b5fb08578..c88ff5f8f42365a90f8000c0d1a059f95aaa2c81 100644 GIT binary patch delta 221 zcmZo;n?5>^;sTxD#U9ANHTWRzO!8183M?pkJ+nrQBxpOQIs5zQ|#pB9hFs5Wtf;!R^gSDS>|t^;boW|5@uYMzSXkMz=Kl Y?z4I720O%3(=?B6-KSh&kaBzl035PY%>V!Z delta 221 zcmZo=xl0TA5Rs8tLqr;vZ;K z&ZS=vkZ)A!lIs&>=~nKat)H8osqbQzmTDdnY?K!jP-twL6Xcd;?(LHq%B8ETt56hZ zP*h$~S{7*<72=VZ98{5}?Gllet)G>l?O7C@mRaOu7FJvtmYkmCkC$uooFC!Try?(6-d*MgSFblm(r!Q;ZTnzNnmuAe_F4OaInS${Fj!uSh+ ZmY~PMiUK$8&!--)IDeJ#f6~5v9|3Y ssh-ed25519 91VHug MzqFl7ZTH4laSYXRYPbIiXadl/bqVXPHRM7wD5aLhy8 -Ng19G3jaJJr1s33i0kCHxIUQeTmoISTN+VQQD3rB33I ---- JkYGUYo6Ys48HI9UpXGardgf+k+DC71dxLiXqxMmFEQ -CqC!n ƈ,bA8"MeNьnM[(֡XͤX+~ؓSnKXi8> \ No newline at end of file +-> ssh-ed25519 91VHug v7DD5jgO2eah7KvV9shAkyFRG1zce0kKKD6U/QBIzCk +hKwCVfnc/5wKEs2ow0etWhet/8+AT318LOnrEgTVEdw +--- WWKcK5xf8FeUsA7atbz8r/ScBM857aXQA9mN9TdpRB8 +Ђ/ ?K!A>9qmׂ,l^[pĻ!rmMEzʀO`q>q^cRK3 \ No newline at end of file diff --git a/nix/secrets/wg_private_vps3.age b/nix/secrets/wg_private_vps3.age index f9b5098fc0a5c5f760dbf1d7cd824ef9159b2cd8..63c109dd3f9a36183c4406247a5fb86a3ef7de3c 100644 GIT binary patch delta 221 zcmZo}BCy&ZVoXtB~kp z85yEoY3ku+SZQqGlW&;o=2(?cnrv*G;+|)cnq}yn7M2zfn4RtG>dN)tm%w-Sk0rk* zvbP;h*>Gf;@RAd!SIhS12hg&%! Z7jI+y|K#EUhaSmYfL80MZ?UJ{&H;9OP|o|EinWS*iO=;>YJ>gE<%&ZVoXtKgHS z9cJlPq@C|)n&y$=m|Yd-mso7!XJi=W;Tag5l9-X_8fs=?SYn>-9m;iwb*IL&Nx?@g z)EPLIel?T0a!xLCenqgfW|-_9nB*4`=ojwnX_%5#&ZVoXtKjPx zmTw$knCowl8R~41>zZ#;o|NR0TFD(QBD`8Vg diff --git a/nix/secrets/wg_private_vps5.age b/nix/secrets/wg_private_vps5.age index 5bef662..2f52122 100644 --- a/nix/secrets/wg_private_vps5.age +++ b/nix/secrets/wg_private_vps5.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 vT7ExA Z8248Zxd0dGjx/YtU3cVKwuKMDRaHQpo6d21bwSOWz0 -/7PxJCz7yfuGuBWioDQMizW9+tL7Ku7JEB2h6aG4vmE ---- xEBearw/OGRugS23zBrNGj5zKY/bNsot+UQOcCEATWA -!p%~)6- Hy*e g pXѷӖk وm4bnx6de \ No newline at end of file +-> ssh-ed25519 vT7ExA 1SyRWnZNW7piWgD9AhV3evIk5qmlPZw3vtaYysYPKUo +vC2skZEXjrM2HgU6nhrzqZhwVtIZWrZyaVZwUp5PE5c +--- 46tHy1OYd8fqnjpLu+MVYrJyPaP6UdgubrsvhI7KO4A +JHJSv}+ j/ MJP+~8A웧f^ۄljKAbH5U"@ \ No newline at end of file diff --git a/nix/secrets/widetom_bot_token.age b/nix/secrets/widetom_bot_token.age index 05e6159..401e63c 100644 --- a/nix/secrets/widetom_bot_token.age +++ b/nix/secrets/widetom_bot_token.age @@ -1,6 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg XJWJcqVabkHFOrbsNTS6+jc/pQ1a4D8lZkObT8BZwiE -DgFVt1+01MNlPm898/qnC0wGbs6eEsLcHpyANA5tpsA ---- VhhquCcml82lpKjXLecBoCz/2CHNl2S9htU2iIWfvyY -~'t/!Fb[k"yfiܨLGg!FqZaA3 -iE`v8<1Fmpx~)gc7R&%U'XDD \ No newline at end of file +-> ssh-ed25519 qM6TYg p+Rts+QHTmO+vPpCHEp2LTAdPF8UMq0BqoN3rAPzCgM +g5RaqS2rCOdp8/vllNb3Revq+bfDdHQkwYKsnNRN97c +--- Ws0i3nFuR6DNeO1RpdUvc3Irt4I3HuzBtPgxXsBaOvU +Pn_8PlJP(l*=V+QX=RObf'l&uU=F.`s ·_&}ά-<0_- \ No newline at end of file diff --git a/nix/secrets/widetom_config_toml.age b/nix/secrets/widetom_config_toml.age index 374e672200052d943c1c7ae3029b858fc3708132..34b8537e4ddcf8a605d2c7f600b78a60f1d64382 100644 GIT binary patch delta 4000 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 delta 4000 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 BnneHr diff --git a/secrets-git-crypt/knot_dns_acme_dns_01_key_config b/secrets-git-crypt/knot_dns_acme_dns_01_key_config new file mode 100644 index 0000000000000000000000000000000000000000..e1802502072e3ebbedaa296908b6a63b29607778 GIT binary patch literal 201 zcmZQ@_Y83kiVO&0xWN;BS@z&HuCE)X9WAnr`+DN_gT*bq@f>BWDknXiwl~*i`hNL& zZ~CKe8<%bPBiSQ6e^bNI1;?x8QDJo>uySMkHecjxn@CY)y#3h(Ed zko3WTjm2X(Pqodg+p_H2*vuDbU(q$2cE~VJtm#8jC+ET#C!3kY1%;)ihO-0xjBo!q K_o-CaY8e11iD6v; literal 0 HcmV?d00001 diff --git a/secrets-git-crypt/knot_dns_acme_dns_01_key_envvar b/secrets-git-crypt/knot_dns_acme_dns_01_key_envvar new file mode 100644 index 0000000000000000000000000000000000000000..c6793144e837a1ae3a866bf32b4234b6059d5487 GIT binary patch literal 89 zcmZQ@_Y83kiVO&0U@h2UE+tT#Y@9n~sgr8u)iV`QEzeejdwhJ6v1Wnn+Gt0q*T2@B x{*cG}!m6{pM41 sLJqIHtZyxOW5qeu8ysH*4xG5mpL+er+iRll^fS!=NEoy#e@g!a0PL$k&;S4c diff --git a/secrets-git-crypt/knot_dns_rfc2136_key_envvar b/secrets-git-crypt/knot_dns_rfc2136_key_envvar deleted file mode 100644 index 5bb8e79a0efe14fc85b94c13d4e21a0e027b6d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67 zcmZQ@_Y83kiVO&0@DY)CC2OB~;$l?&{>z*%_BCqVn`a&*6jiojaY*liOz)$9x)bN# ZdMsBP(sWKE@T2+LE%s+lc=TOw0syQv9}xfm From db4d3b15c3c7d8b0d3d483144c383143000899d5 Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Sun, 31 May 2026 14:07:52 +0200 Subject: [PATCH 3/4] ha --- nix/modules/home-assistant/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-assistant/default.nix b/nix/modules/home-assistant/default.nix index 36e942a..8362d46 100644 --- a/nix/modules/home-assistant/default.nix +++ b/nix/modules/home-assistant/default.nix @@ -5,6 +5,7 @@ # Recommended for fast zlib compression # https://www.home-assistant.io/integrations/isal "isal" + "fronius" ]; config = { default_config = { }; From 6c24213ec62315ae880bed26d09982a8902e17bb Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Sun, 31 May 2026 14:31:12 +0200 Subject: [PATCH 4/4] ha --- nix/modules/home-assistant/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/home-assistant/default.nix b/nix/modules/home-assistant/default.nix index 8362d46..15fe44e 100644 --- a/nix/modules/home-assistant/default.nix +++ b/nix/modules/home-assistant/default.nix @@ -6,6 +6,7 @@ # https://www.home-assistant.io/integrations/isal "isal" "fronius" + "integration" ]; config = { default_config = { };