68 lines
2.5 KiB
Python
68 lines
2.5 KiB
Python
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": (
|
|
"uberspace-redirect-clerie",
|
|
"uberspace-clerie-backup",
|
|
"uberspace-crontab-dir",
|
|
),
|
|
"metadata": {
|
|
"clerie-backup": {
|
|
"repos": generate_default_repos("clerie.uber.space"),
|
|
},
|
|
"cron": {
|
|
"jobs": {
|
|
"backup_main-cyan": "42 */2 * * * clerie-backup main-cyan backup",
|
|
"backup_main-cyan_mysql": "52 */2 * * * clerie-backup main-cyan restic backup --stdin-filename mysql-databases.sql --stdin-from-command -- mysqldump --all-databases",
|
|
"backup_main-magenta": "13 */2 * * * clerie-backup main-magenta backup",
|
|
"backup_main-magenta_mysql": "23 */2 * * * clerie-backup main-magenta restic backup --stdin-filename mysql-databases.sql --stdin-from-command -- mysqldump --all-databases",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"cleriewi.uber.space": {
|
|
"bundles": (
|
|
"uberspace-redirect-clerie",
|
|
"uberspace-clerie-backup",
|
|
"uberspace-crontab-dir",
|
|
),
|
|
"metadata": {
|
|
"clerie-backup": {
|
|
"repos": generate_default_repos("cleriewi.uber.space"),
|
|
},
|
|
"cron": {
|
|
"jobs": {
|
|
"backup_main-cyan": "42 */2 * * * clerie-backup main-cyan backup",
|
|
"backup_main-magenta": "13 */2 * * * clerie-backup main-magenta backup",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
})
|