diff --git a/modules/misc/backup.nix b/modules/misc/backup.nix index 980bc11..55db5cd 100644 --- a/modules/misc/backup.nix +++ b/modules/misc/backup.nix @@ -64,6 +64,9 @@ in age.secrets.restic-gdrive = { file = ../../secrets/restic-gdrive.age; }; + age.secrets.restic-internxt = { + file = ../../secrets/restic-internxt.age; + }; services.restic = { backups = { #localbackup = { @@ -124,6 +127,51 @@ in }; repository = "s3:s3.us-west-002.backblazeb2.com/kop-bucket"; }; + remotebackup-large = let cli = "${pkgs.internxt-cli}/bin/internxt"; in { + initialize = true; + passwordFile = config.age.secrets.restic-pw.path; + environmentFile = config.age.secrets.restic-internxt.path; + exclude = cfg.excludePathsRemote; + paths = cfg.large; + backupPrepareCommand = '' + LOGGED_IN=$(${cli} whoami | grep "You are logged in") + if [ -z "$LOGGED_IN" ]; then + echo "Logging in as $USERNAME" + ${cli} login --non-interactive -e $USERNAME -p $PASSWORD + LOGGED_IN=$(${cli} whoami | grep "You are logged in") + if [ -z "$LOGGED_IN" ]; then + echo "Internxt CLI login failed. Aborting backup." + exit 1 + fi + fi + WEBDAV_ENABLED=$(${cli} webdav status | grep "status: online" | wc -l) + if [ "$WEBDAV_ENABLED" -eq 0 ]; then + ${cli} webdav enable + WEBDAV_ENABLED=$(${cli} webdav status | grep "status: online" | wc -l) + if [ "$WEBDAV_ENABLED" -eq 0 ]; then + echo "Internxt WebDAV enable failed. Aborting backup." + exit 1 + fi + fi + ''; + backupCleanupCommand = '' + WEBDAV_ENABLED=$(${cli} webdav status | grep "status: online" | wc -l) + if [ "$WEBDAV_ENABLED" -eq 1 ]; then + ${cli} webdav disable + fi + ''; + pruneOpts = [ "--keep-daily 5" "--keep-weekly 3" "--keep-monthly 3" "--keep-yearly 3" ]; + timerConfig = { + OnCalendar = "*-*-03,06,09,12,15,18,21,24,27,30 02:00:00"; + Persistent = true; + }; + rcloneConfig = { + type = "webdav"; + url = "https://127.0.0.1:3005"; + }; + rcloneOptions = { "no-check-certificate" = true; }; + repository = "rclone:internxt:backup"; + }; }; }; }; diff --git a/pkgs/default.nix b/pkgs/default.nix index a5ac4cc..19ff021 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -19,4 +19,5 @@ peframe = pkgs.callPackage ./peframe/default.nix { python3Packages = pkgs.python3Packages; inherit virustotal-api; }; virustotal-api = pkgs.callPackage ./virustotal-api/default.nix { python3Packages = pkgs.python3Packages; }; answer = pkgs.callPackage ./answer/default.nix { }; + internxt-cli = pkgs.callPackage ./internxt-cli/default.nix { }; } diff --git a/pkgs/internxt-cli/default.nix b/pkgs/internxt-cli/default.nix new file mode 100644 index 0000000..ef714cf --- /dev/null +++ b/pkgs/internxt-cli/default.nix @@ -0,0 +1,75 @@ +{ + lib, + pkgs, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + yarnInstallHook, + nodejs, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "internex-cli"; + version = "1.5.7"; + + src = fetchFromGitHub { + owner = "internxt"; + repo = "cli"; + rev = "v${finalAttrs.version}"; + hash = "sha256-fkn16ielYg4mMwWdqKLFYyIl0JDrktsq0PADOM8gi7g="; + }; + + # Tip: use diff -ur to create patches + patches = [ (pkgs.writeText "cli-patch" '' +diff --git i/src/services/auth.service.ts w/src/services/auth.service.ts +index dcc63bb..fae23b9 100644 +--- i/src/services/auth.service.ts ++++ w/src/services/auth.service.ts +@@ -29,14 +29,14 @@ export class AuthService { + tfaCode: twoFactorCode, + }; + +- const data = await authClient.loginAccess(loginDetails, CryptoService.cryptoProvider); ++ const data = await authClient.login(loginDetails, CryptoService.cryptoProvider); + const { user, newToken } = data; + + const clearMnemonic = CryptoService.instance.decryptTextWithKey(user.mnemonic, password); +- const clearUser: LoginCredentials['user'] = { +- ...user, ++ const clearUser: LoginCredentials['user'] = Object.assign({}, user, { ++ createdAt: user.createdAt as any as string, + mnemonic: clearMnemonic, +- }; ++ }); + return { + user: clearUser, + token: newToken, + '') ]; + + prePatch = '' + cp .env.template .env + ''; + + yarnOfflineCache = fetchYarnDeps { + yarnLock = finalAttrs.src + "/yarn.lock"; + hash = "sha256-cgIvT/OSlj3MCCMO1MKGECH6R0y+Zp2qhoe3lzWXG2c="; + }; + + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + yarnInstallHook + # Needed for executing package.json scripts + nodejs + ]; + + meta = { + description = "Internxt CLI - Manage your Internxt account from the command line"; + homepage = "https://internxt.com/"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ ]; + platforms = lib.platforms.all; + }; +}) diff --git a/secrets/adminarea.age b/secrets/adminarea.age index 0a7796b..722a218 100644 Binary files a/secrets/adminarea.age and b/secrets/adminarea.age differ diff --git a/secrets/binary-cache.age b/secrets/binary-cache.age index 9d3c182..2c6ffa5 100644 --- a/secrets/binary-cache.age +++ b/secrets/binary-cache.age @@ -1,7 +1,9 @@ age-encryption.org/v1 --> ssh-ed25519 DCzi1A Htw8GJ3GhCuuHyuChHmz93fA100FYj4c2tCV7sXMiQs -AkZ/KOSVuSe4OvLaRuyMm6HbER35LwQ/AMRIq3er2ac --> ssh-ed25519 lNJElA WQd4CrF6+3PTsIgkeHXCOfnt5/TFtxBZoGhpMO3rDn4 -qu81azcoyskTpVoURVxf4PoAoCWibT4CH6idH1llCc4 ---- eddQkWe0AIWlUkGcBWawlbD9nwP/k/Z0t0R2JKccFK4 -Kc$Q΃N'G`\0ι\4TR8fJoIEA_HN  ]^z"h 8f]f BR[|5[Z[&z{ \ No newline at end of file +-> ssh-ed25519 DCzi1A 4Dzq+hbo8G026qtItIBXLpzx6839Opez0RIA/H/zTnw +cJwYT1blygxO200AY8ZGoIj1cHHbmg5AlIlBQryjyQ8 +-> ssh-ed25519 lNJElA rBoX3y/rAzJ+5sqhARBa6NuaUAZ7aziCj/f4/1XV20w +hcISgyAW632z9jQkg5HE3n7TeUDKCkCRrXNBsVm/3lg +--- OcwVRqGikiep4kZBNzt95h9VlP0EH1LiNWZ+UEyzXfk +X{!`[iCēO{2 Fn+R +ø-nĔ5ӻ\pvchCZlZw$+Pyo>A +1~!g:jEV5HX6,|F \ No newline at end of file diff --git a/secrets/cloudflare-api.age b/secrets/cloudflare-api.age index 5031575..2986aab 100644 Binary files a/secrets/cloudflare-api.age and b/secrets/cloudflare-api.age differ diff --git a/secrets/coturn-secret.age b/secrets/coturn-secret.age index eb576ee..ea259a2 100644 --- a/secrets/coturn-secret.age +++ b/secrets/coturn-secret.age @@ -1,11 +1,8 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ XBQB4mQqSf/H8PgNsP4Iz2YOnRrhk9Y+Ii5x/m4p6EY -rqREjf4j35hjz1mu9+kRPQ0yzydiz/H1yNfnxFt8Yng --> ssh-ed25519 xfrWcQ VyzHIIyopN/AJavbAuV+owBegL3VrC2801DF3RFcLGs -bOndOuMLMtg4QjTZCbck8X1C0I3GXyGAi6wuG0QH7QA --> ssh-ed25519 IV3DkQ nEr0vkp8axgFfkZ+BxuIE7B2B3NQKa/t0JH1RxWQdXY -asPpKe7rJoexJWBpQ1mYGaKFkgSryZ1cyxB/CScOowg --> ssh-ed25519 DCzi1A 1sOJGMZFgRbt6JKzA+jkyF/209HlNYRdeuFg8hgSxW8 -TGY8nM5nSREWVreAXUqrYcw9ZO3tS/mGdYWKiXBu29E ---- J5CQcAEm1jqvnjLkxofatT4S/u49iPVSh9rnBC2nAuw -* h'8`<8{J `5`2`/w/)(EPqiwkKƋnMОoE@]Ϋ*Ut~Un93!Ys \ No newline at end of file +-> ssh-ed25519 oDXHAQ ZNJCfEdyba2VzEXoEeR7SGG5KNlHlx0LVN7187s1cVw +Jxjw0ef5Rj7p4mqfhW3HSiY/7o4qxOvVpBMLEJwyvTs +-> ssh-ed25519 DCzi1A Q39lg07v+UUuk9/clF2rjw19mNepV5iB3T7XBCMnTUU +y3czK23C+gSbHB46LJfMkO6sYUUImAuNi5texqYkljE +--- U4Unz/9QwTNSo/guuW26CHYdn8Rn+uOBQcap0uyYaHM +OX ssh-ed25519 oDXHAQ FouqNCp+9RwpvTflo4jG9hdKiUzMDvPwUTO5AwJNyRM -2+k/hy85rkEgFjAWkzFYbFE52EikH+v9IWh0YzVM8S8 --> ssh-ed25519 xfrWcQ Kt6iQyeLwby8n1AmbnGZ4o3uynq6OUjmmClJaqY1u2A -zxuDQPvFoO3DHExFBGaDy6aSI5n7p1p5ev9rEPlKhw8 --> ssh-ed25519 IV3DkQ +CxlAs/bjftYTTxPddl7Y1iC7B6E9v6/Aq6NlwdN2AI -z+8M1CWUwYFbTojtVXUCkXxunuYqE71opgGUCo6M/hM --> ssh-ed25519 DCzi1A Bq/qF3w8ofFQSGzJQq21/T7XoZnwhhajwzcq7HR7bT8 -xy+PHD02KF3NJ3yLUrkQpmgAUJkaDtrfXT3SwBtEHII ---- irAiJeo+WSX0JwCMXo8LFRp7yIkVEcTb84cP9FZ1CsQ -hb8|Ikoc)ԥ:>ng殶$H v1d΅pc; YtVf \ No newline at end of file +-> ssh-ed25519 oDXHAQ avQNkl4xgSrE9aJWQdL3HHzx1Gj97zhOm9gOnbwmrC0 +WQ/0GYPAXxRierRnMXyz8RCGYufldTJBUh+vJoEAaIo +-> ssh-ed25519 DCzi1A ubJrUACs9UvVDzYW+s/gnsFwV/XRr9xTqV+yEtyHkC8 +kH7NfGYo2qD/pRMt9M1TxgDGCL+idfDhmyCHoZ1xRZQ +--- ClYiqrEc2fSRDtpR+OpFmhGM6MWrrNakhmviTc4TiQg +S +)i2*wIח=߳F FQCw_•zzOX($*Y \ No newline at end of file diff --git a/secrets/fileshelter-conf.age b/secrets/fileshelter-conf.age index c26bfdd..5caffa1 100644 Binary files a/secrets/fileshelter-conf.age and b/secrets/fileshelter-conf.age differ diff --git a/secrets/github-runner-pw.age b/secrets/github-runner-pw.age index 0ccfd77..f4e3ce4 100644 --- a/secrets/github-runner-pw.age +++ b/secrets/github-runner-pw.age @@ -1,11 +1,8 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ tHCjfsXb0wX37PczGCN1R7DTCYRWAt/EFYHmvkzP7UQ -DUslqiRRQOyH4WcpwT+EqvjtPxwQ78TCQnOML61fodI --> ssh-ed25519 xfrWcQ ujd++fvF9ffb9wpmDB5WXMFqeU3pwZaaG2Wsz7K46QU -UlOd6q1mRtyBQ1Bvn64o+D+M96d2e23ICmTsnmjY6Y8 --> ssh-ed25519 IV3DkQ QFKNrLWaWhfgcz0ymts0C8N8gkJlBkYic8h7+PswElo -Ik67CP1j+mz0rwC9z10Xq/nExCtwQGoaFbdoQGrMVnQ --> ssh-ed25519 DCzi1A POyq7yj0atMIxekO3x/RTpjWzGoq6zL3ZzRnPp4J7kU -djZkmJSdlj1HM6r3dd3eGwASO12WhQuanOFNGWIHBbU ---- 3T6RCnzoqXnRvq2OvMw3Sk6OeKqQobcoH/Iw4hwMjhU -2X׵VH[`HP+Ьx=(#$T.eDh8OERR(Z@J'[Q! ý ssh-ed25519 oDXHAQ 4oWdY19LNJ/JJlPWshVuiBHoEhj2vVDwEpXnEmBZxVQ +LK7FQkJqnQU/vUKHokfXBPw8BZNf65O940HNXDMF4MM +-> ssh-ed25519 DCzi1A zknuHipg5N9owiRfBNNx4EUGqvF8GZL2NwtfOZzZs1g +W+jAkc8d7vYZXnf6L3m5j4DrrZsL+sks6w0T2gLjPTo +--- CXCzL35Td6d/g3z276tKiJfHDYS2USHEzxUZ20C7PI0 +Lz?zgR|qG Oڡݧŀ.eȒV6 +{{zjJV ssh-ed25519 oDXHAQ 1v4VW6k+sCx46aREng2LLhXC16a3HloN9XwvcHJcNw0 -6RSO4tpiRexEyNwCpf+Z7kym+YMGkP13JNvTZ8fnfz4 --> ssh-ed25519 xfrWcQ NPYOlx8Ob24RxKEWgKOmMgCn0tCQeaIWZQveqTh280I -XWkwQ8RCmhOwEqe/dEPX5+iOTi5HVfL9/GYvjTPjTSk --> ssh-ed25519 IV3DkQ h8Ay4uAKlwLS4oVcnAHE7irDrJmh7oatfPa3mJ2FYQ4 -ouQXQAcVD+v3q+oY9JIme93zbSIu6HEI2SOf5KbmS8U --> ssh-ed25519 DCzi1A 14r4t42+4ZzpryzcS8GLqWjEq9mxp9XuCTJVgEbDrXI -nmW8lb9CMNd2onNC7Fmc0Y3utM8PB3y8vxIquvCPtxg ---- lqTgDut/Hjl+unqMej4cVErvFSd+Q4+Xx2SRt4WciD0 -S蕘 o$@TVIa:ݐVLzlf (KjAnu,xԀ\K׭[ Jn6-J}!KAN| TO?_4Bٔ"8#aԣn}1휼ȪvhC"ZSWȒw#Q>X4t>:L&Lt492WsUg]UAGhgY'@+|Cڜ'NFcʝK[Kw)xU{n@i,S\L#IH_@`z=XٵS4!n +Ҋh+- ->4j5Vl(c]t!@Iw&>#^V$'Tˤ<)}}\g \ No newline at end of file +-> ssh-ed25519 oDXHAQ hUc9Aw774BPaH0VZNfj7Osn2HPH00q8XKSgmxD6HvWI +5T4T4eyhRMlQTMzjf+UtEZI/F6xcCMHDcPMf76VlawM +-> ssh-ed25519 DCzi1A DDKQ7cXME+L33G4ztZSgyCyJXc3NVCoqVUeM2L0Yllw +FBOJzZWZ+5SD0p+oq/s2XTNbyYOCwielmC9vDDiIR1c +--- SSUPi3NECYWBxuT2rNLlUviBjgZQL8r+HBFaxlRK5JM + .LkˉW>4kәUp@Q"%6bdq+-/<[!@ v;uA~\,m<, nMZFeh@/ G]6iǨMp}TH_XEJv|i@4jqK_*ezQ'9uFGުa]g֎ +ʄ4S`LŮl׼&cc#ި\kt()jgvc/eiUBP#QlT y>,u2- PqhRv'bFנ^Jf$V#|ȄAb,od?D.s>¹* \ No newline at end of file diff --git a/secrets/kavita.age b/secrets/kavita.age index ab86772..62b849d 100644 --- a/secrets/kavita.age +++ b/secrets/kavita.age @@ -1,11 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ FJFfMy3Ike3UPfEPtjUhzzh0sHIOQydYj7PL4NInwyM -us+a9TJaJ9J8y7p8rf4vZxjCnvAatin8xUZGaCJl6Po --> ssh-ed25519 xfrWcQ EsXc1QpQ3REcF+i+4X+6SRwTOfqxYohdDXBIBEPU7zY -HrrKhPrs7ADUW2j/AKUbfNyHFl3NnIWQ3cWhK+HghHI --> ssh-ed25519 IV3DkQ 0ghD5w1lFrFhF1O5P6SCoM+kxa+lk4+xXhdGI3XvC1A -7pudTppIzjT+o+1Tqp3dRyrrzuW+Zn1sqjVy19YJTMk --> ssh-ed25519 DCzi1A yk4wX3bNDmGzI+L97i95YOUxX9iXgWbyZ6DhvGQi6x4 -OSjWeRFRg4mBLRGudQUozY7+WZap/girhmUFeoUzcXU ---- NmtSz04huyn5HvlZMISgWNTO8gfgHXA0AAbnOCV7ewI -DpYmJv]ww/أY?lW45B6FhRV.R!cEA SՆx(hWR0XCvez0qkW?}U~@ \ No newline at end of file +-> ssh-ed25519 oDXHAQ +Pjav5p4i8+K+T19OkKqVhyypGuTEh23EKxovWFacnE +ZOgtGb5BvHxShPtMmAH176hV+hgqoWH6Rphng1/Dxp8 +-> ssh-ed25519 DCzi1A LT3i/+m2paR4B7soERky1gofJAA8k8JBl7bske+WOGo +1FV3eYaO4sSDxn6NcV3ZY9PyJzAMAfs8XoW0NHQ2X7k +--- 6e19jChE5uayuUGLQvlEr2TGQMNT9AdsHAjJmdo/+vg +!V>92;Hd!o;dŠ֑Y$u)\&x}IjDyȃ{KF`?ʹ8? \ No newline at end of file diff --git a/secrets/matrix-registration.age b/secrets/matrix-registration.age index cde29dd..51f76c3 100644 Binary files a/secrets/matrix-registration.age and b/secrets/matrix-registration.age differ diff --git a/secrets/nextcloud-admin.age b/secrets/nextcloud-admin.age index 58bf959..22cbbe9 100644 --- a/secrets/nextcloud-admin.age +++ b/secrets/nextcloud-admin.age @@ -1,12 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ WCgW9zW86kFLLdBjCRSubTtfuMPbjcpHSVg7064no20 -+QFmReB6CvgAsWEXgvt1gIjdop+i1EDpww4sylhYTvk --> ssh-ed25519 xfrWcQ Nj1b4690Joht7KeIsVfzzJWn0oBjZqxLwbdoXWvXCmg -X08UWA1Qz3VyXpeeaj8563ZL62iRSOhTJYbET24DBX8 --> ssh-ed25519 IV3DkQ ohQhEXHzhrivnDJR2YPamNEPzhN3nWyIOs4BwiIKAyM -RPBzmwbxhBmt/nAnl21OMaaMmPbwbH9qtVwWfxZazGg --> ssh-ed25519 DCzi1A v8HefVr7dF39mOQ/ZvoH13pxVpYjidjJ4DwiA33qPCs -dnU1ZD+nBfz5WuRA5NVz1ThsOLnTm/pl9dRSpZQ7Lxk ---- nlw8jJ41jFDss6PfxoZv6WUcf4M5NNI4P2x+NBg75I4 - * D@]Kڛ3=S#41%T8a6ߝ6+Q&!aZKT ]?uq -OZ \ No newline at end of file +-> ssh-ed25519 oDXHAQ WQBeMOqTUCzlrfyiofksCAsXsKXOrNcDsNnjt0RnPiI +UJHby0w8vaspEd+UIuWPIsw+UNdzRPR9Qhw9AfqH520 +-> ssh-ed25519 DCzi1A 0yi09jQh0bjxjXuyvIPhu4tpJWqJhOqrMJYl4v3VvCE +26c1w7G2mVFRX/DdqllptxyyuxTD4dTuw9ztjrcfars +--- vcA46OD3lpiwEaZ84Z0E2qxWvqSkvBMYPUhPM4rvaDY +cC+_yg<؃IZH fC:,&2PeSއYo3g%EpDݔ1Ct04 \ No newline at end of file diff --git a/secrets/nextcloud-cert.age b/secrets/nextcloud-cert.age index 4ee9364..9a27a08 100644 Binary files a/secrets/nextcloud-cert.age and b/secrets/nextcloud-cert.age differ diff --git a/secrets/nextcloud-key.age b/secrets/nextcloud-key.age index 79505a8..97d15f1 100644 Binary files a/secrets/nextcloud-key.age and b/secrets/nextcloud-key.age differ diff --git a/secrets/paperless.age b/secrets/paperless.age index b055c93..08f2f45 100644 Binary files a/secrets/paperless.age and b/secrets/paperless.age differ diff --git a/secrets/plausible-admin.age b/secrets/plausible-admin.age index f896f84..a5725f1 100644 --- a/secrets/plausible-admin.age +++ b/secrets/plausible-admin.age @@ -1,8 +1,8 @@ age-encryption.org/v1 --> ssh-ed25519 bqM3xA NilhC6nct/+SFW6Dk2lyLMuzjtBJdWrQmlOFGua9SnA -w2t51nQqhTSNEHRcwwGGu3FC5+hnUahKw4oSXr4HZFc --> ssh-ed25519 DCzi1A CicD+2PsKU5dvjEcbpDrSUm5sD8YaAQPTe+eMVvZ+G4 -XaFsG84VFg5PJU8/pY5mmzvs6WHuWkSKNp7X+zO++CQ ---- vlKehVdX0jzrd6kZtRXt9i5i9vQCUVhg1JDPDRg4rWU -cJH0ͮ'?z3Ɓ|S82 un~w%Ɍ#X -`ESvڔ\R]z4%h} \ No newline at end of file +-> ssh-ed25519 bqM3xA a+cKIpXWLrFAq6WDVeJ4FWgrIetH73DIw8PCUuUHLgw +Gw/zALBnsSYX1Gfp3iP7ZLWziia16TKzJMutu0P3Ivc +-> ssh-ed25519 DCzi1A U4Dh4wX1qV0W9EbBooVvu7rRO/wx0Z7ZuWLhZj2e6SY +Ttu2n7pcS0/kFCSVj5xKR3hExITrQVfkTgtk3n0VkmQ +--- ps7Oz0efDlJNH4vvx+70Nkv9C75kNxZfNi02w5Kyrk0 +M1 JY6? ssh-ed25519 bqM3xA T5u1JIq4rZebcZuYPLbPcfz+bkxqNPonnmf/nEd7GjE -wla46ZgO0+MPIq07Gzjr9dw5G/x8TIhSO+na8X4rNtI --> ssh-ed25519 DCzi1A deYy5g3BFafx2EgznAMh3FaINLd6Fn6zYILKacjbrzk -Bpg+UB5v3jREYoXiQlyzciupqZFTb/WqSETfS9E/RU0 ---- /4Th4WYhNDxmwHejxprRcVMFC/wQvsMPUEYMr0H4Ces -6 rX?SJi,h OⰫomҖHWvg5AʏSgetz,ay: \ No newline at end of file +-> ssh-ed25519 bqM3xA SfTifGjTpNcOgfCK1+qwkmdAGjJjiQeKs9Owh9gCDXY +d5+d6Y5Vfc8KfEBHt/urddSDTDoYykuIHjeLK/9tKkw +-> ssh-ed25519 DCzi1A sLIrSwTI5bZCQZ9+4tmbdhYQhy0ZvkamBeYiRooJ6Xk +pcxlE05+kNAXgLdIxGPdeysvjUn8gMfToCKYETR+cdQ +--- M5mg2GKhVSLYdYG/O2dDEOUKrzjcY9bLTv6oljeT2rw +'Y#}ǫ,Jyb͌g׏_͗9dC#]YPpw*jA7NnQbιfȻC臩(ձ.>#A~ AV \ No newline at end of file diff --git a/secrets/radicale.age b/secrets/radicale.age index a8113ed..819ddfe 100644 Binary files a/secrets/radicale.age and b/secrets/radicale.age differ diff --git a/secrets/restic-gdrive.age b/secrets/restic-gdrive.age index 52b093b..1054b36 100644 Binary files a/secrets/restic-gdrive.age and b/secrets/restic-gdrive.age differ diff --git a/secrets/restic-internxt.age b/secrets/restic-internxt.age new file mode 100644 index 0000000..d4e722d Binary files /dev/null and b/secrets/restic-internxt.age differ diff --git a/secrets/restic-pw.age b/secrets/restic-pw.age index 8a7bb1d..dcfe974 100644 --- a/secrets/restic-pw.age +++ b/secrets/restic-pw.age @@ -1,11 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ 72Hf9s5XN8wYdRdPox5lbeoWWkN/hQgjHnwUvzWsa3E -oHDPjY4p+633vvnzcKrIgsskGVB19+kT9GKO6RZkVT0 --> ssh-ed25519 xfrWcQ 3v0uYzUbWn6jDoPV3YutvNW8oNWIcxShk9tK/FQ3FBM -s5m8lQW8chX6DUXFn6VLfG/cdURrpOa7zFIjl8DYiqE --> ssh-ed25519 IV3DkQ W2Y0E+y4SbevvQ1eYRpISRpW91F2VMF2qRM8DWly7h0 -5MfqLmE38TOREfysw5j+K2b9aO9MUesqYIJMsjDNdY8 --> ssh-ed25519 DCzi1A cjaiYegU+sALtHIw6SPdbQbaz4umOtPXpWLxPRKLPRk -edfMbG9kIpYzUftwWBy37p+DvBiConPfM2nR/VaBad4 ---- hDAUj+1VY95BJDOtefGiVPCL9BDLTozLaUlsZf9wBm0 -)*:JozOZC7RKVc2 xOi;V\>}T/vRʙɺ([vX*3ghZ \ No newline at end of file +-> ssh-ed25519 oDXHAQ WuM3Zzt9QkooZE7a8UjU9OVPaFfW50qs8YmInjeqdB8 +DWZKrejfHUdJjk0Kd6FdWl1CV/nETfjOOHbh694KIRA +-> ssh-ed25519 DCzi1A +nq9Kj3e1SUxkvEjDi8FB3WTPEK/A8J2N3ox0bQEKBc +8AKx6NODldbhCRuMxWbiOpv5tuOx9JUCUeBuDZwAXQ8 +--- vZqV7rkvJTcW+iBi8ptRg8LFNjyT2d3opRm+dZ4kSe4 +}v DwvN7{zz.c- vBb\#r\2JijOg,w*# \ No newline at end of file diff --git a/secrets/restic-s3.age b/secrets/restic-s3.age index 1ad2cc5..39de303 100644 Binary files a/secrets/restic-s3.age and b/secrets/restic-s3.age differ diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 8cd7431..cd37865 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -2,42 +2,44 @@ let kop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeP6qtVqE/gu72ZUZE8cdRi3INiUW9NqDR7SjXIzTw2 lukas@Kopatz-PC2"; server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUA7uVKXAF2UcwaIDSJP2Te8Fi++2zkKzSPoRx1vQrI root@server"; laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOrNYiH1Z05Ms01tDScPb4GbeNo7vTnSNXYcDQuDKnbs root@framework"; - mini-pc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILGsTZvAahTrszYDHn+94sLtcF8865/mpd26ZDVQklSj root@server-vm"; # actual used server + server-vm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILGsTZvAahTrszYDHn+94sLtcF8865/mpd26ZDVQklSj root@server-vm"; # actual used server mini-pc-proxmox = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP0kX32LfIOv8FDVvdp7lWesVvMGh5tj84nv7TkIR1cs root@mini-pc"; adam-site = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfaIaKoNStnbfjB9cSJ9+PW0BVO3Uhh1uIbZA2CszDE root@nixos"; amd-server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII/t25OaQF020DZdew53gMFqoeHX1+g3um02mopke2eX root@nixos"; amd-server-vpn-vm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKkTbNz36z1gGbKp+7NyyTpMslXcFLX0tOrfJ/GQFn+g root@amd-server-vpn-vm"; users = [ kop ]; - systems = [ mini-pc mini-pc-proxmox server laptop ]; + systems = [ server-vm server laptop ]; in { - "github-runner-token.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "github-runner-pw.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "duckdns.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "nextcloud-admin.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "nextcloud-cert.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "nextcloud-key.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "restic-pw.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "restic-s3.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "restic-gdrive.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "wireguard-private.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; + "github-runner-token.age".publicKeys = [ server-vm kop ]; + "github-runner-pw.age".publicKeys = [ server-vm kop ]; + "duckdns.age".publicKeys = [ server-vm kop ]; + "nextcloud-admin.age".publicKeys = [ server-vm kop ]; + "nextcloud-cert.age".publicKeys = [ server-vm kop ]; + "nextcloud-key.age".publicKeys = [ server-vm kop ]; + #backups + "restic-pw.age".publicKeys = [ server-vm kop ]; + "restic-s3.age".publicKeys = [ server-vm kop ]; + "restic-gdrive.age".publicKeys = [ server-vm kop ]; + "restic-internxt.age".publicKeys = [ server-vm kop ]; + "wireguard-private.age".publicKeys = [ server-vm kop ]; "wireguard-client.age".publicKeys = [ kop laptop ]; - "coturn-secret.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "matrix-registration.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "paperless.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "kavita.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "step-ca-pw.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "step-ca-key.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "grafana-contact-points.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "fileshelter-conf.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; - "webhook.age".publicKeys = [ mini-pc mini-pc-proxmox server kop amd-server adam-site ]; - "stash-auth.age".publicKeys = [ mini-pc mini-pc-proxmox server kop ]; + "coturn-secret.age".publicKeys = [ server-vm kop ]; + "matrix-registration.age".publicKeys = [ server-vm kop ]; + "paperless.age".publicKeys = [ server-vm kop ]; + "kavita.age".publicKeys = [ server-vm kop ]; + "step-ca-pw.age".publicKeys = [ server-vm kop ]; + "step-ca-key.age".publicKeys = [ server-vm kop ]; + "grafana-contact-points.age".publicKeys = [ server-vm kop ]; + "fileshelter-conf.age".publicKeys = [ server-vm kop ]; + "webhook.age".publicKeys = [ server-vm server kop amd-server adam-site ]; + "stash-auth.age".publicKeys = [ server-vm kop ]; "plausible-admin.age".publicKeys = [ adam-site kop ]; "plausible-keybase.age".publicKeys = [ adam-site kop ]; "adminarea.age".publicKeys = [ adam-site kop ]; - "radicale.age".publicKeys = [ mini-pc mini-pc-proxmox kop ]; + "radicale.age".publicKeys = [ server-vm kop ]; "binary-cache.age".publicKeys = [ kop amd-server ]; "wireguard-evo-vpn.age".publicKeys = [ kop amd-server-vpn-vm ]; - "cloudflare-api.age".publicKeys = [ kop mini-pc ]; + "cloudflare-api.age".publicKeys = [ kop server-vm ]; "wireguard-ipv6-private.age".publicKeys = [ kop adam-site ]; } diff --git a/secrets/stash-auth.age b/secrets/stash-auth.age index 8a1627e..f7eafa8 100644 Binary files a/secrets/stash-auth.age and b/secrets/stash-auth.age differ diff --git a/secrets/step-ca-key.age b/secrets/step-ca-key.age index a711ba3..b5d3167 100644 Binary files a/secrets/step-ca-key.age and b/secrets/step-ca-key.age differ diff --git a/secrets/step-ca-pw.age b/secrets/step-ca-pw.age index 67b11df..2c40e8c 100644 Binary files a/secrets/step-ca-pw.age and b/secrets/step-ca-pw.age differ diff --git a/secrets/webhook.age b/secrets/webhook.age index 96b248e..e2db84b 100644 Binary files a/secrets/webhook.age and b/secrets/webhook.age differ diff --git a/secrets/wireguard-client.age b/secrets/wireguard-client.age index 2f408cf..5f6b599 100644 --- a/secrets/wireguard-client.age +++ b/secrets/wireguard-client.age @@ -1,7 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 DCzi1A a2a5T1dXH/eiUYxo6jKMvQHalNpqeEUiOmb3tsEfqHY -IXGBUpHOVUn9D6bkB/3+QfKbrkSUDTccOF9Cg+XOars --> ssh-ed25519 nm20Yw 9GsXUV9DXFJiqWLR5akZVUhQxoz/xi7ufvhGnLfDywo -rIh3ZLZ7kdTFvYYVbaf80VDFV5oWw3oDfkC6f/aVbus ---- g9miL3ZzlmSaQgsgvUUPWINQXJUw+EHMoRkrlmFrQBg -١˃il{c/TSv<%F_Ukʊ ]17H:S}<@D!L+~ +-> ssh-ed25519 DCzi1A OT7kp5dh7EgS6fXxMlFx49HMzmUlHEEMexKY+DmcRGY +OJYG4HIHLef59MWx6aP1bzb/+UQN96PFtdXZLWF5Kcc +-> ssh-ed25519 nm20Yw qLfJfC7UbZxccWzSg/wh4U93I1HNpJkUkJK8uGovfBo +LCIDbXuR2jo7O5R9ceMBNO13c33Dpd9JLpfpAswe9rg +--- 2Vd4tyUqvU4fnZGQkaB5tyA8DetjHcA1RIzpD2YNGUo +kÃ㓀ڍFfNX(vǮkێT^۰&aĦV/B,sÊ^c96\fMp}I \ No newline at end of file diff --git a/secrets/wireguard-evo-vpn.age b/secrets/wireguard-evo-vpn.age index 74f8273..72d1523 100644 --- a/secrets/wireguard-evo-vpn.age +++ b/secrets/wireguard-evo-vpn.age @@ -1,7 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 DCzi1A v8N5QeN1rwvUqxfAX6J2XAk/ffHQFNVenMvc/BzcRHw -zSlHvoW70Hu1Wos8fpPpnVoMW0pUsnq88gLdHpAnh3w --> ssh-ed25519 Jk07yA zbvOG6n9N8TP/bccrVpHUIXJk8a7pU3yZKbqX+EQLUs -SNVwy/4Eg7g7wZ2X5lRIJjYRS5sjek5OwYz4go6y8mg ---- m3q3E5yrIkvoAJY8kdD2GBHNMy58olz6vuPSk44cAq8 -d?Nj91,&X&5$C`^R4?]$1̧jHA2 4-|3[vE| \ No newline at end of file +-> ssh-ed25519 DCzi1A 9cv+O4yN9natwISKV6pyinlvs3r5DI2YNOik6Hzp8Fo +uCs4huKbdw/5lrcivybcTTlGVbcZPVOc6XOPPJPqnDk +-> ssh-ed25519 Jk07yA McG4KLcTA9sr/S5t98A09KExnCxjtfnsC+ZXQQDU4gM +rDS1Mcn4rie7VvWsEZzaIjcHnqONeuR3Hd8oVnbnWK8 +--- KOFmRXcXSk6K7saWN8bxyrek43ncZfxWwaeBqE8ha00 +"ZAdоދ]@goLUyWK'UNC~Σ벴(C] jE*jo؛W \ No newline at end of file diff --git a/secrets/wireguard-ipv6-private.age b/secrets/wireguard-ipv6-private.age index 2f17aa5..4f00d4b 100644 --- a/secrets/wireguard-ipv6-private.age +++ b/secrets/wireguard-ipv6-private.age @@ -1,8 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 DCzi1A yC9U+8Q8yGorVWDAqfTfgOMjuM+Z+1+pWKNpsuOyTh8 -cgAX/FT1J/s3Cb+Wqi3VTXqEW86Pw7IpD3/hzr7QDRs --> ssh-ed25519 bqM3xA PpieKoFz2e6DXZyAs4ie5aMfbihQ0zGUokVO6/SKQz4 -n5C+XwesrZvHJgCDZrlOMeUUDOBlCdWG9nkQZMwbW2Y ---- O+Q5qfjJAdxDYRadwXUF0Xa+zjZBFzeiJa2TfzI9hVU ->}qcIdn,ڢeyZBR"d  -&H)($fO *:-Ec01P Tk \ No newline at end of file +-> ssh-ed25519 DCzi1A GIz3+WocQlhzNkdBsmm5XUhPQj8gue7i9IuO7SiwNBY +IqTXhMR6P8A5Eqhg1FsaOsU39Y4IjX0mtarH0x5MMeQ +-> ssh-ed25519 bqM3xA Ert1I3i6Hlv+MSCnEAOyW5WKd/dQpHYROKTfktjpBVM +pWlAsNpEZkHgdF5VP1d0f0OSo1DTDj6/xang3HUgiFA +--- 1WkQaEsn7/Ir/LLiYWHU+S3xw4LNWyRRVZ8QoBhefVM +nb) {ɝu{|>4=0W!=i3!lUޯE.,Q$n/Zc8 \ No newline at end of file diff --git a/secrets/wireguard-private.age b/secrets/wireguard-private.age index 0a08b8f..559baff 100644 --- a/secrets/wireguard-private.age +++ b/secrets/wireguard-private.age @@ -1,12 +1,7 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ UKI3Z9AHXJoNfisKOGSy+n1ZJ5KRnNwcsJlrzcS5RU8 -x1bHSdtdbDafCQP9ZT64qUGKSL3I4G59nE+/jezvHV0 --> ssh-ed25519 xfrWcQ enpS9oTKja+mFzIuSPWWoPApjdLYv8B1UVrvabJivwg -tATfn0NujwilIxSuMzlnkdjzj66fs7Z+Ttg1fW4O+Es --> ssh-ed25519 IV3DkQ OZE+JGpTqPx22ghKS0J+YzNa/8kVMi9uikihmEod1nY -JOCD5ickt7HzfvXwvu0kHbEgdNLEN04NRG5cnuIPcNM --> ssh-ed25519 DCzi1A CbcF7S0u8aQEr+otQ/w29N9rj09jx1GQup1/VWV7uhQ -RNozFEyZSy2h/x2t7aWmsHHyjdCTrahihPGRhrs3bx4 ---- x8EixJcUnuItfrk+4mPBRnURfiE5GmB+mwZXTpLg+pE -2HP9g ȫGU8u -נ}>|Q ~=G4(\M:1; .RNN-'4 \ No newline at end of file +-> ssh-ed25519 oDXHAQ c1BC9hQxv6b9QxQ5DP+osae4HvzHT9vonfsYk8EHHHc +QHLBgDq5jLOnCYwpIZXmCPsLvqbEvP5aUcVS1EvYGIA +-> ssh-ed25519 DCzi1A ZLWp/IvE7yjrhOpiOh3Ih8GfNTcS7nWpW7LG02kWLjM +EaOFvaumNx/eNcP3PYVoulQ8tUiGcIxxNgAmm8EcG40 +--- eqNYBs4l8etqW16xr8OSTbpyAca5gI9/axl/qjEtayo +A]?KU=ij-{R eRV| Vo{v*ipWF詁USb;Ք \ No newline at end of file