From 370314e6abe9da08d3f65ae1bce8dedcd107115a Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Sun, 16 Nov 2025 14:42:20 +0100 Subject: [PATCH] Adding Kalif --- hosts/zora/default.nix | 1 + modules/server/kalif/default.nix | 21 ++++++++++++++++++ secrets.nix | 1 + secrets/lyes/hidden-sieve.age | Bin 532 -> 532 bytes secrets/lyes/mail-passwd.age | 13 ++++++----- secrets/zora/services/baba-admin-pass.age | Bin 355 -> 355 bytes secrets/zora/services/baba-db-pass.age | Bin 355 -> 355 bytes secrets/zora/services/giovanni-env.age | Bin 2288 -> 2288 bytes secrets/zora/services/kalif-conf.age | Bin 0 -> 364 bytes .../zora/services/kanidm-admin-password.age | 12 +++++----- .../services/kanidm-idm-admin-password.age | 12 +++++----- secrets/zora/services/nayru-conf.age | Bin 1044 -> 1044 bytes secrets/zora/services/taf-token.age | Bin 733 -> 733 bytes 13 files changed, 42 insertions(+), 18 deletions(-) create mode 100644 modules/server/kalif/default.nix create mode 100644 secrets/zora/services/kalif-conf.age diff --git a/hosts/zora/default.nix b/hosts/zora/default.nix index 26592a3..236f972 100644 --- a/hosts/zora/default.nix +++ b/hosts/zora/default.nix @@ -20,6 +20,7 @@ ../../modules/server/giovanni ../../modules/server/baba ../../modules/server/nayru + ../../modules/server/kalif # disko.nixosModules.disko agenix.nixosModules.default diff --git a/modules/server/kalif/default.nix b/modules/server/kalif/default.nix new file mode 100644 index 0000000..5855487 --- /dev/null +++ b/modules/server/kalif/default.nix @@ -0,0 +1,21 @@ +{ config, ... }: + +{ + services.factorio = { + enable = true; + openFirewall = true; + extraSettingsFile = config.age.secrets.faras-conf.path; + game-name = "Factorio :3 - Kalif - Zora"; + admins = [ + "ntlyes" + ]; + }; + + age.secrets = { + kalif-conf = { + file = ../../../secrets/zora/services/kalif-conf.age; + owner = "factorio"; + group = "factorio"; + }; + }; +} diff --git a/secrets.nix b/secrets.nix index 4a274db..a74b6bf 100644 --- a/secrets.nix +++ b/secrets.nix @@ -18,4 +18,5 @@ in "secrets/zora/services/baba-db-pass.age".publicKeys = all; "secrets/zora/services/baba-admin-pass.age".publicKeys = all; "secrets/zora/services/nayru-conf.age".publicKeys = all; + "secrets/zora/services/kalif-conf.age".publicKeys = all; } diff --git a/secrets/lyes/hidden-sieve.age b/secrets/lyes/hidden-sieve.age index 498efd74046c26a1e98b97f1b4b3e385c47c2b02..18607ae3c75821ebe93b293e374be7cd5e51474c 100644 GIT binary patch delta 498 zcmbQjGKFP=PJMv6hjX%#b5%rYU~;anW3E}Tqmz4~wsE>)nYMwEk)uV9r(39YdR1Vi z1(&HoMryXHVN!uvfJJ4nb5w9zPH07GzN3+4nVU&~heduwS$d>rp;2XKIhU@TLUD11 zZfc5=si~o*LWo;ox@WpVctnV?wqI&`K$(6~gioreYkh%Vc(8YhK}u6-QI7jJF5KgG{))AC7e`o6Jj+RmaY0{_#EkH3oj8zqzA zx>`SPh4_`Hoxtet4!b7%YbM`5@Mkl`&D=&O%|I=fO>W_)DE3Dq0 zms=KTe8~A2dqCD{mknnFb3=vGmw4`Uwf-J&w{4lYh|r&D+4-6`V@;Bte>Myhw157( zI#j;!oE6K%BQyU#IHRKQw(84V$*bpFBChi}xUMUE@|`7Ri6VnwoW6EsjkVLql2reL8n}1+vpqqbocCxccMo?h6XFz63d2m%gMR76P42=^9__-bnh|XDAxqfxi zjo$xLwk-c|cu3<`N4}P6`UBx}U;U-aPcz;BDHQCcETGPQq<_ ssh-ed25519 whuRpQ iLo2EVUsZTlQTBSm8mbt9dMXb/o1M/0QbfDcilY2sRE -uzfGi4pNeWoUPfriNmpqF6zxPa1wRe2ISamvLks1qPM --> ssh-ed25519 TFqgIg JKpj953iRNgUPvLXfyXjn5mbuV6149t+IrKB6xS5en4 -dOrWvfLxl2n6qvTSdLCty4ljx4lFwDRzK5Q/28gzoI8 ---- rn0DTUW0SrRd0Qq6PVYLao0CVyK9+la84eNw1aIwlk0 -] ?ZhZP&Lnp}Sn= .%HFnl@INaiq ja^'.a$ \ No newline at end of file +-> ssh-ed25519 whuRpQ vVnfUH0Wwq/LK2TZlusnnx+8ek9pNRFhF/wXST1a3Fw +ZCWL3smwS+y6gQd0WFnzGpI1ggvyy5JpbGb4wHd+UoA +-> ssh-ed25519 TFqgIg 0wcQ4rTJQY3TU9HnGzLUxf3JXRRN9u91g+mfyLKxHEU +07uYkfenH1RU6Ee7ZhpHS98z64OGDm5rQvzDYFyMIII +--- VtNomGz1v5/PTo7mSKrIAckxesAMN7Hoz3O+GDMGjbs +4HD)F٤3 +s n"] \ No newline at end of file diff --git a/secrets/zora/services/baba-admin-pass.age b/secrets/zora/services/baba-admin-pass.age index 555a858921b48bd487f6bb6dd8d8df7373197f7f..5f09d93c47d8502dcab4e85a1447530b7fc30b11 100644 GIT binary patch delta 320 zcmaFN^q6UaPJM{4SyFa!YJO;dacH1#xv^1MNLr>>cyK_dcAlGgnMqD%a;C9IzP7JN zF_(5)YED|Pdx4i>k%ePkVMtD1O1QU&W44Qv4>HLVQyfAUr=RGVPa~aTTpt1g?U!0Pf?l$m*_pg zX##y>l9vCOUOPvui!l4?Y0x2|=lc58>vol^+I#pW?{;xkf3o-P#`jSV5+dw$9^XkQ TJ@xzMsUx}k@ytit@8$sje9LrO delta 320 zcmaFN^q6UaPJLQ&Zn&wZWk_IoRaB6%rBPX8VTfChK|qzhey(XoPNi86KQ)z@naDiD_m{E$Wn~|fZYp|zpNtLHxMUa!Zfti11HkYoQLUD11 zZfc5=si~o*LWo;ox@WpVVWgXRcxbYVc51M(XL(SudA(CXMv|p>L1kHPMMiOIS#nNP zZlHTen^IauR)5renDz-AeXM4LUD11 zZfc5=si~o*LWo;ox@WpVaALYoV1}7lRANp^UZkg`S$$e+VyLN$acG%mfUB38zgLM_ zSb3FuTCPzbSFopJNPu@mil0G=WrRgoxqC{bQKWl*R*<$~RZehZrfE(^qLZ6tVPH}q zm#(g^Lb;J|wnvb0zIljKlu3$TsXPH!(l$Q;^$YFU6dTIp+$P3mrqtvQF&@uT5+(2QE5?WfWDu0malhqx{If)uenb# zm#(g^LX~Hze_@VEx`|U}QF4fnM}c} diff --git a/secrets/zora/services/giovanni-env.age b/secrets/zora/services/giovanni-env.age index d33d4be002c362d70cc1013e18c47ecf6f21e712..08171f707aa8bd3fc8913879504c43a370a044ff 100644 GIT binary patch delta 2268 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 delta 2268 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 literal 0 HcmV?d00001 diff --git a/secrets/zora/services/kanidm-admin-password.age b/secrets/zora/services/kanidm-admin-password.age index 7a6c0b9..7509378 100644 --- a/secrets/zora/services/kanidm-admin-password.age +++ b/secrets/zora/services/kanidm-admin-password.age @@ -1,7 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 whuRpQ lCtuCPk/R3lz8qd7WCvyrY1RdJBqYmfLmEvaP2HSRQ8 -btSCbYKU/6NtlTKIvarObl3jh5b1zb8T2C72ItK9Jg8 --> ssh-ed25519 TFqgIg tDrT5tQ8lLmzHVX4ez00QVoq+tgo8BDRlulbXR9Q2gY -aJmc0wJ4BZ4VUIirQpr3gWAXdI8Ch3xTMK7sMUhosbk ---- nS02Bo81ROb1TO5l1s38Rv0/n4KNxPHKRdNwsK8xBa8 -He󔰜 Xl}{&08H=ֶ}1˹MOˆFz}U^ \ No newline at end of file +-> ssh-ed25519 whuRpQ N/fngsrrtVQ7gD352cMrAi5VdqAZJW2kqUt2wq3PBWc ++ffxan7NMdBqgN7A9y/AboSbEj62rbpxOQztnsxzMSY +-> ssh-ed25519 TFqgIg BnIGv45fh9PwPPPkGyZGhgmYDMLzLb7sOkcHdv39l2s +2hwKUg6361EmoKkMLdI+YNzYAJr4SEbuckj1hZIP+So +--- aH7gI4uPkGzMFxGXntyL+j4wDrjJFWd63EllhsrhTJ0 +|;U8AZ6@_6683J`oH;{*ѻ)!.+ \ No newline at end of file diff --git a/secrets/zora/services/kanidm-idm-admin-password.age b/secrets/zora/services/kanidm-idm-admin-password.age index 8286298..eada7f0 100644 --- a/secrets/zora/services/kanidm-idm-admin-password.age +++ b/secrets/zora/services/kanidm-idm-admin-password.age @@ -1,7 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 whuRpQ Du2hr2NxB5rl8jO0j38/Tgu88iH0kcRjlIvDZeSCtxw -zvxJXTuzUoiCPXfmF5lOqcRSQQ2LyBxB7ZLmvhdHdw0 --> ssh-ed25519 TFqgIg AF3qqiQwL3CIrJbNA1Kri4s8OfSO+wL1Uoi05WxOTRI -73m/xvIoapvX429dutJKdZsJ3iVnSsX4kUvfX7+rZi4 ---- //FBH+l9jAFa3iy/KpFCzfC6shcv57P9r1uSz/8n54Y -b?n{K>+˳rOip>EPZc#qugHkݰY>y~'L \ No newline at end of file +-> ssh-ed25519 whuRpQ GWXfj6cXzEVGPUAlRe3O+GstCiqY0CF03FF52oUME3U +hPkBMO6vPT2vHOjScZ2SH/91wpthn1CCLol+6KyIvIg +-> ssh-ed25519 TFqgIg sKAUHjsM0+YVgvVN3rAsu1IxoIsJw4QOdzNQMZwLMzA +dp1rtkDl4+7YRNxs8T8cXlMhq+PifGvMxvTPCnY7mUg +--- sKFfn7OkPwO62miHGQ7OVLpmLE/jjxTKO4HfasH6Gl8 +;qEmaV{R?-pիl@d[Nm=L[,M+K \ No newline at end of file diff --git a/secrets/zora/services/nayru-conf.age b/secrets/zora/services/nayru-conf.age index bf76509831a729bd931f121fa1f59abf55a27d6b..ac1b95083dfbffab07e7f60c5eb3c682688df48d 100644 GIT binary patch delta 1014 zcmbQjF@fNMmS zFIPsSi%*1hsGCK8v13?Knn78Vk$YlRPL5epg-J+Jg-VXhhad7kwvg+O1O!Bc73E{VP2(=pGk3XSW$(asj-t` zd5DW^j+1*NmuFFBVTM6yka@XBVpK|%hg-Qh`*J?+O z4+6PDcJ=q$Q>%1~t0#pq)cA&6HEC%T%{pW8R_y)VTN{fm)mc_dpU1DMyF>bggxA)O z`u|@=|B4aiRh=PcJk@61NAWTd(50Kk%e#E3z8R z^Uo_SPgHr7bBVvHGva+v%-0tJW>0r?q^mM4KH_?!zq70ULsDIZELY}?MZp0rPsA3a zR5u=+ZT4Wh$l)(XO3Z&-iVLzvRUEpyP5Jv)OKILCp*t?l*u$HtGTrv(q-*c_T4qVM z&ryxrx*@@{T~TM=`PNzcZuS0M-B^=0b=I4n1l@19emyeRO`7>lTPrncb*Yc%A=hta zs+$>K`8oaAVLTQ2altrn>dQL$Zs#7v+BYwm9O;zmxZl=G*-o? z2AcWx>?*KhiaSuB=+8#@%P}rey{Co@XT#l=t7Ad{g|c5c0{vre9=eaL#EHGh8Leh16T z!WRpiJd1?60(?CR-?wo%un7lt&E6$x9d^BAK3@~(!L-)ci_N;s3@RcM_gm{18mpTf znH=J9?7{Mq{;yT){|Z0&&;PRcxK(``*G7J+i{H$WoEJ_zP|APk#MPPoN&@pvIP27y zUwQn#Q$?#IJoo48h@=L8zRJ!e^Ck)F9^>)7`|L;DmNv%{iUV()z*9OC%m|BeJ*U)xg(R8yK7}1N$e_pslu@> zWP+HMcWp`76VWZ!eA0Z6r3|Ztv);vji$1aOu4ud{bWNJdaVioS7afOe6;n{#+&xu=hlcX6n*S73gw zBUibLp|_Ejc4fL}RB&LrzN5aeYf?Z|L6W6gk-vAoM|yTpN>yT2U`2jqHkYoQLUD11 zZfc5=si~o*LWo;ox@WpVSyhf-wv(%OqSAFo7 z!!FMoO6z}Zd_PO*)ynB=EK5DS_@bZe^xI~7rR@v*thlmA*Y>Q9I_fe_<~f9K*>tz6`!rPB%j#CIun}(8CMR6 zmgUyE2Yk$1 z#X;`EeMSf8CZFmnE>*kRfxut{h4*BM2-V{fkT*|9r#J*&vg=X056CCx8=cYuHU zzV?NMN4?EF_t~>DZ}a^yvAKX}S=(k_qup5_OD!EQ@7er{Gx2EYW0pfZ*%w*VZ#3Po zC2-a4;IsGcH58vn|JKkL$n$1$(8OJBW~*oKy{Y|{lW8~a-gRjbthX(e&;HlC&+&Tf z+I_oE9&`C$Fv+_1`qf<>FP@x`_{a6=?(JI%(_b&CaST%0^XuY$mwTbodM^3fu52w; zHsbOXQLMRjbmfknbN+=-{v~VIcwOkg#F@KH>bss_c+p-IDEPwDV&_LIj)xCBcW(YE z$Q>e7tX&?elA2lO9L4$mwdJ#OGb~&erd3HjUapfi&qz@^W2-vPdCnEn7P)U%t@|+fQ2E6_1>xz}&#+zz@z`a`>-?<(@1|UB=vS`qJ;dxNR*P ZAMgn;N|!nM!AN;sY2)AG97~@|j{to9)6DFIJg;zwRsd-gksbgT0k#lA;*ZC8! zXLm(sYS+gFAJ+b{!Swu2O#WVXM%+pxe(LoK{z|-NI3O zyx6(+{g0gT5S|0u^Hs0jy^-~C;nY<}ma0nb2;DcO`TSSIyY&h`atafk$4PsOTAN-D zzv5apEtv6doOVB{KI=Y zGc!V7pYsxG=_;HtyP(^(J|XSgS?1#Zn`DEZnDug3YV7rY?jCv(e%0vo6QB>@ob2a&PUUnc{`Be6FvFzjoo?vS3}4D~bu}YAY@-IDXbo;DhCb z$M-%gJzA1~X?6eSz)bIu@cu}z?Tmj}{JZ$p@0_shYFnm|TEV|xjSh5@zPrs#Sdnttj5OI-S+P0RZ&ea>IsI72`+ GRt5kUAv%x% delta 701 zcmcc1dY5&APQ9mJVP?6jS5b&lRavpCcBGe|Uuu3>SbmaAnOk{Sl1Y?#W|Et4QE-w` zF_)Wup|P{KZ>Eu}UxBunYgS-op?|JXR)(dIzNtl2Xll8MkwsvbS7}62GMBEMLUD11 zZfc5=si~o*LWo;ox@WpVURs#Bueoz%rf*`Bak*E3aec0DMxzR2NkBaO_ngzrw&oYE z>rTnqd}Nl+5mt|rVP_oXu>V=xGoyI5R(aUs-qNKDUwCje+^oN;n6yJ~=FY$7GtX;& zFaIuof78R{8y9k-W$UYV-#+WYKEYbNKl=0*7ugf%b-UMD|KudQC{YKv{Ju0TY*4-!7V-`=2k(%YGGtD!KCym>M#i8?7aZi#R z*Ytn-FJ?C#<~CrQTK^>W&8uLBMGM~c{%HEJnq~5em6zn4u1l|GCu5?yx^yLJ^(~p_{Uwo?F@1`DIg@n8>RSp8LdBrt6z+j%H0V zS>KX%=+bg!hKqiaLRt0xUzmL|z%Hs!tA82KzV4N0u1r4glF8)7)g|%&7BM(Boo(l2 F001uYFroke