2.5.1 (2021-03-25)
IMPROVEMENTS:
providers-config
: Allow running mysqldump with empty password
2.5.0 (2021-02-16)
DEPENDENCIES:
rclone
: Use version 1.24.0restic
: Use version 0.12.0
2.4.2 (2021-01-22)
IMPROVEMENTS:
core
: Add debug information in the backup processplatform
: Add support of architecturearm64
BUG FIXES:
scheduler
: Fix a bug in the scheduler that leads to skipping backup for a day when the previous backup didn't end correctly.
2.4.1 (2020-11-30)
IMPROVEMENTS:
ci
: Add support of floating tags
BUG FIXES:
ci
: Fix Bivac version number on build
2.4.0 (2020-11-25)
IMPROVEMENTS:
core
: Automatically select Agent docker image based on manager's version
BUG FIXES:
providers-config
: Fix mysqldump options
We moved the default docker registry from Docker Hub to Github. From this release, all the docker images will be published on Github.
All the information regarding the new images are available on this page: https://github.com/orgs/camptocamp/packages/container/package/bivac
2.3.2 (2020-10-01)
IMPROVEMENTS:
providers-config
: Reduce memory pressure on MySQL dumpsbuild
: Improve release build scripts
BUG FIXES:
providers-config
: Fix bash errors
2.3.1 (2020-09-01)
BUG FIXES:
core
: Fix infinite loop in log receiver
2.3.0 (2020-08-31)
IMPROVEMENTS:
core
: Add support of custom backup intervalbuild
: Add support of ARM architecturebuild
: Improve multiarch docker image builddocker
: Add support of custom network usage (#342)chart
: Generic improvementsvendoring
: Switch from vendor directory to Go modules
BUG FIXES:
core
: Fix raw command output formatchart
: Fix deployment templatedocker
: Fix tests
Various minor bugs have also been fixed.
2.2.0 (2019-10-24)
IMPROVEMENTS:
metrics
: Add a metric that contains the count of snapshots for every volume.kubernetes
: Duplicate the annotations from the manager to the agents.docker
: Avoid unmarshalling error when reading logs by using encoded and sanitized output.
Various minor bugs have also been fixed.
2.1.0 (2019-06-14)
NEW FEATURES:
core
: Add commandrestore
to restore a volume from a backup.kubernetes
: Add support of subpaths and handle them as separate volumes.
IMPROVEMENTS:
core
: Add the parameter--parallel.count
to customize the number of agents able to run at the same time on the same node.core
: Add the parameter--refresh.rate
to customize the refresh rate of the volume list.tests
: Add integration tests for Docker and Cattle.
2.0.1 (2019-05-06)
This minor release contains many bug fixes and improvements in order to stabilize the release 2.0.
2.0.0 (2019-02-14)
The software has been almost entirely rewritten.
Here the new features:
- Bivac now runs as a daemon, refresh the volume list every 10 minutes and backups volumes every day.
- The support of multiple backup engines has been dropped to focus on the Restic integration.
- A client is available and lets you manage your backups. You can manually force a backup, watch the logs or run custom Restic commands.
- An API is available to lets you build tools around Bivac.
- The API exposes a Prometheus endpoint from where you can collect metrics about Bivac and the backups.
- The scheduler can run multiple backups at the same time (at most 2 by host).
1.0.0-alpha8 (2018-10-18)
BREAKING CHANGES:
core
: Removeextra-env
arguments (all manager environments are now forwarded to worker)core
: Remove old AWS and Swift arguments. Please use environment variable forwaring introducted in alpha5
IMPROVEMENTS:
core
: Allow to configure engines commandsorechestrator/docker
: forward manager volumes to worker
BUG FIXES:
- ̀
orchestrator/kubernetes
: Use namespace instead of hostname as instance label for metrics engine/restic
: Use--host
instead of deprecated--hostname
by defaultengine/restic
: Fix hostname in Kubernetes so that forget works properlyproviders
: Ignore provider detection failure when container has no shell
1.0.0-alpha7 (2018-10-12)
IMPROVEMENTS:
orchestrator/cattle
: improve error handlingcore
: improve template for Openshift to allow usage of custom providers
BUG FIXES:
orchestrator/cattle
: reload container's config before reading logs
1.0.0-alpha6 (2018-10-08)
BREAKING CHANGES:
engine/rclone
: Don't format URL in rclone engine. Please use the standard rclone URL.
IMPROVEMENTS:
engine/restic
: Check last backup date from bucket
BUG FIXES:
orchestrator/cattle
: Improve log readingorchestrator/cattle
: Prevent failure when volume is mounted on stopped containerorchestrator/kubernetes
: Fix current pod detection when using --all-namespaces
1.0.0-alpha5 (2018-10-04)
NOTES:
As we now forward environment variables from manager to workers, we plan to
remove the AWS and Swift options in the next release.
If you are using the Duplicity engine to backup on Swift, you'll probably have
to change the environment variables you pass to use the more standard OS__*
environment variables.
IMPROVEMENTS:
core
: Add template for OpenShiftproviders
: Rewrite to make it more flexiblecore
: Forward manager environment variables to workercore
: Change the behaviour of GetMountedVolumes() and rename it to GetContainersMountingVolume()
BUG FIXES:
engine/restic
: Check errors when retrieving snapshotsorchestrator/docker
: Don't allocate pseudo-tty to worker so that stdout and stderr are not mergedorchestrator/cattle
: Increase client timeoutorchestrator/cattle
: Improve log reading
1.0.0-alpha4 (2018-09-18)
BREAKING CHANGES:
orchestrator/kubernetes
: backup path now contains namespace instead of node name
IMPROVEMENTS:
core
: Addwhitelist
option to whitelist volumesorchestrator/kubernetes
: Add--k8s-all-namespaces
option to backup accross all namespacesengine/restic
: Add support for swift auth v3engine/rclone
: Add support for swift auth v3
BUG FIXES:
core
: Fix verification skipping if IsCheckScheduled is falseorchestrator/kubernetes
: Check for empty container statuses in Launchcontainerengine/restic
: Prevent backup from silently failing
1.0.0-alpha3 (2018-06-29)
IMPROVEMENTS:
orchestrator/kubernetes
: print worker logs if debug is enabled
BUG FIXES:
orchestrator/cattle
: fix node selectororchestrator/cattle
: fix EOF error while reading logs
1.0.0-alpha2 (2018-06-04)
BUG FIXES:
orchestrator/kubernetes
: AddK8S_WORKER_SERVICE_ACCOUNT
configuration parameter to allow worker to run with a Service Account that haveanyuid
Security Constaint so that it can run as root to read the data.orchestrator/cattle
: Fix pagination issue when using Cattle orchestrator.orchestrator/cattle
: Fix volume blacklisting.orchestrator/cattle
: Use Rancher Host's hostname for metrics.orchestrator/cattle
: Set random name for workers.orchestrator/cattle
: Fix provider detection issue.engine/restic
: Add backupExitCode metric.
1.0.0-alpha1 (2018-05-16)
BREAKING CHANGES:
rancher-from-host
option has been removed in favor of Cattle orchestrator.
NEW FEATURES:
- Add Cattle orchestrator.
IMPROVEMENTS:
- Improve documentation.
- Select orchestrator automatically.
- Allow to pass arbitrary environment variables to engines.
BUG FIXES:
orchestrator/kubernetes
: Always pull worker image.engine/restic
: Use worker's hostname in Restic Path.
1.0.0-alpha0 (2018-05-03)
FEATURES:
- Rename project
- Add Kubernetes orchestrator
- Add Restic engine
- Regular backup checking
- Add Helm Chart
- Make Restic the default engine
IMPROVEMENTS:
- Multi-staged Dockerfile
- Note on providers and Docker volumes
- Use go 1.10
BUG FIXES:
- Disable cache to avoid volume issues in multi instance setup
0.26.3 (2017-06-26)
BUG FIXES:
- Fix collection-status truncation
0.26.2 (2017-06-26)
BUG FIXES:
- Avoid collection-status trunc bug
0.26.1 (2017-05-26)
-
Rclone:
- Pin camptocamp/rclone:1.33-1 as newer images changes environment variable API
0.26.0 (2017-01-03)
-
Metrics:
- Use volume as primary key in metrics, avoids getting all metrics (PR #117, fix #115)
0.25.6 (2016-10-17)
-
Bugfix:
- Fix lint issue
0.25.5 (2016-10-17)
-
Features:
- Retry on errors (fix #112)
0.25.4 (2016-10-17)
-
Bugfix:
- Do not crash when GetMetrics fails (fix #108)
0.25.3 (2016-09-26)
-
Dependencies:
- Switch to docker/docker since docker/engine-api is deprecated
-
Bugfix:
- Override p.SetVolumeBackupDir() for all providers (fix #107, really fix #103)
0.25.2 (2016-09-05)
-
Build:
- Build with Go 1.7 in Travis CI
-
Bugfix:
- Check exit code in PrepareBackup() (fix #105)
0.25.1 (2016-08-31)
-
Bugfix:
- Drop databases before recreating (fix #104)
- Call p.GetBackupDir(), not p.backupDir (fix #103)
0.25.0 (2016-08-22)
We don't use a specific path separator when using the duplicity engine for swift anymore, as the bug that prevented to backup to a pseudo-folder is fixed in duplicity 0.7.08.
0.24.5 (2016-08-18)
-
Bugfix:
- Really take the last chainEndTime element (fix #96)
0.24.4 (2016-08-17)
-
Bugfix:
- Fix c.ImageInspectWithRaw() call for new version of docker/engine-api
0.24.3 (2016-08-17)
-
Bugfix:
- Take the last chainEndTime element (fix #96)
-
Tests:
- Fix some tests
-
Quality:
- Add go report badge
0.24.2 (2016-08-10)
-
Bugfix:
- Fix UpdateEvent() not updating event
-
Logging:
- Make debug less verbose
-
Tests:
- Add tests
0.24.1 (2016-08-10)
-
Bugfix:
- Fix wrong condition checking on Event#Equals()
-
Tests:
- Add tests for Event#Equals()
0.24.0 (2016-08-10)
-
Internals:
- Linting
- Avoid asserting config params as strings (fix #89)
- Use a sub-struct for sub-config in Volumes (fix #90)
- Use net/url for targetURL, fix RClone URLs (fix #92)
-
Configuration:
- Add more volume configuration (fix #91)
- Use a global targetURL (fix #93)
-
Tests:
- Fix volume tests
- Fix util tests
-
Documentation:
- Update README
- Improve and update manpage
0.23.0 (2016-08-09)
-
Internals:
- Use reflect to compute Volume config (fix #87)
-
Configuration:
- Add a .bivac.overrides file as a replacement for Docker labels (fix #87)
-
Metrics:
- Add backupStartTime and backupEndTime metrics for volumes
0.22.0 (2016-08-08)
-
Internals:
- Fix volume labels fetching (fix #83)
- Refactor metrics, using Metric and Event structs
-
Metrics:
- Change metric names according to Prometheus docs
- Fetch existing metrics from Prometheus gateway (fix #84)
-
Testing:
- Add metrics to coverage
-
Documentation:
- Add return codes to README
- Document engines in README
0.21.0 (2016-07-28)
-
Internals:
- Rename lib/ as handler/
- Add NewBivac() method
- Don't use panic
- Inspect volumes in GetVolumes()
- Propagate errors instead of crashing (fix #65)
- Add metrics.go
0.20.0 (2016-07-28)
-
Features:
- Output version in logs
- Make backup engine pluggable
- Add RClone engine (fix #71, #76)
- Add option to get host name from Rancher metadata (fix #73)
-
Internals:
- Check errors in PushToPrometheus
- Read response from Prometheus
0.13.3 (2016-07-05)
-
Bugfix:
- Blacklist lost+found (fix #68)
- Wait for container to exit before retrieving logs (fix #69)
0.13.2 (2016-07-05)
-
Bugfix:
- Fix logging in exec create
- Create new Docker client for PrepareBackup (fix #70)
-
Testing:
- Add docker image testing
0.13.1 (2016-06-30)
-
Bugfix:
- Fix image pulling (fix #61)
- Support "none" as value for last full backup date (avoid crashing on first backup)
-
Internals:
- Change some panic errors into fatal to avoid traces
-
Testing:
- Add more tests
0.13.0 (2016-06-29)
-
Breaking changes:
- JSON_OUTPUT renamed to BIVAC_JSON_OUTPUT
-
Internals:
- Reorganize packages in lib/ (fix #60)
-
Bugfix:
- Do not intent to remove links in removeContainer()
-
Testing:
- Test with verbose
- Add more tests
- Add coverage
0.12.0 (2016-06-28)
-
Features:
- Log as JSON with -j (fix #56)
- Use logs with fields (fix #57)
- Add stdout in debug output
-
Internals:
- Rewrite using github.com/docker/engine-api (fix #58)
-
Bugfix:
- Fix stdout redirection bug (fix #51)
0.11.0 (2016-06-28)
-
Features:
- Add --no-verify to skip volume backup verification
- Add backupExitCode new metric
-
Internals:
- Lint code
-
Testing:
- Add testing (fix #55)
0.10.2 (2016-06-23)
-
Bugfix:
- Check errors better
0.10.1 (2016-06-21)
-
Bugfix:
- Specify env-delim for
BIVAC_VOLUMES_BLACKLIST
- Specify env-delim for
0.10.0 (2016-06-16)
-
Internals:
- Refactor various parameters
- Set version from Makefile + git
0.9.0 (2016-06-16)
-
Features:
- Add loglevel flag and environment variable
- Add version flag
-
Internals:
- Refactor getVolumeLabel in util
0.8.1 (2016-06-15)
-
Features:
- Add flags to the command line (fixes #49)
-
Bugfix:
- Send metrics to pushgateway only if slice is not empty (fixes #47)
-
Internals:
- Use github.com/jessevdk/go-flags to manage flags and environment variables
0.7.1 (2016-05-23)
-
Bugfix:
0.8.0 (2016-06-14)
-
Features:
-
Internals:
0.7.1 (2016-05-23)
-
Bugfix:
0.7.0 (2016-05-03)
-
Breaking changes:
-
Features:
-
Internals:
0.6.2 (2016-05-03)
-
Bugfix:
- Revert persist duplicity cache
0.6.1 (2016-04-21)
-
Bugfix:
- Fix for docker < 1.11
- Code refactoring
- Persist duplicity cache
0.6.0 (2016-04-21)
-
Features:
- Add providers for PostgreSQL, MySQL, OpenLDAP, and Default backup strategies
- Refactor code
- Update github.com/fsouza/go-dockerclient
0.5.0 (2016-04-15)
-
Features
- Use github.com/caarlos0/env to manage environment variables cleanly
- Support volume labels to tune backup behavior (close #2)
- Add
FULL_IF_OLDER_THAN
environment variable
-
Build chain
- Update github.com/fsouza/go-dockerclient
0.4.0 (2016-04-08)
-
Features
- Only pull image when it's not already present
-
Build chain
- Add Godeps
- Automatic build on Travis CI
-
Docker image
- Reduce docker image size by using scratch
0.3.1 (2016-04-06)
-
Internals:
- Lint with
golint
andgoimports
- Lint with
0.3.0 (2016-04-05)
-
Features:
- Add
DUPLICITY_DOCKER_IMAGE
environment variable
- Add
-
Internals:
- Improve code organization
0.2.0 (2016-04-05)
-
Features:
- Pull image before starting backup
-
Internals:
- Use implicit composition for
*docker.Client
inBivac
struct
- Use implicit composition for
0.1.0 (2016-04-04)
- Initial release