1
0

Compare commits

..

No commits in common. "3371f47f6850f4169d25c3acd0a8b10af4d474ee" and "4cf47229a4b49261529b89c1392dbcd482548dfb" have entirely different histories.

6 changed files with 45 additions and 41 deletions

View File

@ -1,29 +0,0 @@
{
"clerie-backup-job-main": "ENC[AES256_GCM,data:AcvVowkDQC55qURusqMQNW5goLIYgaAyg6bZ0FIq0HhQ7UyICe1vPZpa64D5hY5danX/aaE6Hyf0DpWBG46yaw==,iv:/QJaUtxKSJi//vWBEmVM8vu/YlGaXIHLQy6qI//Aji0=,tag:+YvvFDosT5UqYoRXAazDWA==,type:str]",
"clerie-backup-target-cyan": "ENC[AES256_GCM,data:6gN7deW4AfJQMqmV8TAtyHsjpNSfKXvzUaRe4xuWpvS8iGN2hksPlqODjOw0WWVXIvd85oqqhB1fJi9Y+qUfmw==,iv:SXjAF8xyELo7HOsyUkDh1gyAdxuZykaG5XkYJ1eMQj0=,tag:zweIz9zy50Ce+99X4GKn3A==,type:str]",
"clerie-backup-target-magenta": "ENC[AES256_GCM,data:Sqokw8rDTiQEsKUgKwjt5+STaTEJSu+AZ+KVMQ5l65xcYwXxsbbd4X8U8/Ns+U4w1g3IS3XV2R0O8W410T20Cg==,iv:QauRkemk5fP/TRYKkcCY1BaisoTST5tKkvhEwQoGF0A=,tag:uUeS+4G9uHufBYS1k/BN9Q==,type:str]",
"wg-monitoring": "ENC[AES256_GCM,data:oU8WHSEKxleNMPv9z0IqWsVtPmGsiWn3qkA3FNu/vu0npCuOx7JrMLYxK8Q=,iv:dXJg24S2c8TVa2r9PxTJAA+LwIHvF7NSeqdy/h+j72s=,tag:ESLXpbortN0j4W5AVYXIOA==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1cqzmm5e9ex7lm0v5jxla88v4haqcvv5c3j5e66f7y3mpr5muvv3shphhxd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjK3BDVHBlOFcrUEJlaWtk\ncFZ4U2tjRWZ6QzJ1c1d0azluQ1c5SnpuYlF3CjUzL1JKTnZlQjhlQ0ZrTUNFMmxv\nQW1DaXlJLzdMTVdLV21TbEJCSFBEM2sKLS0tIEE0OFFWN1I4L1JjSWZDM2RGOWQ0\nNW4vRG9DeHdzZVBuaWUvSDVSdC9hQ1UKGOQcUKDFUFnv7I4L275cHYWs6eEjG4oQ\neoznob3iNaiqlEQLNMNtffYx9djM8wQJTIDRDf4Gm02k+rupmE1eLQ==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-04-28T09:45:25Z",
"mac": "ENC[AES256_GCM,data:RkaWBKdjR5WOrOhG5vU1KtLq1md8Dv8BuB4GPJ852V8AiXibOvvNiL7cCm9LMPBa8kgY9gsFHVz6pOUmdO2ZtEm2soV8/0m7Y4qw+v0dmeO5uFbwe3cmPktSxDWde21ChgdKQflpXlo4jbG3omj9793nHGijRBMeWtUheH7nGPM=,iv:iHUJ/4VbsInlGA1OZBPhDo7ein3KK8q4FSLy+fWvAIA=,tag:4L+7i4MLtowei5FIWzGa3Q==,type:str]",
"pgp": [
{
"created_at": "2024-04-28T09:44:13Z",
"enc": "-----BEGIN PGP MESSAGE-----\n\nhQIMA5OzEzXewpmPAQ/9EE2Dw5cH3pD3p127GXAFdMnj9gbUl9NAOoCUgCq3Aven\noTU69sjKgT3qyNZcrKCJIWYcbuQxZ+1qI1/2Qy5AYwNtD8AxDKXa6bEXmLuIpRrm\nN9n8gDmt51jNoOhSfjqmq4q8WkOevGHaAseOIaQbAIbnO0ZGOTVKey5wUNY5+ecQ\nY2Dsp9b3Yc+IC1pYejyjIw95vbaa4LH0VDURWFgDeqmza92AoPVIMeUk7U+divkB\no1KS5FQEYOD7exH1JqAkccPIWHykFbKt4z+NnJMiwm4e/3BjydMhQjKln4V7moso\nrrbj1O2LTAxIQyUS0IJahT8ibejrHeJMMwo95kjZSaLgVoEdDg0drB8EITKKr41J\nAQzLtXD5tJT6kq7lSdO0epmQO9Ri3hK+S0TUbgCggXC+4mQlqYD5rY0thmI6N2My\nmkHcMDX+I8BtiabvJjiPvgf4KICqfD92/81BA9DVrTBfi2pFTDUY41n8hggHq1KQ\n2C65YJYraEnaZrDo0sDxEvdkGXuzMawKMRzveAFKkNRFOHe2kLzbbomRel0Z8QC9\nCnqisqKXq0pNbfhWV2ofb+ysggKMiVZGu85DEZtF/RiochfffPX5URs4tUIDC99K\nSYQ8eqXBtXGLijmorJ3gJYeJGdopNHVriZRWbrp0KfXjuMn9Bq89kdiwFKTYlfiF\nAgwDvZ9WSAhwutIBD/4jqA8jW+pDdKjNsACkRThSR9+Oa/FLcSS5MU500qLfiZCN\nWR3Unlz/eyBZEzx3PyL/s0DgzFGANByqSEbyUMvcJzE3VPPKwai4hBaJ3IHn2LzV\n/XEd43Ogbz4bhda8Z5Mq9CRSqJqixL6qOH0GSzGSka0iPvyBXPqLqBoKh5XLYKWX\nI7eDVmpr5DxNL1+X/wf8V7aDZbV6UB/BaLF6aFEhO8LedlNEmVsWDRC0J6OEU3d7\nTXxAHU78co84Fu1Koj6IbGvzoV5S2jc9RPlOog5l2vmpA5VTWtGHGL/kvw90HIiO\nQ9Id/D/s9uLRdwBCaP++85arvcxB4lquJNEUntBSCznqoKIzhD0c1NyWcmVEutXz\nqWmVyOKIFDiBdCnHBf0+/H1w1qyyzPj5etilhmgS1+/RH1qpHaxgOdV770XDH432\nYtuCpYffrtPq/mRjtj75VVR1Owp5ce6E5K3EJxuTGCsyBwW1/tRKzH3bXtdJ+nkV\nmvLnylKRz7pNGSWoJ3rF56b/HLJnsjQFxPqo90cf/uPBpwBLXngQY0tSs/yz17J0\nuCZ0EVMmVSvyVz6iRnQZE3CaMX2/IEdZQIgf2T7e/hZVrN7F1WYjrerF//P67GB2\n+0P+cppVXRTVG4InkWKvAupWnX+JVKl333LdNamsHGBpKft8ZLGOkuY2RLtw1YUC\nDAM1GWv08EiACgEQALWMtNvIuP2zGWyItINQfkyUJDY5JKlW5cBZCzONaTwWm+f9\nvJ4eFAOpV4wBbzKggLrBVPQrtkIAeeGWhGA5C51E6feufzZuOvqUAUmBoQ+M3mQb\nvHH9LteZNWdEEB5uJMCenyr42feWwwNSf/KaXFkhoMitsnRUZVvXhfIxGX6jADy0\nK6c/zKQ4IB4cNeI+CVV92iXRGpg7nVQlZygRVynTb3/mhnFJmJmGxlem2iy5hyMq\nh+V2cABii55eo4JUdhgZvogE/jAqpRu3s89JGehivQYO4VSG834aOsBe0BpSRx97\njbG55f8kde9I9+vAMsY6UlCXuCO7WtxJCbkfoCe7s8SV3Vlo37TadjgyyZCuUsZ/\na6bTyEyrW+gsFaD+8j/DcSr+O+7To112j5o0vrCuoi7zeztKFQuBboPiTotMdzWr\nPgHXGyRM+2XnEFpob0HDo0oK4gquxccW+lEEB8kKlxAWLanJBJMou7L2HIP+iOxE\nX0gsPpgAbcs6eUAIvWr9NQFtnjIrl/sncYyxAO2WBYbjEsD+/dFNUoqVLc6vf/1C\nLZh2LO+ljx0BNpRf33DiFLVsxwiBduI+WOavPv3Y+hR2kojUA1vWm7FOYoegUPIZ\neZgQGx5PVcnwlQZMiSxoqCX9sxYWrbqKzeLH4AkElVaKsgRxWpNG3CysVX7+1GgB\nCQIQtyNgGJ1mMi/t/i8po3WJYE/SnSA1d/9pWWRBzWxBptjT8g5CG0/xRAaKeZt3\nKNdeddofX+ix7EaECZE4nFUn/YJJxoSkPahxT8wehRmCPIETn683QQzp6usiTcOW\nMgRyIVIpxw==\n=467O\n-----END PGP MESSAGE-----",
"fp": "0C982F87B7AFBA0F504F90A2629E741947C87928"
}
],
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}

View File

@ -0,0 +1,10 @@
age-encryption.org/v1
-> ssh-ed25519 HwR33w RN8+JfVQyrIYAxZ+S6M2OI8brmmMPUKXOZ3/qg3vgmE
iT3J545g+dt+SoYKtHPMscWOOF+OwLatL0fxtZRSwwA
-> ssh-ed25519 oxA+GQ vOrlx+R54Xy1KY9JLA3+yVx0ABkI78cJc/T4XwT7hS4
K0kQF9V1Y0MhMyMiNZ6Dz6eoPE2eotoivBMGsuLGpIc
-> E>"g#-grease K`O
zCtgxXJ8Eueb0A/1yQGyXEmzQ5QqWgN4kMvAg7WXdjZu0+BvX2eJKg
--- 4G54tBk5pGtOOmWE7MaLzX+B/36VderlnX7mPp0G1T4
ú¬ªèªu®ûê.«fNšt
!àGÖÄ?«€pÃW<C383>õ“ÏÙš<C399>"IT5ra¤mÐ+ï“ Ç´<C39C>.:@sK$—¥Ãc©saJ#4¾ª}YÀÈ4ÄXAÒ‡A¢QI<

View File

@ -0,0 +1,12 @@
age-encryption.org/v1
-> ssh-ed25519 HwR33w grZNMpbl/mC/0aVUkkAVx1wFXqNhlEEW47nfGg7VPAw
V97tOu6Md4Tus3CYkWTPE6twfYJrA0CrkLzwl15g05M
-> ssh-ed25519 oxA+GQ 7KMJYf6Pu6VACi99ihBLT6he5ekyk/3bh0ywi7QJCzY
28xbWqcmf91VAUG8O7wd9SB2NxuhpYOxSiD94464KLA
-> Xmw-grease
+lH5WuYbQEraP0WmsSZFvk2amdQSIKw2xOB+sq7nPiTGdW2Vax2YzWOmxemmAcOT
RKimkWKeZZeSphtzF5mC2qHIuxvXTsIkmgXEM6TKhdw1Lo6tQPZR
--- 95yXuwrQpvKOffrfYVgzvteOx/mnmLP0FLMBW6mruHk
¬íÆ31†^/O8'1˜;<3B>L»¾æ¬J-ªÏæü»3t`}uÔ,ƒY)•^ÖD!dC(Z½à.Yo;æŒLâxÏÜ3µù+
|1
jõ<]\]9TßmöL?

View File

@ -0,0 +1,10 @@
age-encryption.org/v1
-> ssh-ed25519 HwR33w K732eysp/CVQjjcTzH7D9QXa7uLnXQq9ADmycPC3rBw
lDAYQh67KzDjRE8078jwOBJlwLywN1lXs8nyaOXl4JM
-> ssh-ed25519 oxA+GQ WBOUa6FzgfniPNFJA4c3B5wfelqEkIrRGDybFYoRVnY
8GuZsyABMEFjkPl36QIWaxFuC3UTvtHpwuSA76RPIYg
-> Y-grease
R9sg83IE9qdR7Cjo/RbHZtBNRSNTy9XjNogfEekrYhqrbVvcx1LPBTGXHgmvq29u
Sj8u+wA
--- AeEL8xBBPoy3oYIspVyU7Y7VkCwtEngwQNQXZmFnFUw
`7 à<C2A0>Zš~1©<31>î)UCq3öu­0K%Œ\<5C>—mq+"`Ë&Ÿ<C5B8> Ý$ #fæ~xdnÿ¡éÓÞ‰ÕŠvƒÿ§û¯™—ª]xPœ¢r ƒ»—Lè69EŸS¢<53>åv

View File

@ -0,0 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 HwR33w ApVDih41Q8aoto0YvmMSOD2+3vVr+VxTzYPOv6XhQQA
4MVLROtYiHCT3MVqyFl2yLteNANq7MSIgliEbxIdavQ
-> ssh-ed25519 oxA+GQ W1k4A7BrFnPHPPT19mfwJQKoGfGuYl40fgJt2FVixmk
LOCjXI+rd2H52SKwmdCkCyvXp31cPqtf3hUg8IlSwws
-> Gb!v-`J}-grease ]h J$ _ABg xWK
fFoZmRMYwqqe4hgvKk93RI1ItPYB/fMMHtlek49RbPz0uss
--- U0myocqigLS1D8hXpYURyMjaOKOGDHYRqzoBLE6Udw4
•*±ßª(×å<E280BA>žÀ§<C380>I‡¤X$¸•(:€"étï}7ÝðjAµ)½tÔ<>€þ¦Ú<C2A6>©<EFBFBD>2óÄûB=<70>sòÄ+äFCllT

View File

@ -22,13 +22,9 @@ let
);
backupServiceUnits = listToAttrs (map ({jobName, jobOptions, targetName, targetOptions}: let
jobPasswordFile = if jobOptions.passwordFile != null then jobOptions.passwordFile else
if builtins.elem "clerie-backup-job-${jobName}" (attrNames config.sops.secrets) then config.sops.secrets."clerie-backup-job-${jobName}".path else
config.age.secrets."clerie-backup-job-${jobName}".path;
jobPasswordFile = if jobOptions.passwordFile == null then config.age.secrets."clerie-backup-job-${jobName}".path else jobOptions.passwordFile;
repoPath = if jobOptions.repoPath == null then "/${config.networking.hostName}/${jobName}" else jobOptions.repoPath;
targetPasswordFile = if targetOptions.passwordFile != null then targetOptions.passwordFile else
if builtins.elem "clerie-backup-target-${targetName}" (attrNames config.sops.secrets) then config.sops.secrets."clerie-backup-target-${targetName}".path else
config.age.secrets."clerie-backup-target-${targetName}".path;
targetPasswordFile = if targetOptions.passwordFile == null then config.age.secrets."clerie-backup-target-${targetName}".path else targetOptions.passwordFile;
targetUsername = if targetOptions.username == null then config.networking.hostName else targetOptions.username;
in
nameValuePair "clerie-backup-${jobName}-${targetName}" {
@ -72,13 +68,9 @@ let
) jobTargetPairs);
backupCommands = map ({jobName, jobOptions, targetName, targetOptions}: let
jobPasswordFile = if jobOptions.passwordFile != null then jobOptions.passwordFile else
if builtins.elem "clerie-backup-job-${jobName}" (attrNames config.sops.secrets) then config.sops.secrets."clerie-backup-job-${jobName}".path else
config.age.secrets."clerie-backup-job-${jobName}".path;
jobPasswordFile = if jobOptions.passwordFile == null then config.age.secrets."clerie-backup-job-${jobName}".path else jobOptions.passwordFile;
repoPath = if jobOptions.repoPath == null then "/${config.networking.hostName}/${jobName}" else jobOptions.repoPath;
targetPasswordFile = if targetOptions.passwordFile != null then targetOptions.passwordFile else
if builtins.elem "clerie-backup-target-${targetName}" (attrNames config.sops.secrets) then config.sops.secrets."clerie-backup-target-${targetName}".path else
config.age.secrets."clerie-backup-target-${targetName}".path;
targetPasswordFile = if targetOptions.passwordFile == null then config.age.secrets."clerie-backup-target-${targetName}".path else targetOptions.passwordFile;
targetUsername = if targetOptions.username == null then config.networking.hostName else targetOptions.username;
in pkgs.writeShellApplication {
name = "clerie-backup-${jobName}-${targetName}";