bwfiles/nodes.py

68 lines
2.6 KiB
Python
Raw Normal View History

2025-02-15 18:25:36 +01:00
bws = libs.bwsops.BwSops("secrets.json")
2025-01-22 21:07:21 +01:00
uberspaceify = libs.uberspace.Uberspaceify()
2025-02-16 19:57:51 +01:00
def generate_default_repos(node_name, username):
2025-02-16 19:44:07 +01:00
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": [
2025-02-16 19:57:51 +01:00
f"/home/{username}",
f"/var/www/virtual/{username}",
2025-02-16 19:44:07 +01:00
],
},
"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": [
2025-02-16 19:57:51 +01:00
f"/home/{username}",
f"/var/www/virtual/{username}",
2025-02-16 19:44:07 +01:00
],
},
}
2025-01-22 21:07:21 +01:00
nodes = uberspaceify.nodes({
"clerie.uber.space": {
"bundles": (
"uberspace-redirect-clerie",
2025-02-14 17:16:43 +01:00
"uberspace-clerie-backup",
2025-02-16 14:05:55 +01:00
"uberspace-crontab-dir",
2025-01-22 21:07:21 +01:00
),
2025-02-15 18:25:36 +01:00
"metadata": {
"clerie-backup": {
2025-02-16 19:57:51 +01:00
"repos": generate_default_repos("clerie.uber.space", "clerie"),
2025-02-15 18:25:36 +01:00
},
2025-02-16 14:05:55 +01:00
"cron": {
"jobs": {
"backup_main-cyan": "42 */2 * * * clerie-backup main-cyan backup",
2025-02-16 15:03:41 +01:00
"backup_main-cyan_mysql": "52 */2 * * * clerie-backup main-cyan restic backup --stdin-filename mysql-databases.sql --stdin-from-command -- mysqldump --all-databases",
2025-02-16 14:05:55 +01:00
"backup_main-magenta": "13 */2 * * * clerie-backup main-magenta backup",
2025-02-16 15:03:41 +01:00
"backup_main-magenta_mysql": "23 */2 * * * clerie-backup main-magenta restic backup --stdin-filename mysql-databases.sql --stdin-from-command -- mysqldump --all-databases",
2025-02-16 14:05:55 +01:00
},
},
2025-02-15 18:25:36 +01:00
},
2025-01-22 21:07:21 +01:00
},
"cleriewi.uber.space": {
"bundles": (
"uberspace-redirect-clerie",
2025-02-16 19:16:16 +01:00
"uberspace-clerie-backup",
"uberspace-crontab-dir",
2025-01-22 21:07:21 +01:00
),
2025-02-16 19:16:16 +01:00
"metadata": {
"clerie-backup": {
2025-02-16 19:57:51 +01:00
"repos": generate_default_repos("cleriewi.uber.space", "cleriewi"),
2025-02-16 19:16:16 +01:00
},
"cron": {
"jobs": {
"backup_main-cyan": "42 */2 * * * clerie-backup main-cyan backup",
"backup_main-magenta": "13 */2 * * * clerie-backup main-magenta backup",
},
},
},
2025-01-22 21:07:21 +01:00
},
})