All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v0.3.2 2021-07-30
- Remove stale locks before invoking other restic actions (k8up-io/k8up#456)
v0.3.1 2021-05-27
- Fix skipping backup of annotated pods (#93)
v0.3.0 2021-05-26
- Enable
go mod tidy
for renovate (#80)
- Also send webhooks for restores (#77)
- Reduce Restic progress FPS (#82)
- Make Restic output parsing more resilient (#81)
- Wrong binary permissions in container (#73)
- Make waiting for locks more stable
- Don't drop k8sExe stderr output (#27)
- Don't print the percentage when using stdin backups (#28)
- Github actions
- Update to Restic 0.12.0 (#57)
- Adjust exit code handling to restic 0.12.0
- Complete rewrite of whole wrestic
- Better logging
- Better code design
- Better error handling
- Better maintainability
- Less deadlock potential with command IOs
- Use root in docker image to avoid permission issues
- Ability to pass tags to restic
- Race condition in error parsing
- Using own restic fork with hotfix from restic/restic#2319 in dockerbuild
- Race condition that makes wrestic hang on certain OpenShift clusters
- Race condition with channels in the output parsing that caused wrestic to deadlock
- Bring version on par with K8up
- Webhook output now occurs after each PVC with metrics about that specific backup. The list with all the snapshots is sent after all PVCs finished. This should reduce the strain on webhook handling for very large backup sets.
- The PVC paths in the Restic snapshot get trimmed away, so we can seamlessly restore directly to a PVC without having to copy stuff around.
- Pass signals to the restic process
- Use Restic 0.9.5
- Realtime backup stats in container
- Make the short ID usable in for the restore
Attention: This release needs a custom version of Restic with the new dump system. An upstream Pullrequest is currently open, with any luck it should be merged for Restic 9.4+.
- Unlock before and after each restic action
- Don't add timestamps to the stdin backups
- Use 'dump folder to tar' ability of restic for faster restores
- More robust Bucket creation
- First iteration of integration tests
- TravisCI
- Pod lookup from within Wrestic
- Much faster restore to S3
This change contains a complete redesign of wrestic. While keeping backwards compatibility with older operator versions. Changes to the design contain:
- Better output handling (Webhook/prometheus/errors)
- No more snapshot listings in order to initialise the repository
- Created an API for the restic commandline
- Remove default unlock as this causes race conditions
- Archives not restoring all PVCs
- Ability to accept file extension for the stdin backup
- Redesigned wrestic
- Removed timeout for snapshot list altogether
- Handle backup command quoting correctly
- Exit code 1 on SIGTERM
- Don't run a shell in the Docker container
- Fail the whole backup job, if a single stdin/folder backup failed
- Fail the whole archive job, if a single restore failed
v0.0.7 - 2018-11-08
- Update snapshot webhook after every command that may change the repository
- Create a snapshot for each folder in /data
v0.0.6 - 2018-11-01
- Webhook after S3 restore
- Archive command
- Refactoring code, every command has now its own go file
v0.0.5 - 2018-09-28
- Ability to post metrics to an arbitrary HTTP endpoint
- Too small buffer for output parsing
v0.0.4 - 2018-09-12
- Huge memory leak for stdin backups
- Metrics are updated more often
- Prune is no longer triggered after the backup. It has to be triggered individually. The baas operator has that implemented.
v0.0.3 - 2018-08-10
- Ability to do backups via OpenShift stdout
- Warpperscript to correctly pass the arguments to wrestic in docker
- Adjustments to the metric handling
- Restic 0.9.2
v0.0.2 - 2018-07-27
- CI/CD pipeline
v0.0.1 - 2018-07-26
- Initial version
- Improved error detection and various bugfixes
- Timeout for initial snapshot listing, default: 30s