From 70c69346fb0abd859e90c8d15945ace560364183 Mon Sep 17 00:00:00 2001 From: sinavir Date: Tue, 8 Oct 2024 12:18:26 +0200 Subject: [PATCH] feat(krz01): init --- keys/machines/krz01.keys | 2 + machines/krz01/_configuration.nix | 26 +++++++ machines/krz01/_hardware-configuration.nix | 50 ++++++++++++ machines/krz01/proxmox.nix | 9 +++ machines/krz01/secrets/secrets.nix | 5 ++ meta/network.nix | 22 ++++++ meta/nodes.nix | 9 +++ modules/dgn-netbox-agent/netbox-agent | Bin 2407 -> 2517 bytes modules/dgn-notify/mail | Bin 2371 -> 2481 bytes modules/dgn-records/__arkheon-token_file | 86 +++++++++++---------- npins/sources.json | 12 +++ 11 files changed, 179 insertions(+), 42 deletions(-) create mode 100644 keys/machines/krz01.keys create mode 100644 machines/krz01/_configuration.nix create mode 100644 machines/krz01/_hardware-configuration.nix create mode 100644 machines/krz01/proxmox.nix create mode 100644 machines/krz01/secrets/secrets.nix diff --git a/keys/machines/krz01.keys b/keys/machines/krz01.keys new file mode 100644 index 0000000..fc5ba52 --- /dev/null +++ b/keys/machines/krz01.keys @@ -0,0 +1,2 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP4o65gWOgNrxbSd3kiQIGZUM+YD6kuZOQtblvzUGsfB root@krz01 + diff --git a/machines/krz01/_configuration.nix b/machines/krz01/_configuration.nix new file mode 100644 index 0000000..3cb2df6 --- /dev/null +++ b/machines/krz01/_configuration.nix @@ -0,0 +1,26 @@ +{ lib, ... }: + +lib.extra.mkConfig { + enabledModules = [ + # INFO: This list needs to stay sorted alphabetically + ]; + + enabledServices = [ + # INFO: This list needs to stay sorted alphabetically + # "proxmox" + ]; + + extraConfig = { + dgn-hardware = { + useZfs = true; + zfsPools = [ + "dpool" + "ppool0" + ]; + }; + + #services.netbird.enable = true; + }; + + root = ./.; +} diff --git a/machines/krz01/_hardware-configuration.nix b/machines/krz01/_hardware-configuration.nix new file mode 100644 index 0000000..6b39e1a --- /dev/null +++ b/machines/krz01/_hardware-configuration.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + modulesPath, + ... +}: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot = { + initrd = { + availableKernelModules = [ + "ehci_pci" + "ahci" + "mpt3sas" + "usbhid" + "sd_mod" + ]; + kernelModules = [ ]; + }; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/92bf4d66-2693-4eca-9b26-f86ae09d468d"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."mainfs" = { + device = "/dev/disk/by-uuid/26f9737b-28aa-4c3f-bd3b-b028283cef88"; + keyFileSize = 1; + keyFile = "/dev/zero"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/280C-8844"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/machines/krz01/proxmox.nix b/machines/krz01/proxmox.nix new file mode 100644 index 0000000..47c17b7 --- /dev/null +++ b/machines/krz01/proxmox.nix @@ -0,0 +1,9 @@ +{ sources, ... }: +let + proxmox-nixos = import sources.proxmox-nixos; +in +{ + imports = [ proxmox-nixos.nixosModules.proxmox-ve ]; + services.proxmox-ve.enable = true; + nixpkgs.overlays = [ proxmox-nixos.overlays.x86_64-linux ]; +} diff --git a/machines/krz01/secrets/secrets.nix b/machines/krz01/secrets/secrets.nix new file mode 100644 index 0000000..057ed28 --- /dev/null +++ b/machines/krz01/secrets/secrets.nix @@ -0,0 +1,5 @@ +let + lib = import ../../../lib { }; +in + +lib.setDefault { publicKeys = lib.getNodeKeys "krz01"; } [ ] diff --git a/meta/network.nix b/meta/network.nix index 946b802..ee002df 100644 --- a/meta/network.nix +++ b/meta/network.nix @@ -29,6 +29,28 @@ netbirdIp = "100.80.75.197"; }; + krz01 = { + interfaces = { + eno1 = { + ipv4 = [ + { + address = "129.199.146.21"; + prefixLength = 24; + } + { + address = "192.168.1.145"; + prefixLength = 24; + } + ]; + + gateways = [ "129.199.146.254" ]; + enableDefaultDNS = true; + }; + }; + + hostId = "bd11e8fc"; + }; + geo01 = { interfaces = { eno1 = { diff --git a/meta/nodes.nix b/meta/nodes.nix index 2d7af2c..ce34fbc 100644 --- a/meta/nodes.nix +++ b/meta/nodes.nix @@ -70,6 +70,15 @@ nixpkgs = "24.05"; }; + krz01 = { + site = "pav01"; + + stateVersion = "24.05"; + nixpkgs = "24.05"; + + deployment.targetHost = "192.168.1.145"; + }; + storage01 = { site = "pav01"; stateVersion = "23.11"; diff --git a/modules/dgn-netbox-agent/netbox-agent b/modules/dgn-netbox-agent/netbox-agent index aa49dc0520e4db408603d06c5b228588ff9af201..6e3014b263d15fc3f8d52b07411ac434b4c3bd90 100644 GIT binary patch literal 2517 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 B5@Y}X diff --git a/modules/dgn-notify/mail b/modules/dgn-notify/mail index 47e86ec1984399b0f6dcd6bd7f344d2a3e68b6b1..a56ae444574201307cacbd521a6b418facec3a61 100644 GIT binary patch literal 2481 zcmZXVIm;|-9mKg{GzLcAPzD5(=Ge>h3L^BrP51ONy-b7POz-=?`V9;X&2AzX2v;!{ z1Hr_=L|hQm+*lI@-{cs)=L0A%U4o%HT zlClnjAu~aGDoabUo=2o=hdAEDErQ=2?USl3fj7=ZWe){eC&C%VGj(%mieDdTN{+iBaD29Z=VcNJ0eJ#7FQ6*SL` zGo~KN(@0ffIevj*w3INBdYRa4E5qn9T{-!(AwTZziJP~MG5d$$_uwm<#`vhkt8qMm z2PHb1mC0iy;1~Hp72!wPFh0-a;IUWp6z(FW^H(LnOKJA=?dS(H-EvCHA(^-!2si3B zP-JvYkkFLuB6yk&;L%yd!q5kl&IWr^wU&z{ zhT}^1(%-p(f;spY140J*RD6;r=;6PlBWL?+Z7&{54F>>KDl;B%dXo@G8%93EgId_f zWy__=-R$*NCjDCLou$?JayqUBSKsY+G+@r*mx!ziX$MuoO_z2PH=JWG)Y7LYAV04- z(v`33bpu{dRKP>F_0)XI_nRG}B2_(k2AJz%k+b790@Q#{?ke7&{+L^ES9akjypw=wA8%lk`!WB5s79o(n(#L4x!F09jx#V6P~1n*!Cb4pk^E?{HD+VPW z2(;yX7=SE3f~t28(Tj!^z=R%9;-=ji&5=)2Tp@{9A`E(OF?EU-8(%6@rrkvcwD=}f z%vB4z`bjh9dust%0`ov&x?G}Cny8Q zMV=8*V@DXwK_BWf@fl&%KvoJ3lrVmsGqBfj;u9yS&Q%HXyjll+%>?}6nap$Rr=Wcr z`gEl|-wDMmiurc%eBa}&{Bc6x@^q7p*dK|9+2(2kHN1+LBw}n_J6G(GxIvcAx99#z zCPBt}JB;VZQKIH`mqDvX*pjZK#^4hBS=>G9GF-3dTPGAQ9mE?%p74AcD32*1KA+WS zw`NNN&>RQ>oXdrsdB^~JE0@LK>`&Xh0Rm#4U%BbOXt)h7b3w1Tv1XWo=8mZ6!rN=> zG7#$90nf|XL{DZA4*HdUb!CpLoOik0S9c=O`+CR76z@a3s^$Pwpd6Op{~Ms`(zu?N zTN-FS3rvz{xmG8xk8Q9p7S@LhO4!nB^;?nN6)Ba%w^f2_BzaY+i)fBTIzx`eOX9Va z(K2d+SxE{)LLt`8^of&$)K2&Hyrx~YQ)v}sZr=z%9+{k=kl~=cve|FMkaeisy+aY7 zhNn?zL&7ZriPKo-t|(x_ETQXe6@l=f6wd=`+eIuPIRDAw0`=RDn&&RgmVHnos(o}c z=6b7+b2lX{+m_bKt|nHSr)O6yN-I6JhG$v=V_#JVl0zKm=SVo-%5hoK^ol-6{OG+c zL^`5;ymu0kUF$`kb2}X$%&YS%I(2AKqZHlh+u(kidE=sMQ9Y=f6|;U~kEZ~5yV(te zgAgV3*{%e2#|8|8G7`t*1`ZbFbBQjLjFaVin*6{7+dTK?%~uBeUPfyo3aJ}oq}g|R z;llIb7{~15?kmKKtf|sd5+!Y8((KzHC@-|f*mSznL(ieogtG_e0fHw2jUF${+Xj62 za25zQ2PVYnEXXM5>Pl0gax2=qe?!Ers14l*#1^?yJwu*;^PM06@q54g8F&8Y=YRO( z7r*|u^rPSY^l$WM~4h|NO<5?pMDC{dco|_}8z0ga6Ave*g2ISig!t{|f!h O|NIX8!T0}!efxh1fG3Xt literal 2371 zcmZXVxymdF8HPv98q+b94u#@Ob?sG&So_wsb?vPvUHjIxFI|-j;#`1m6jLKLnMlDv zm`F?%G4mD#F%bszB$NE-3Ld_f_j$iZp1w=lc-;HB?Ap(|F$Y)Z^zM7-X)4~O35;P7 zb*|(fGwHKz$1qW#dgif`%R%fDCu2d>ki=_xN66dDJ=_N5u;$vVn(Y_6Ls8^ zNNK1Amb*ozKyh5MSG{{_9KI5&xxA%W&5fa~GvPxA;&z&=i+h?qRqHv?>@iqvOD~v$ zD|eD=Q2s)%wtG^`-Br_K>E#117zZ=C8bg&U8tU=Q51cDhH8YhOlgr6(X(Q08pmpw$ zsuOP*SYpV?!4hA08M(DcdD966?uzkMrKLo7SIx>#`O@mRt#GqUjI2Gw#wErfD1Wxm zAndMfI&sh2>n!=4RSqFug_RDdTP;OU^i%a4} z3%shP2KP|h6H9qs?kAN{S_*{}LR9AUDZvq6%@VArfd(fWH(&8VjCAZF_srzYlZv_Z zB!;>7au9E`^FTSlw%`(sb=+yCR~Ssh1Xts?uhagzx8S;2v2~u^;~1j@hz7ioeZn>B zf-h?FwwJd|CW~x9DB@tPt9av2sbDfAZ<0CM)#VnsEK z)?3=;MiCz@0ex*7dd|!$XH+4~@&;C%g81sd_1=o4c0@waS}q^J+G%yMt&1+WgwrdybaOFGmn6iU-A=&k8v)nvK2402d&SVE4BH9XS#wbjS}Y`9K3@m(;aOUjGLX=aCqqN7nz=jRW$JR3k{(v+A%|sF6}49VNa}$M z-YaBT*pK#R<_6`Kp9RK`i?uO1Sz?ehkKEjreYW0hQJ#)m(FT)=id0kM;X^R$$%EHC1= zN#H_6p*eV~Q}~XlGMsw~{2{+(4_SfSgJ>jsCo?;PYNW8BG79&s8Z7xmL49htZ(9N~ zx1O=iyQi#-1R-L(uZbHYlpQu>5QXXu@)BF^N&K(_<$7g>{ABMGnOz%-q4{NxcC3BK$hzkDfz%;${`|$yzx@3D4}SEoPrm=l&;I*2`5%A%>UZm}f$zK@ qzWI$`efK}V`RDxQUq1ij??3$ZA3pul`yc7fSAYE0@Ba_&Zvqhj diff --git a/modules/dgn-records/__arkheon-token_file b/modules/dgn-records/__arkheon-token_file index 20ed02d..8bdcba9 100644 --- a/modules/dgn-records/__arkheon-token_file +++ b/modules/dgn-records/__arkheon-token_file @@ -1,44 +1,46 @@ age-encryption.org/v1 --> ssh-ed25519 jIXfPA FhSZKBAccqBqfeayNqY3fhYSi+0NMxsxS3WsdvuVu2M -xT37RUaShiHdPBUnjWntSY43LqXsR8Pgz5kUZ/mgz2w --> ssh-ed25519 QlRB9Q xwok3cJ6SlGxlGi/UesKHVf+O4q9mn7btLweXJzeknI -LrigakDhwhHCHEaJ0eQx6TIke9vYLqXwwaUjusWOvSk --> ssh-ed25519 r+nK/Q DS8/iUfczVGxB/Hl6EkweNAGSM0ZhWqrFy4xn82QNH8 -0Z8KOLZtxh2c0JTeiPbz3ZDF3CYrDs7bmwKjjemTs0o +-> ssh-ed25519 jIXfPA sHMGZvBA3KQ+vgyPRvthm7RrZv+cpA8rVaLMG11tWzc +wb74jb8YFbu4hTaKECNpaCV5besptdBoXXstKd+eLTI +-> ssh-ed25519 QlRB9Q RILFFiLngUvfSPOmw6ZLmFLVyIIQqzib7LTV8hZP/w4 +na6S3iWEs3cxff30X59wD0SUNEP0/9LcuCyCUi7wgxg +-> ssh-ed25519 r+nK/Q Mtrr3NKJG1MBw150IZK1ZTKCglktIK8mV2M7FiLz9EQ +zEEJwKeucMsZePFTZF/Cxfcuqn7KiSoBmBnNVKX1jAY -> ssh-rsa krWCLQ -CDqVAHHD/1keQdgJZX5/hkiYMpZae1MocI5LjtWWg+QDkw1Bp6bNZLou8Uc2RG0H -xZIB+z1XSXf7iMla5l7RWbW+g61T38QKWoAwvAGFz+XOstBTDY4bWgSv1g6vm+6x -XuQLxCkj4cmy3dUsvaiiQXsstuMGOWSUbp2OQWfErzoVegHVCr/XKSAI1vMwQOWN -9tJUJCKEo2DTr5OmIL7kSWguVZYy77ta7JxmGbPrNQ7LJuRoZkUgX4V37SFgDKN4 -QgpupxXP/3oDhDSzZYbS6Fw+b7U01BwPyziY1kOYztv2qSoBJFMVtZS3oJEu4ChU -7MRHaN15cGZRsC5zIQAg9w --> ssh-ed25519 /vwQcQ ZPWBCoQ7imVFfTkUYrp4NGRnz3vskNtMgbV41F1s8BE -oTrgDNisd8Sqmxo0ZDpVSO5iURWNLrIlKABjys+gHhw --> ssh-ed25519 0R97PA CgUUW9m8+M1rpsCPAPyRC8VKvilDKMA8VkDqqDfbpAs -qJ/pa3VLh6650lDN5YPyYtxsDYMiRyTtK1yu+JeF3ww --> ssh-ed25519 JGx7Ng r8OMU9Grvd8yxzzUzeEH4iCPp8NBHVcQKQe13AJOKjE -eYC+/VMsoetiVFTGdlAL3xDDe6WziBYU4Fr6XN/HlJI --> ssh-ed25519 5SY7Kg 4T4xlrNW8yqI23A3GH7dRDyhbUA62ldS2/R7YCsHz0U -ukewT84UtQcAQNNSNogi3WOjoNeA7p50D1JHJ+39lYs --> ssh-ed25519 p/Mg4Q EBlu4oYIa4hX5mGExy2xwyHbnDli9xY7MebUOr+hTzw -TqmNgHL1xxyI+i4h3KgskVsWrlYUnuT5MJWcYj2crps --> ssh-ed25519 DqHxWQ KiCWC6eJOUScSlPNpC2G2FbfD/fQ2b14KHhuw+QKNTI -Un89T6OXiXWTBZqwdXPvyckxcBIhp2wmC4A5723b/5g --> ssh-ed25519 tDqJRg k5YZwwURv21NC/0tt2r3CBuUPDhfO/Y7c3ISVhMGQkA -sdm+SpychoEekD6JK6Wz2CCcfDpwPD6rlLyB3RJES08 --> ssh-ed25519 9pVK7Q 2kUnZCmNsAu90KA+st/ZFnez8rg4zqIZ3AZQsqHW0y8 -YlCXQ5g8vnNboPVHdSKyrdwRNvjwp9VHP+RV2WP7z00 --> ssh-ed25519 /BRpBQ w+kqiukijvXdlvKdTfVvNYv6pLTifaZeagzU1VWQLwE -RKNPvu971viqMHBXpgE9D8L9ievWxIS5ANU8QADqwRY --> ssh-ed25519 +MNHsw m+K/VIApzxBfYxc4/dPod+9TwBBTrtGa/B28QhawAD8 -gwJLtE5zIiNtKZ/YdroneSLLuZzvoAXaJYsqPzPkyLc --> ssh-ed25519 rHotTw NSgFCgFQxKc7DSrNq/77PAnAKxSG055gutF2aUUDLzA -uL3QhQHmtQrrUPllFtVf7QiLIMWkT0EYIokxUVkLMrc --> ssh-ed25519 +mFdtQ otE9brZku3sOSb9IvvTW/eioWDFvMJlsxSUvOcPNwiU -7vV6u7zLv2EfSz3qmY9Sboj2Z5LBwSTxrl4FWm3mYAs --> ssh-ed25519 0IVRbA kwQNIVhpFtgIlJAAoqk1fqUP9OHN9YGWcYXbT+/bHE0 -gDOPJMeDI2eDx+emxUNSb/MW7IRPj8ni3mOLgZV9F0Y --> ssh-ed25519 IY5FSQ gtGe4X/Vx4oWn0IIUwv6qpWZ250slvT/QMdwVQQrsAQ -yeJ8+BibBiwq2944ruZdek/4tpAqyMnG0RsyzkXQpRg ---- QhDkZSHLpgsvAUk5YhkhD8MNNX6Vlj7CWeQfJ6oEmk0 -|`P!+g&i;lNn 4kW#胍w \ No newline at end of file +r3OX+AaSGO0zLoEAvAo3UrtWwU/Vjyfdp+qy4haB3tpl305I6Y6O6n2iHnc1PFgw +qQ7Sa0GekbxNcwD7MzAmKbsm9wmnrF2hX03gFDI5isEPxaLC6ha207Ykauc2q1JC +/SOZ/OUiizBUuO5OjywYz2AJUfEabmd+X1fw5QxAPSfp57KBZDJCGSpEDeJigU7M +1n1XsT6eCyNDIIozRzIIyxLZU+tDDswjvjCaDJ/t2BE76LienwMRZK4P4tSn8DQP +Jbm7bb5T2P1VAK4qIMP04DXQ861Kr2DvpLA/aPtHd9yMcZn5wQWMCVDgsL3ko0fU +VThQwBW4qe59CCxA68TUcQ +-> ssh-ed25519 /vwQcQ KYM+4CPxNwxwh3liBBJYIqlWzpDO3h/dl54rEKQXGHU +uteNJEqwLKUC3Gjm0BiRmb3uLb3bzRfpf3c1Da3vGjY +-> ssh-ed25519 0R97PA Sc9QAI4UNY6x0fZAoQOpUjzFzwev196x+7fjeIry3AU +puUi8W0jCbMW3cN7PjoDM+vXnHjdQ2RLfX0kdpsaWhI +-> ssh-ed25519 JGx7Ng LzO5qvnVWhF3+cR4J3nJv9IB55/FYKillkJ2jKadfQA +r3F+FKdpoKTB0/e5Vz5JFh9u8BKBOjn9XXE4dJEriuw +-> ssh-ed25519 5SY7Kg Uz/EgMgi0ACJStIvz06efUQpeU6VAuXVj+Veki0LkXA +ukCkNIQMYbZBCBfd5R5dKWJwOcIKHzS9HN9CNk5iSF4 +-> ssh-ed25519 p/Mg4Q 9+IsF8fUNcQhRxRddI6WQyKP8Ky0HV4jAUvS0ySDDwM +7WamT/OA2Os6uE/hKzWkfjlwOKQpZ6j+fcgkvsk6wCY +-> ssh-ed25519 DqHxWQ WndaDm+ApRfFj+KL5cJgJqwaZXUYrXHpQ6AxDtGb5FY +u5RHgWaY28QfA3jsD54PLR50Jl5KQyVpPv4CFhLPiYI +-> ssh-ed25519 tDqJRg Wgx7QpoPeendwBsWB+jAN5K+1uhxPsEHMugOPeC+Ono +CRWVWTQB2eCVSKAwIzNNaWefAmniVtF5hu8xYeTGF0Q +-> ssh-ed25519 9pVK7Q kB5gWwwNNcCnjN5+1j7alWzqEgYMDQ3IvA8/0ltfLwo +Tp7n6v/s4swKjOqEDKEKhM8agghKEvaz+zymG+b72f8 +-> ssh-ed25519 /BRpBQ 6B5ODsRsRx8EIOrzBnAAw1bYsAQMvssSC1xxbAh+bGE +Xmhe74XTMwfcGvk620XixhR/6GtOt2fynSMdJ7riZxs +-> ssh-ed25519 /x+F2Q /idVQW3v18G3e++zLmmcpZTvSW6YTfYKYX0xalx3DTU +ybNKGMgW5ChQU2HXHfM0Od6GWC+HRKDemibhzi+NCA4 +-> ssh-ed25519 +MNHsw +5EkjYR0CD0tF3jazvyz6WtzIG+84czuEsGzPmucOVI +AqBXlugxP84nJ9jK1dPWWRJAAAzZjKl0RKd1+aXeIJg +-> ssh-ed25519 rHotTw IzGcfj5jNooeVt7+iJwnxUfka95NVEtE9dStQUt+gCE ++lrjFHAgNOxI4JS6tGXcDSnbdn6/qwt2tI2WdVX2tO4 +-> ssh-ed25519 +mFdtQ AieFjWmv27LvUbZXCBEqmvfTQM7SLXL12qIOzZLxdi8 +s0qzhUO2FDqr/w8B4cbnX8NuXfZM+nv4gj6SF0DreCY +-> ssh-ed25519 0IVRbA +S10pCaLByp+UrfbZXIIhMvUW79NPSSr5qHbm8Q8nxY +fLU4Shu/luX9gLrJDM8rY+HRpHuuLKJAz0BSiLfXkj8 +-> ssh-ed25519 IY5FSQ FJGXPcN7XjZTl3zc8iLSmc2IfhHx/xqIqnNz7j0dXGg +D99jvNKh7yzafKB9qzOX6xNjhf3WS4bYBcc91dVX6Ow +--- USWnD/9XEj6tW0aHMZiVK1Guf43b/8wWcsafnVT0+h4 +RqH,XHs8tAbAGIΤ,ݥ: