Skip to content

Commit

Permalink
simplify code
Browse files Browse the repository at this point in the history
  • Loading branch information
joonas-fi committed Mar 7, 2020
1 parent 6988521 commit 8f6ff4c
Showing 1 changed file with 25 additions and 33 deletions.
58 changes: 25 additions & 33 deletions cmd/ubackup/backup.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,26 +42,7 @@ func runBackup(ctx context.Context, logger *log.Logger) error {
}
}

failedBackups := 0
failedBackupErrorAlerts := 0

handleOneFailure := func(target ubtypes.BackupTarget, err error) {
failedBackups++

logl.Error.Printf("%s: %v", target.ServiceName, err)

// raise an alert
if alertManagerClient != nil {
alert := alertmanagertypes.NewAlert(
alertSubjects.ServiceBackupFailed(target.ServiceName),
err.Error())

if err := alertManagerClient.Alert(ctx, alert); err != nil {
logl.Error.Println(err.Error())
failedBackupErrorAlerts++
}
}
}
targets := []ubtypes.BackupTarget{}

if conf.DockerEndpoint != nil {
logl.Debug.Println("starting Docker discovery")
Expand All @@ -71,31 +52,42 @@ func runBackup(ctx context.Context, logger *log.Logger) error {
return err
}

for _, containerTarget := range containerTargets {
if err := ubbackup.BackupAndStore(
ctx,
ubtypes.BackupForTarget(containerTarget),
*conf,
logger,
); err != nil {
handleOneFailure(containerTarget, err)
}
}
targets = append(targets, containerTargets...)
}

for _, staticTarget := range conf.StaticTargets {
target := ubtypes.BackupTarget{
// adapt config's static targets into BackupTarget type (complete with snapshotter)
targets = append(targets, ubtypes.BackupTarget{
ServiceName: staticTarget.ServiceName,
Snapshotter: newCommandOutputSnapshotter(staticTarget.BackupCommand, ""),
}
})
}

failedBackups := 0
failedBackupErrorAlerts := 0

for _, target := range targets {
if err := ubbackup.BackupAndStore(
ctx,
ubtypes.BackupForTarget(target),
*conf,
logger,
); err != nil {
handleOneFailure(target, err)
failedBackups++

logl.Error.Printf("%s: %v", target.ServiceName, err)

// raise an alert
if alertManagerClient != nil {
alert := alertmanagertypes.NewAlert(
alertSubjects.ServiceBackupFailed(target.ServiceName),
err.Error())

if err := alertManagerClient.Alert(ctx, alert); err != nil {
logl.Error.Println(err.Error())
failedBackupErrorAlerts++
}
}
}
}

Expand Down

0 comments on commit 8f6ff4c

Please sign in to comment.