mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-08 19:26:48 +00:00
The only backups of the panel were the ones taken by hand before an update. Now `manage.py backup` writes a new directory under backups/ with a consistent copy of the sqlite database (the backup API, while the panel runs, checked with PRAGMA integrity_check), the secret key, the worker's node_id, settings.py, the SSH keys of the panel's user and, outside Docker, the commit. It keeps the newest 7 (--keep N) and deletes older ones only after a good backup; a failed one leaves nothing, and a second run while one runs fails. Files are mode 600, directories 700: the database holds compute passwords and keys. With PostgreSQL the database is left out. It runs daily at 03:15: in Docker from the image's cron into a new volume, webvirtcloud-backups; otherwise from webvirt-backup.timer, which the installer and the manual steps install. A backup has the layout of the update backups, so the restore steps take either.
36 lines
480 B
Text
36 lines
480 B
Text
.vagrant
|
|
.venv
|
|
venv
|
|
venv2
|
|
.vscode
|
|
.idea
|
|
.DS_*
|
|
.webvirtcloud
|
|
*.pyc
|
|
db.sqlite3*
|
|
test_db.sqlite3*
|
|
console/cert.pem*
|
|
tags
|
|
dhcpd.*
|
|
webvirtcloud/settings.py
|
|
.coverage
|
|
htmlcov
|
|
*.log
|
|
templates/webvirtcloud.code-workspace
|
|
DEPENDENCY_UPGRADE_PLAN.md
|
|
AGENTS.md
|
|
ROADMAP.md
|
|
.agents
|
|
|
|
# Runtime data (secret key, etc.)
|
|
data/
|
|
|
|
# collectstatic output
|
|
/staticfiles/
|
|
|
|
# Local planning and agent workspace (superpowers)
|
|
/docs/superpowers/
|
|
/.superpowers/
|
|
|
|
# Panel backups (manage.py backup)
|
|
/backups/
|