INNER CODE UNIT · Go
doBackup
k8up-io/k8up · cmd/restic/main.go:294
func doBackup(ctx context.Context, resticCLI *resticCli.Restic, mainLogger logr.Logger) error {
err := backupAnnotatedPods(ctx, resticCLI, mainLogger)
if err != nil {
return fmt.Errorf("backup of annotated pods failed: %w", err)
}
mainLogger.Info("backups of annotated jobs have finished successfully")
err = resticCLI.Backup(cfg.Config.BackupDir, cfg.Config.Tags)
if err != nil {
return fmt.Errorf("backup job failed in dir '%s': %w", cfg.Config.BackupDir, err)
}
return nil
}
func backupAnnotatedPods(ctx context.Context, resticCLI *resticCli.Restic, mainLogger logr.Logger) error {
_, serviceErr := os.Stat("/var/run/secrets/kubernetes.io")
_, kubeconfigErr := os.Stat(cfg.Config.KubeConfig)