- dar-backup version 1.1.1 included in the image
- image rebuilt to include Ubuntu 24.04 vuln fixes
- CI E2E now runs
scripts/backup-restore-compare.sh(PITR restore + PITR report) to keep workflow behavior aligned with local testing
Github link: v0.5.19
dar-backupnow at version 1.0.01- Image refreshed
Github link: v0.5.16
darcompiled from source (v2.7.19)- Replaces Ubuntu 24.04’s older
darpackage with the latest upstream release. - The build process:
- Verifies the tarball using Denis Corbin’s GPG signature.
- Builds from source with full feature set (zstd, lz4, Argon2, GPGME, librsync, and remote repository support).
- Runs strict feature verification (gzip, encryption, symlink handling, multi-threading, etc.) before including it in the final image.
- Replaces Ubuntu 24.04’s older
Github link: v0.5.15
darcompiled from source (v2.7.18)- Replaces Ubuntu 24.04’s older
darpackage with the latest upstream release. - The build process:
- Verifies the tarball using Denis Corbin’s GPG signature.
- Builds from source with full feature set (zstd, lz4, Argon2, GPGME, librsync, and remote repository support).
- Runs strict feature verification (gzip, encryption, symlink handling, multi-threading, etc.) before including it in the final image.
- Ensures consistent, modern functionality.
- Replaces Ubuntu 24.04’s older
- Docker image improvements
- Stripped unnecessary build artifacts and documentation.
- Optimized venv cleanup, reducing the final image size to ~160 MB.
- Improved linker and runtime configuration for smooth
libdar64andlibthreadarloading.
-
Full pytest suite passes after integrating source-built
dar. -
Confirmed compatibility with both locally built and pulled images:
make test make IMAGE=per2jensen/dar-backup:0.5.15 test-pulled
Github link: v0.5.14
-
Backup definition support (
-d/--backup-definition)run-backup.shnow accepts-d <name>or--backup-definition <name>to select a specific definition file.- Falls back to
default(auto-created if missing) when no definition is given. - Backup archives now follow the pattern:
<definition>_<type>_YYYY-MM-DD.<slice>.dar
-
Expanded script documentation
- Comprehensive header in
run-backup.shdescribing:- Environment variables, UID/GID handling, and directory resolution order.
- Daily backup rules (one FULL, one DIFF, one INCR per definition per day).
- Multiple quick-start examples for personal, shared, and automated setups.
- README updated with matching directory layout, UID/GID, and usage examples.
- Comprehensive header in
-
Updated
run-backup.shbehavior- Enforces the one-per-day-per-type rule for backups.
- Displays which backup definition is being used in its output.
- Now generates a default
backup.d/defaultif none exists (ensuring first-run success).
-
Improved testing
- New pytest tests for the
-d/--backup-definitionfeature:- Confirms correct DAR filenames.
- Validates separate runs with different definitions.
- Covers default fallback behavior when
-dis omitted.
- Tests updated to start from a clean slate (removes old archives) so FULL → DIFF → INCR chains work reliably.
- New pytest tests for the
- Full test suite passes (
make test) with stateful chains and definition-aware backups. - Ensured compatibility with Docker Hub–pulled and locally built images.
make IMAGE=per2jensen/dar-backup:0.5.13 test-pulledsucceeds
Github link: v0.5.13
make size-report: New target to display image layer sizes in MB (normalized, readable table).make dev-nuke: Easy cleanup of all build cache and layers for troubleshooting.
- Image size reduced from 270 MB → 143 MB while retaining:
- Standard
ubuntu:24.04base image (no switch to slim/minimal). - Full
dist-upgradefor security updates.
- Standard
- Combined redundant
RUNsteps in Dockerfile to shrink intermediate layers. - Virtualenv cleanup improved (removes tests,
pip,setuptools, andwheelentirely). - Truncated long Docker history commands in size reports for easier reading.
- Legacy Bash test suite replaced with pytest setup
- Proper fixtures and
conftest.py. - Stateful FULL → DIFF → INCR tests combined into a single coherent test.
- SHA256 hash reporting preserved for dataset integrity checks.
- Proper fixtures and
Github link: v0.5.12
- Unified test dataset handling with
statefulandstatelessmodes to support FULL → DIFF → INCR backup chains. - Comprehensive SHA256 tracing in test harness for debugging data integrity across test runs.
- Test case enhancements:
test_case_8: Verifies restore directory usability (permissions and writability).test_case_9: Validatesmanagercommand creates.dbfiles correctly when backup definitions exist.
- Reworked test framework to ensure a clean baseline (
clean_dirs) at the start of every test run, eliminating state leakage between tests. - Fixed
prepare_dataset()logic to prevent accidental file mutations unless explicitly in stateful mode. run-backup.shno longer injects sample data (datasets are now entirely managed by the test suite).
- Consolidated to a single Dockerfile, simplifying the build pipeline and reducing maintenance complexity.
- Removed unnecessary Python tooling (
pip,setuptools,wheel) from the final runtime image to shrink the attack surface. - Enforced non-root execution (
daruser, UID 1000) for all container operations. - Cleaned up intermediate build artifacts to reduce image size and attack surface.
- All base image and dependency vulnerabilities addressed; image verified with Scout (no high/critical CVEs).