From bd3f9f38f07a9c4be1b9e60c43bfa0908f4a3c17 Mon Sep 17 00:00:00 2001 From: clerie Date: Sun, 16 Feb 2025 19:44:07 +0100 Subject: [PATCH] Generate default backup repo configs --- nodes.py | 70 +++++++++++++++++++--------------------------------- secrets.json | 17 ++++--------- 2 files changed, 31 insertions(+), 56 deletions(-) diff --git a/nodes.py b/nodes.py index 4c7aea7..78e2fa1 100644 --- a/nodes.py +++ b/nodes.py @@ -1,6 +1,30 @@ bws = libs.bwsops.BwSops("secrets.json") uberspaceify = libs.uberspace.Uberspaceify() +def generate_default_repos(node_name): + return { + "main-cyan": { + "repo_password": bws.get([node_name, "clerie-backup-job-main"]), + "repo_url": f"https://cyan.backup.clerie.de/{node_name}/main", + "auth_username": node_name, + "auth_password": bws.get([node_name, "clerie-backup-target-cyan"]), + "files": [ + "/home/clerie", + "/var/www/virtual/clerie", + ], + }, + "main-magenta": { + "repo_password": bws.get([node_name, "clerie-backup-job-main"]), + "repo_url": f"https://magenta.backup.clerie.de/{node_name}/main", + "auth_username": node_name, + "auth_password": bws.get([node_name, "clerie-backup-target-magenta"]), + "files": [ + "/home/clerie", + "/var/www/virtual/clerie", + ], + }, + } + nodes = uberspaceify.nodes({ "clerie.uber.space": { "bundles": ( @@ -10,28 +34,7 @@ nodes = uberspaceify.nodes({ ), "metadata": { "clerie-backup": { - "repos": { - "main-cyan": { - "repo_password": bws.get("clerie.uber.space/clerie-backup/main-cyan/repo_password"), - "repo_url": "https://cyan.backup.clerie.de/clerie.uber.space/main", - "auth_username": "clerie.uber.space", - "auth_password": bws.get("clerie.uber.space/clerie-backup/main-cyan/auth_password"), - "files": [ - "/home/clerie", - "/var/www/virtual/clerie", - ], - }, - "main-magenta": { - "repo_password": bws.get("clerie.uber.space/clerie-backup/main-magenta/repo_password"), - "repo_url": "https://magenta.backup.clerie.de/clerie.uber.space/main", - "auth_username": "clerie.uber.space", - "auth_password": bws.get("clerie.uber.space/clerie-backup/main-magenta/auth_password"), - "files": [ - "/home/clerie", - "/var/www/virtual/clerie", - ], - }, - }, + "repos": generate_default_repos("clerie.uber.space"), }, "cron": { "jobs": { @@ -51,28 +54,7 @@ nodes = uberspaceify.nodes({ ), "metadata": { "clerie-backup": { - "repos": { - "main-cyan": { - "repo_password": bws.get("cleriewi.uber.space/clerie-backup-job-main"), - "repo_url": "https://cyan.backup.clerie.de/cleriewi.uber.space/main", - "auth_username": "cleriewi.uber.space", - "auth_password": bws.get("cleriewi.uber.space/clerie-backup-target-cyan"), - "files": [ - "/home/clerie", - "/var/www/virtual/clerie", - ], - }, - "main-magenta": { - "repo_password": bws.get("cleriewi.uber.space/clerie-backup-job-main"), - "repo_url": "https://magenta.backup.clerie.de/cleriewi.uber.space/main", - "auth_username": "cleriewi.uber.space", - "auth_password": bws.get("cleriewi.uber.space/clerie-backup-target-magenta"), - "files": [ - "/home/cleriewi", - "/var/www/virtual/cleriewi", - ], - }, - }, + "repos": generate_default_repos("cleriewi.uber.space"), }, "cron": { "jobs": { diff --git a/secrets.json b/secrets.json index f350e3c..9abe928 100644 --- a/secrets.json +++ b/secrets.json @@ -1,15 +1,8 @@ { "clerie.uber.space": { - "clerie-backup": { - "main-cyan": { - "repo_password": "ENC[AES256_GCM,data:BjyMOOGFdcT6e/zuQKPW88XiKhL26KYKebP0dsevMHmKoxQdIw9R/KS/GIlMlJKsz2wwH6nk5adiLBVD9+7TCA==,iv:1/iT4/QwRuZL3pq2D9nYiqTEpMHtf29r1mAYOzkxQeA=,tag:4LxvLRwfJYd9erPhBKb1Bw==,type:str]", - "auth_password": "ENC[AES256_GCM,data:j6QJeJ7SKKoEnpiO+YxvHfcP38KVop0bfAScRk0mWeBr+8S+3sYMGnPcVbhoHcqJsWyeeEDomhm/GniGza2zLA==,iv:bxL7Hh9jVZ4wc4/69qSmRZZHcCxlEpllIu9zKA4tRy0=,tag:W4cNmbJgDZlqshUN39ieLw==,type:str]" - }, - "main-magenta": { - "repo_password": "ENC[AES256_GCM,data:nDPphjFK0gY77Vq+QLhWRhUM+IxgPD+rIgYS99HCDLS5YVLiPK56kizXRWlOPpq/uUr9bdhLnQAJ8FOBbhvBKA==,iv:HE/v/cVfIrjEXdb820pGJe2hqpYaXiIqDTBr0qTg7AY=,tag:yFpn+0rI9mzGv7vdxUBKjQ==,type:str]", - "auth_password": "ENC[AES256_GCM,data:I3NbXg6Gk4/7z2Ct7L10/mASKxInAFbKN9s9O5Lz6mTfbL35n+cu58H2xP/Nxqu/AJMCcOoXwNHhA/iLGH24RQ==,iv:TwdUR7jnVYK0PnQmMs5P+TrXEtyCxQXbxWPDsmdEPbc=,tag:Sat2Wlb4vYMoH+VRgKjaFQ==,type:str]" - } - } + "clerie-backup-job-main": "ENC[AES256_GCM,data:cEKZuviDYpzyhbjydOYPWF2wzozQwutSRCWo0bGECoTxV1R+PTrX4C7rc/Xj0oGCgclEfZaNvUGOfm4h7Y9xjA==,iv:RiQ/+yFgYS8Sd/fh+Z2SmKlTCIMGU3HtkfjUBDuE7sk=,tag:KC6qUKW+0gffpf3SVjUhdQ==,type:str]", + "clerie-backup-target-cyan": "ENC[AES256_GCM,data:V/Bgfu5Thb3pUDtjk20xUQQXBgnmhv+H9R1bABYX2o3JutLntexO4LGeECZdsTIrKEVX/mwcXpFmhesYjTWQqw==,iv:jrxsku6VDCjhzLbhqa2MdOfvu7p6rKWr4WGYP6GCU6I=,tag:7AFT9WcGDH49c2DSy1ZBcw==,type:str]", + "clerie-backup-target-magenta": "ENC[AES256_GCM,data:6E6JJbbnG20FbGtneNZKUok/DsIplcnTEYvJn2zJcZMha1xk9SZGs8Pf4P6odkEjCFN06FeciuS/vgGa7rOP7A==,iv:tTnmJhnHefIusGNIHcZGqDLNEYkUXR0ITsHrDdJl2oo=,tag:LIl7xoiTOs4i2xzVW+N3wg==,type:str]" }, "cleriewi.uber.space": { "clerie-backup-job-main": "ENC[AES256_GCM,data:f6Hl80iUbjV3h69vjAyyrrvnnVKxk2DhuewE/kP0+9AX/yihlD5aOosqHnF8kbh/5Snow7/1k8CR2xpfSbiDaA==,iv:zdNhrrNr4pWUf2MpuXaBzbjkQ8xbfcZhI1/GsjXj8oY=,tag:+KpPOBwAG5uvoDtGYGBE0Q==,type:str]", @@ -22,8 +15,8 @@ "azure_kv": null, "hc_vault": null, "age": null, - "lastmodified": "2025-02-16T18:14:02Z", - "mac": "ENC[AES256_GCM,data:bS9Q1sEo0ItLJJYFasJsNshfxeCYR2uFF4FVzoaQ6AHMSz76eC/uPU0njoc+tJK6qOYcPPpTGddo6bhv4A7oXaTm+vmfinetXbsvVGi4jX16LP+CEY/uqgqxfQ7+rHB5qdEyi/8Vb7N3WK2166xq3eqsBc3U+djTK2g1UB0Y2Xk=,iv:PFNuQtQENEI07fv/BA7PLth98+sSPMIWsWweQp3kecI=,tag:dW4UY7m2qiZ5Pj3w0V6REA==,type:str]", + "lastmodified": "2025-02-16T18:41:27Z", + "mac": "ENC[AES256_GCM,data:QyU1INnlZVP5RNPczuZEAeCah+c3rjWHhiGGjDn87tUSp+OwEkL44Hosr9vThk6FNdKWbtqcUh1wBW/UCgy5/jmh2BHv3pTIOzkXWAD1fy/Kb/jNYo0IH1+7cte98+NcDPw7do4k1fYM/H5VD3SPpGp5bWxEcrkrZuiupThuduI=,iv:QXqL4hbymO7uOBfghYZwSFgTWUnBeA52sHl201ChRME=,tag:c8Za2rcaO5WRnu4HIJtWWQ==,type:str]", "pgp": [ { "created_at": "2025-02-15T16:00:02Z",