Add allowFailure option

Implements #189
This commit is contained in:
simonhammes 2024-10-30 15:47:34 +01:00
parent f7d28b486c
commit a33b782c54
2 changed files with 16 additions and 8 deletions

View File

@ -24,6 +24,7 @@ type Backend struct {
Path string `mapstructure:"path,omitempty" yaml:"path,omitempty"`
Key string `mapstructure:"key,omitempty" yaml:"key,omitempty"`
RequireKey bool `mapstructure:"requireKey,omitempty" yaml:"requireKey,omitempty"`
AllowFailure bool `mapstructure:"allowFailure,omitempty" yaml:"allowFailure,omitempty"`
Env map[string]string `mapstructure:"env,omitempty" yaml:"env,omitempty"`
Rest BackendRest `mapstructure:"rest,omitempty" yaml:"rest,omitempty"`
Options Options `mapstructure:"options,omitempty" yaml:"options,omitempty"`

View File

@ -267,6 +267,13 @@ func (l Location) Backup(cron bool, specificBackend string) []error {
// If error save it and continue
if err != nil {
if backend.AllowFailure {
colors.Faint.Printf("skipping backend \"%s\" since allowFailure was set to \"true\"\n", to)
if flags.VERBOSE {
colors.Error.Printf("reason: %s", out)
}
continue
}
colors.Error.Println(out)
errors = append(errors, fmt.Errorf("%s@%s:\n%s%s", l.name, backend.name, out, err))
continue