Announcing backrest 0.17.1 (stability improvement, preflight hooks, and whats next!) #217
garethgeorge
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi all, aiming to start posting short announcements about major new features (with some adhoc documentation) here!
With that out of the way, I want to call out a few of the major updates in backrest as of 0.17.1 as well as my upcoming plans...
Preflight Hooks
Hooks in Backrest can now customize how their failures are handled. This is currently exposed by the command hook and only affects hooks that trigger on
CONDITION_SNAPSHOT_START
. A hook failure can eitherCONDITION_SNAPSHOT_ERROR
orCONDITION_ANY_ERROR
hooks.All of this is fairly opaque so I feel some usage examples help... a hook I'm using on my NAS is to cancel attempting backups if the internet connection is down e.g.
Another hook idea would be checking the battery power state e.g. on ubuntu this is possible with on_ac_power
I'm interested to hear how community members end up using the capability & would love to see any examples of scripts people are running (feel free to comment or post in the discussion section!).
A homebrew tap
For MacOS users a homebrew tap is now available as the best way to install backrest (updates to the README coming!).
Take a look at https://github.com/garethgeorge/homebrew-backrest-tap or if you just want the commands:
Stability
Thanks to a number of community reported benchmarking results (in #92) and stack traces in (#180) stability has been a focus of my recent development cycle. Some highlights include
--race
in github actions CI and patched some race conditions found in the codebase.Whats next
Version 1.0.0
In the next few releases I'm focused on continuing to drive up Backrest's code coverage and simplify tech debt. This means looking towards a simplified task scheduling implementation with better test coverage and an improved task interface decoupled from Backrest's orchestrator.
This is with the goal of publishing a 1.0.0 stable release of Backrest with good reliability. In the months prior to 1.0.0 I'm aiming to setup preview release channels and a dedicated wiki site for backrest where I can crowd source documentation and writeups from the knowledge getting contributed on this forum.
Mulit-computer management
I'm beginning early stages of investigating multi-computer management in restic. In upcoming releases I plan to start refactoring Backrest's model to incorporate a more robust concept of a host identity with the eventual goal of allowing backrest to run as a deamon that replicates its logs to a monitor process that may be shared by many installations. More on this will be coming in a separate blog post as I get through my investigation, stay tuned!
Concluding
Hope this helps clue the community into where Backrest is headed!
Beta Was this translation helpful? Give feedback.
All reactions