Releases: crmne/kamal-backup
Release list
v0.4.0
Changelog
Full Changelog: v0.3.1...v0.4.0
v0.3.1
Changelog
- 6ac0372 Prepare 0.3.0
- 02c1a59 Release 0.3.0
- b97f4e0 Updated jekyll-vitepress
- 22e7426 Updated jekyll-vitepress
- d7c8744 Extract config file parsing and drop 0.2 compat except for old snapshots
- 327b981 Split mixed-concern files and order methods by invocation
- a312f72 Added codecov
- 7b40c01 More tests
- a80c981 Updated jekyll-vitepress
- aca1081 Fix Kamal accessory exec argument handling
- 846c8cc Release 0.3.1
Full Changelog: v0.3.0.beta21...v0.3.1
kamal-backup 0.3.0
kamal-backup 0.3.0 backs up multiple databases in one Kamal deployment. Point it at a Postgres primary and a separate queue or cache database, or any mix of Postgres, MySQL/MariaDB, and SQLite, and each one gets backed up and retained on its own.
Supporting more than one database meant the old flat config could no longer describe a setup, so this release moves to a grouped YAML shape. One config/kamal-backup.yml now describes everything: app name, the list of databases, file backup paths, restic settings, restore targets, and the schedule.
Breaking change: new config shape
The flat config keys from 0.2.x no longer work. Move to the grouped shape before you reboot the accessory.
Key moves:
app_name->appdatabase_adapter,database_url,sqlite_database_path->databases[]backup_paths->pathsrestic_repository->restic.repositoryrestic_init_if_missing->restic.init_if_missingbackup_schedule_seconds: 86400->backup.schedule: 1dstate_dir->state.path
After migrating, run:
bundle exec kamal-backup validateIt lists any legacy keys you still need to move. Full migration notes: https://kamal-backup.dev/upgrading/
Also in this release
- Database and file snapshots now retain separately, so each database keeps its own history.
- Secret references in YAML, so config can point at Kamal secrets without holding the values.
- Restic REST credentials via
restic.rest.usernameandrestic.rest.password. backup --forceto run a backup now, even when the schedule says it is not due.pruneto apply restic retention by hand withrestic forget --prune.- Fresh-backup reporting that confirms each run created the database and file snapshots you expected.
- Per-path backup excludes, plus automatic SQLite WAL and SHM excludes when a SQLite database sits inside a backed-up path.
- Clearer reporting when a restic stream fails.
Kamal integration
backup,list,check,prune,evidence,validate, andversionfind the backup accessory from a normal Kamal app checkout.-dand-cselect destination and config the same way Kamal does.- Remote commands check that your local gem version matches the accessory before they run.
- Remote command output streams in Kamal's style, with color and clearer host labels.
- Validation can read rendered Kamal accessory config and required secrets before the accessory is running.
Restores, drills, and evidence
restore localanddrill localpull production source settings fromconfig/kamal-backup.ymland figure out local Rails targets fromconfig/database.yml,storage, andtmp/kamal-backup.drill productionrestores into scratch targets instead of touching live production data.restore productionstill requires explicit confirmation and does not accept--yes.evidencecollects redacted config, latest snapshots, the latest restic check, the latest restore drill, retention policy, and tool versions for security reviews.- Redaction now covers database URL credentials, secret-like values, and username-style environment keys.
Published artifacts
- RubyGem:
kamal-backup0.3.0 - Docker image:
ghcr.io/crmne/kamal-backup:0.3.0 - Stable Docker tag:
ghcr.io/crmne/kamal-backup:latest - Docs: https://kamal-backup.dev
Full Changelog: v0.2.10...v0.3.0
v0.3.0.beta21
v0.3.0.beta9
v0.3.0.beta8
v0.3.0.beta7
v0.3.0.beta6
v0.3.0.beta5
Changelog
- af1ab66 Simplified release workflow
- 035cd17 Improve restic snapshot metadata
- 3239290 Release 0.3.0.beta5
Full Changelog: v0.3.0.beta4...v0.3.0.beta5