Skip to content

Releases: crmne/kamal-backup

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 08:05
bc057d1

Changelog

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 13 Jun 11:24
846c8cc

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

Choose a tag to compare

@github-actions github-actions released this 06 Jun 08:14
02c1a59

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 -> app
  • database_adapter, database_url, sqlite_database_path -> databases[]
  • backup_paths -> paths
  • restic_repository -> restic.repository
  • restic_init_if_missing -> restic.init_if_missing
  • backup_schedule_seconds: 86400 -> backup.schedule: 1d
  • state_dir -> state.path

After migrating, run:

bundle exec kamal-backup validate

It 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.username and restic.rest.password.
  • backup --force to run a backup now, even when the schedule says it is not due.
  • prune to apply restic retention by hand with restic 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, and version find the backup accessory from a normal Kamal app checkout.
  • -d and -c select 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 local and drill local pull production source settings from config/kamal-backup.yml and figure out local Rails targets from config/database.yml, storage, and tmp/kamal-backup.
  • drill production restores into scratch targets instead of touching live production data.
  • restore production still requires explicit confirmation and does not accept --yes.
  • evidence collects 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

Full Changelog: v0.2.10...v0.3.0

v0.3.0.beta21

v0.3.0.beta21 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Jun 14:10
9ee1f41

Changelog

Full Changelog: v0.3.0.beta20...v0.3.0.beta21

v0.3.0.beta9

v0.3.0.beta9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jun 16:38
d6a9ce8

Changelog

Full Changelog: v0.3.0.beta8...v0.3.0.beta9

v0.3.0.beta8

v0.3.0.beta8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jun 16:21
0aca308

Changelog

Full Changelog: v0.3.0.beta7...v0.3.0.beta8

v0.3.0.beta7

v0.3.0.beta7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jun 16:05
9b9fc2c

Changelog

  • a1880b3 Match Kamal command output colors
  • 9b9fc2c Release 0.3.0.beta7

Full Changelog: v0.3.0.beta6...v0.3.0.beta7

v0.3.0.beta6

v0.3.0.beta6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jun 14:30
dbc30ca

Changelog

Full Changelog: v0.3.0.beta5...v0.3.0.beta6

v0.3.0.beta5

v0.3.0.beta5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jun 09:54
3239290

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

v0.3.0.beta4

v0.3.0.beta4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jun 08:56
ee90cd9

Changelog

Full Changelog: v0.3.0.beta3...v0.3.0.beta4