@@ -42,26 +42,7 @@ func runBackup(ctx context.Context, logger *log.Logger) error {
4242 }
4343 }
4444
45- failedBackups := 0
46- failedBackupErrorAlerts := 0
47-
48- handleOneFailure := func (target ubtypes.BackupTarget , err error ) {
49- failedBackups ++
50-
51- logl .Error .Printf ("%s: %v" , target .ServiceName , err )
52-
53- // raise an alert
54- if alertManagerClient != nil {
55- alert := alertmanagertypes .NewAlert (
56- alertSubjects .ServiceBackupFailed (target .ServiceName ),
57- err .Error ())
58-
59- if err := alertManagerClient .Alert (ctx , alert ); err != nil {
60- logl .Error .Println (err .Error ())
61- failedBackupErrorAlerts ++
62- }
63- }
64- }
45+ targets := []ubtypes.BackupTarget {}
6546
6647 if conf .DockerEndpoint != nil {
6748 logl .Debug .Println ("starting Docker discovery" )
@@ -71,31 +52,42 @@ func runBackup(ctx context.Context, logger *log.Logger) error {
7152 return err
7253 }
7354
74- for _ , containerTarget := range containerTargets {
75- if err := ubbackup .BackupAndStore (
76- ctx ,
77- ubtypes .BackupForTarget (containerTarget ),
78- * conf ,
79- logger ,
80- ); err != nil {
81- handleOneFailure (containerTarget , err )
82- }
83- }
55+ targets = append (targets , containerTargets ... )
8456 }
8557
8658 for _ , staticTarget := range conf .StaticTargets {
87- target := ubtypes.BackupTarget {
59+ // adapt config's static targets into BackupTarget type (complete with snapshotter)
60+ targets = append (targets , ubtypes.BackupTarget {
8861 ServiceName : staticTarget .ServiceName ,
8962 Snapshotter : newCommandOutputSnapshotter (staticTarget .BackupCommand , "" ),
90- }
63+ })
64+ }
65+
66+ failedBackups := 0
67+ failedBackupErrorAlerts := 0
9168
69+ for _ , target := range targets {
9270 if err := ubbackup .BackupAndStore (
9371 ctx ,
9472 ubtypes .BackupForTarget (target ),
9573 * conf ,
9674 logger ,
9775 ); err != nil {
98- handleOneFailure (target , err )
76+ failedBackups ++
77+
78+ logl .Error .Printf ("%s: %v" , target .ServiceName , err )
79+
80+ // raise an alert
81+ if alertManagerClient != nil {
82+ alert := alertmanagertypes .NewAlert (
83+ alertSubjects .ServiceBackupFailed (target .ServiceName ),
84+ err .Error ())
85+
86+ if err := alertManagerClient .Alert (ctx , alert ); err != nil {
87+ logl .Error .Println (err .Error ())
88+ failedBackupErrorAlerts ++
89+ }
90+ }
9991 }
10092 }
10193
0 commit comments