Skip to content

Commit 8f6ff4c

Browse files
committed
simplify code
1 parent 6988521 commit 8f6ff4c

1 file changed

Lines changed: 25 additions & 33 deletions

File tree

cmd/ubackup/backup.go

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)