From 9ce4ff862f72f59634e2efaa94afbe11ff3e53a3 Mon Sep 17 00:00:00 2001 From: Noratrieb <48135649+Noratrieb@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:51:03 +0200 Subject: [PATCH] garage --- newinfra/nix/hive.nix | 3 ++ newinfra/nix/modules/garage/README.md | 13 ++++++ newinfra/nix/modules/garage/default.nix | 42 ++++++++++++++++++ .../nix/secrets/docker_registry_password.age | 8 ++-- newinfra/nix/secrets/garage_secrets.age | Bin 0 -> 795 bytes newinfra/nix/secrets/hugochat_db_password.age | Bin 339 -> 339 bytes newinfra/nix/secrets/minio_env_file.age | Bin 397 -> 397 bytes newinfra/nix/secrets/secrets.nix | 1 + newinfra/nix/secrets/wg_private_vps1.age | 9 ++-- newinfra/nix/secrets/wg_private_vps3.age | 9 ++-- newinfra/nix/secrets/wg_private_vps4.age | 8 ++-- newinfra/nix/secrets/wg_private_vps5.age | Bin 256 -> 256 bytes newinfra/nix/secrets/widetom_bot_token.age | 9 ++-- newinfra/nix/secrets/widetom_config_toml.age | Bin 4006 -> 4006 bytes newinfra/secrets-git-crypt/garage_secrets | Bin 0 -> 275 bytes 15 files changed, 79 insertions(+), 23 deletions(-) create mode 100644 newinfra/nix/modules/garage/README.md create mode 100644 newinfra/nix/modules/garage/default.nix create mode 100644 newinfra/nix/secrets/garage_secrets.age create mode 100644 newinfra/secrets-git-crypt/garage_secrets diff --git a/newinfra/nix/hive.nix b/newinfra/nix/hive.nix index 8bee4c5..09bd1ef 100644 --- a/newinfra/nix/hive.nix +++ b/newinfra/nix/hive.nix @@ -160,6 +160,7 @@ ./modules/contabo ./modules/wg-mesh ./modules/ingress + ./modules/garage ]; deployment.tags = [ "eu" "apps" "wg" ]; @@ -170,6 +171,7 @@ (modulesPath + "/profiles/qemu-guest.nix") ./modules/ingress ./modules/wg-mesh + ./modules/garage ]; deployment.tags = [ "eu" "apps" "hetzner" ]; @@ -219,6 +221,7 @@ ./modules/contabo ./modules/ingress ./modules/wg-mesh + ./modules/garage ]; deployment.tags = [ "eu" "apps" "wg" ]; diff --git a/newinfra/nix/modules/garage/README.md b/newinfra/nix/modules/garage/README.md new file mode 100644 index 0000000..d049bb4 --- /dev/null +++ b/newinfra/nix/modules/garage/README.md @@ -0,0 +1,13 @@ +# garage + +## layout + +- co-ka -> Contabo Karlsruhe +- co-du -> Contabo Düsseldorf +- he-nu -> Hetzner Nürnberg + +| name | disk space | identifier | zone | +| ---- | ---------- | ---------- | ----- | +| vps3 | 100GB | 020bd | co-ka | +| vps4 | 30GB | 41e40 | he-nu | +| vps5 | 100GB | 848d8 | co-du | diff --git a/newinfra/nix/modules/garage/default.nix b/newinfra/nix/modules/garage/default.nix new file mode 100644 index 0000000..80a15ae --- /dev/null +++ b/newinfra/nix/modules/garage/default.nix @@ -0,0 +1,42 @@ +{ config, pkgs, name, ... }: { + age.secrets.garage_secrets.file = ../../secrets/garage_secrets.age; + + networking.firewall.interfaces.wg0.allowedTCPPorts = [ 3901 ]; + + services.garage = { + enable = true; + package = pkgs.garage_1_0_0; + settings = { + metadata_dir = "/var/lib/garage/meta"; + data_dir = "/var/lib/garage/data"; + db_engine = "sqlite"; + metadata_auto_snapshot_interval = "6h"; + + replication_factor = 3; + + # arbitrary, but a bit higher as disk space matters more than time. she says, cluelessly. + compression-level = 5; + + rpc_bind_addr = "[::]:3901"; + rpc_public_addr = "${name}.local:3901"; + + s3_api = { + s3_region = "garage"; + api_bind_addr = "[::]:3900"; + root_domain = ".s3.garage.localhost"; + }; + + s3_web = { + bind_addr = "[::]:3902"; + root_domain = ".web.garage.localhost"; + index = "index.html"; + }; + + admin = { + api_bind_addr = "[::]:3903"; + }; + }; + environmentFile = config.age.secrets.garage_secrets.path; + }; +} + diff --git a/newinfra/nix/secrets/docker_registry_password.age b/newinfra/nix/secrets/docker_registry_password.age index 2e36b9f..49979e7 100644 --- a/newinfra/nix/secrets/docker_registry_password.age +++ b/newinfra/nix/secrets/docker_registry_password.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg lW7MJ/iW+nvXMk984BZjeEojIbqDojP1y6w0sRkQpzM -5t7qrvWDhmIfs0F2Av1kkq0zB9LMiHG1uM9G73KjgY8 ---- BrrUNOV8vvacVsORvb5tnuoZENT8dvSv9ZQPKDY2cbA -YE@u6ZX_BSnj0i97hCySlH{ i \ No newline at end of file +-> ssh-ed25519 qM6TYg ciJZbD4GUbcVmy6rikyd1kwSJCsBv3itB51s73srmhA +/Z8BXxEbeZgzZZ+EYLbi39LIu1Wxq0xjkCaFn3KhoW0 +--- DaLt8rTk6Sng6r8D0mUjP1MMb+NxCa6gYUJ9LLNFGo0 +xbV0)<ˉbz R̙#[,30)E7] \ No newline at end of file diff --git a/newinfra/nix/secrets/garage_secrets.age b/newinfra/nix/secrets/garage_secrets.age new file mode 100644 index 0000000000000000000000000000000000000000..4535b10a425d7f6514d6da0f25ec21f192dada6f GIT binary patch literal 795 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSH^fe2KOjpRv@%Q&O zDvxvv)HV$+@C(Td%Sbj3HjIc2_fGO~GBS40_V#wlcJj_~P38(J3=9vlbS?BT3~;H+ z(6_YkNecDJD);aS^K~q)@b@z=E!Or=t}^uT3`MssqRP=ZDp0}S&%n{k+0{SSqO8KD zD%YjT(xlweyfV?rKRC3!s>(0N#3SD{GQ=}8yqqgMBPzSt$sGDn3m`|ufUK( zCv!KyZ0$@FGxMN`?6OkRv~ox7JWsBQAOokg?1G5$(xfOqLl4J@;!saZ*Ni}8k3s{( zD4(o+uiT1=!l+=2^gwjm%0kRtD;yQf3k_VI(#$-QvrYVhj7q&KO|r}@{Zh&UbAv5Y z-IJZ&OM^^2bF<6LDm}S;{47k1lXENGj6E$wDwCZIQcQfDEG>+^%=F#ELjsC?3PQ3g zvMqBm^^3W5b#)cWd@^$KvO`=#O^w~7%#)16Bf~Q-+`^oL0t}oz(p*BbOH4D<0({E7 z!XmlC8Q+9;PW>lyZqCwIH@|&46f*hHNrQkVysQjCZGU%&Fy2yV-q=;dcmHH?$04)p znzJKMMl9;OW|VjGSpP+n*^i>{q)v-->&iUt#p3-aCPv0M%zjPTjQ5QkbGYmD-|u_J z=;|D`-a+-mA@60DtZv@CH)mwefBSps!o@RH-j;b^onrOsZ}h77YPvbyGHl{Lzkc(m zJ^SRR!=#gPs_;-9M9{5`*2;*`@hWnC-=+kcdX^{zPUvtK85LPZB^`2P2(NLE8p9w wJ$p1If$!~}GYJuXmHm_1C3tT31#HfG$1f%SciJ-d;B_ZO_Gtu0ncF zMtE{$a*~CiepzLazISShM?i66Za|@hWol@$QFvCOQ+-yMfklb2ivbtsy8~UC>z3WQ znl|qGEvEQNB=7>`oT0!ZSq#$9WSP6b>IHU9{$t$>$4*z zcdI|$^15*F{g1atHfW}|d2BD|a(c4hm)J~ZHin0@Y!7@af5>t&Lc@6j$DHJSZ*M7n KRxuBcIST+&g@jcA delta 304 zcmcc2beU;_PQ7ekwTarapR$h9Z z373bTuR&yHWtm%Ak$IkLa=vGPe!01KPhFTjv ze*XQ(c=Axvp{2h&VC4KF+uO)~-y(rKzA9x?6c1V~ I{VxFB6X5r`MloXY&Z=6(UQRd-q5oDQZ!KG`bP+Xj$ zo0?)|YHDby5K-mm92KaLu3eT9WKId+UR6?6mKg4qUsRlxmF#A2%5U<$keN z>dsN~FUiraw@(J&?ODo`DDS_{f0N&`Pr^AN?ta_i&vPk0{=J9K!(r;Ni))&FSIR6D zHk%cva(h$0!^~T)`~s!yvwf#UT5DJ|{nyq$KjG4SYG@rw1-d{Fl4ceQHxp KugI0iYi9w=-Gx*D delta 362 zcmeBW?q!~!Q(xxl@8j>~k?d%ilU8h+8I)9+Uf`FO=aiOX9$A=a;ulhxnGxk~=9HOk z!DXNwp`DW+R2=3Q9Oh#bWR??dX>5?^Y!u*Q;S*pP9&8wHVC|K%V$)#(jP+Xj$ zo0?)|YHDby5K-mm92KZgVOE}==$x5m6qQtx<&|OXQSTRAmX&L0R2ftiUQ*;{p5j~X zR1shjyvN6 zrK_u}kmFHY8Cq75W$s#OWbS2ATI?CNU60`DH)xc2T0*TU>lgL9uUXCM5t#l13Zb)@7qU4>s>OM*{p>^*(t z%MSL95i1pPK6Xy}ugUt%*yMRIzx=D3MGTUx|3VH`2wp1=Tlu7?;QzKd?^d;Q-q#Bb LI==a|yW ssh-ed25519 qM6TYg rz0Ls6JosajC8Fuw/rZ0bnC5pAvBhZbmiSwFx/cbszo -Vo8rHTcmj4b3bX//nA/2PaGHNnuD22JddB7ZujNlNb8 ---- SZh6zAv94lZUhWuq4dOdh1nrjI8Ryq0mwtyqLxIx6YU -s3>4M ssh-ed25519 qM6TYg Q5X+l2POBANoYyo8HNMy89MLtpodzzN9prnQY71mSTE +X3MJesW3kfHCfCyvaWm22mOI8vSgP7JWlLugCXtiy+U +--- ZH3UZFDfQwZ+DIF3yFADfBKEv2K6k9DTCh5wLVnyaTs +i,1Ff [_+[ !>)ep'YAWg <^= (B)~eG \ No newline at end of file diff --git a/newinfra/nix/secrets/wg_private_vps3.age b/newinfra/nix/secrets/wg_private_vps3.age index e6f2fc7..12dbf45 100644 --- a/newinfra/nix/secrets/wg_private_vps3.age +++ b/newinfra/nix/secrets/wg_private_vps3.age @@ -1,6 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 XzACZQ 2stObavGIOgxEB1ugSCc1wR4cUfx5qOF8OZeqo+VOWo -pM8j9mTorFEsDHlmxhlzRqYWLoF1mE1H+oLy5rnNLig ---- FL5+Ok2A5ueUZ2a10VbbwNPUU9egbE2kYTl9uJFq3IU -` 7W3΢+,> ۍ@U_AQ &rV -EΓ=51' hN~ȝ3je  \ No newline at end of file +-> ssh-ed25519 XzACZQ nsIkJQw/lrrXChkpFc87upQ4pbGefolI36wqMOWZGAE +t49QoSdb2azGQlDBX5AyWMxCOt+ETpT7erp4WU5p2rQ +--- 4UbCHfpAfwiuRYsiN3HgdhbSLFBG05DxGCw55XT1IGg +Y Ǝ 2Rs Q4d I.KpPFthaɍRX \ No newline at end of file diff --git a/newinfra/nix/secrets/wg_private_vps4.age b/newinfra/nix/secrets/wg_private_vps4.age index c31183a..c019915 100644 --- a/newinfra/nix/secrets/wg_private_vps4.age +++ b/newinfra/nix/secrets/wg_private_vps4.age @@ -1,5 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 51bcvA XKsa9hdh/Kte1Ywd4E2u7WrZdIiJYK6DiH5j8Dy7nFA -h4pernMl+nyhX75/OimLhW+AS2Jk2s63uEOxK8vUqCY ---- Mm1KWNxwJt2aei0pMk5Jhol5xTm89nG5wMlNg2wJG7g -[x D]m5 էOhM#EN2J{kZNhzqBœ'C84;P^7%+ \ No newline at end of file +-> ssh-ed25519 51bcvA 9dYzUZSs/ilKHHRiuMgT6GEbtyBwWHAl8ycBcsvTQz0 +iq0ozCU1p1sekOH4qbxKxWezY2pyVM6LjhUuNpmTQx0 +--- wjCRFJISrIrpgosh7ZBNM1qR78BPmhVBBwFpaQc10oA +a~ue?'iIl C"w:\R) (.ե%*>p"uy4s>2 \ No newline at end of file diff --git a/newinfra/nix/secrets/wg_private_vps5.age b/newinfra/nix/secrets/wg_private_vps5.age index 9fdef5abe7b84f35a64f381ecf622ea44d9f84d9..ad4e00ad07154ee8dfb0cb4db78d4c07c97c9883 100644 GIT binary patch delta 220 zcmZo*YG9h6Qy&y*rk_$(T9}vOk?E0I6`URsY?y22+e>|N*@n&waWfGEZTI}NN%cZNUs}NF< zUE=QOZtQ35l;r8?93JNBpQD{_nOhp@WbW(jZV-{HA6n>}pJ!s`W5HG2ajH79=%ra+ zXoTFsr9rwjM$=!`{I62kayc-!baH@VnMM9$J_fhqlZ^$O+FY$0B?XeM`r2&U;NgF( WjNzpkpWKwTE|CKV97MGL?*#xo15VHY delta 220 zcmZo*YG9h6Qy-aQm|2l)UK*HDYMfVDl^>jI=vd~JVwO~_U7F=+9Fh_lnrNO^;$&1| zz~$pv;A7&F?igj6SXt_9VXSR#98qZ!S?XAxmTGL0Y>*uknVz3z=4Bjgz@@9Js}O1A zWMblxniy%KpX^>%ROW6L5MfqnY~pS1s9$X6?(LUj5n7d5}?o51Y|(`#k{Lj!;_w diff --git a/newinfra/nix/secrets/widetom_bot_token.age b/newinfra/nix/secrets/widetom_bot_token.age index 811d2e4..7a4f13c 100644 --- a/newinfra/nix/secrets/widetom_bot_token.age +++ b/newinfra/nix/secrets/widetom_bot_token.age @@ -1,6 +1,5 @@ age-encryption.org/v1 --> ssh-ed25519 qM6TYg wxaRumhsa+QRSzwuWtJnpBoUPIBJLYsX9BUBHUFYMA0 -cnSJ3IgH2wysx74eXjYLKWmkouUJ0MsAOwK6OpsSGPs ---- wYwjkEfkR859+/qp9uneByt6H8f/6bR7qbOK1EXC2kE -8%{bW.K! փgP#mi0zR^{ok<] -*G*h+áyxcӸzxwmj)  \ No newline at end of file +-> ssh-ed25519 qM6TYg ba85KijEoTsymy3hJMqIKL93ESg8VI13gumBGwL+sw0 +aC8TyOMuycKOApJmqfPwIxiNjPya/Q8a9YwzwHwZsUU +--- 5wE3LD5eotZBVFnIzqEULhghAmwOiu5xL5Q/fM0gYck +c'\ ϼOTH-2zhU74$7kW{S{&β\sĊ[1yB)C[viV{xO \ No newline at end of file diff --git a/newinfra/nix/secrets/widetom_config_toml.age b/newinfra/nix/secrets/widetom_config_toml.age index adf61a3b263fe6329762e94629e51a7888ce1db6..4d6b7a46860b2520bfcc9400e38d801725e5a240 100644 GIT binary patch delta 4000 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 E07d|;5&!@I diff --git a/newinfra/secrets-git-crypt/garage_secrets b/newinfra/secrets-git-crypt/garage_secrets new file mode 100644 index 0000000000000000000000000000000000000000..428cb5a1d3d17adf12a7daf827a2db20963c32a9 GIT binary patch literal 275 zcmZQ@_Y83kiVO&0Xb@nRuB<+}AW7wd@9YiNHhflElG#`ISLWZ>wAs;9*VaE-xHi=7 z@N&Z|cb|ki%iTIC(o?%Gzs2@N%EC)Z$6A`L)XfvDnM->5Qq1qZuFctTng7djpKS-4 z&Og~3yQT9jgOXxpaQu(xKf1r(Xx^(j@KQ}}o|bXm%j?fo+gIlaT!{PVZ*6&Xvbc(l z?z?BgOATfmJE>UVS#zW2j#H#$=vvlY9+|@19Paa^7e) zM_$QCmlpYSkD7oFOEH}Canm~?f?xA@E5Yi#^1HvO0q665@(aP@nw)ggatIwlFq kEOc5BlK-jT+=DvV1@U(mnTeU&zd4