INNER CODE UNIT · Go
backupAnnotatedPod
k8up-io/k8up · cmd/restic/main.go:337
func backupAnnotatedPod(pod kubernetes.BackupPod, mainLogger logr.Logger, hostname string, resticCLI *resticCli.Restic) error {
data, err := kubernetes.PodExec(pod, mainLogger)
if err != nil {
return fmt.Errorf("error occurred during data stream from k8s: %w", err)
}
filename := fmt.Sprintf("/%s-%s", hostname, pod.ContainerName)
err = resticCLI.StdinBackup(data, filename, pod.FileExtension, cfg.Config.Tags)
if err != nil {
return fmt.Errorf("backup commands failed: %w", err)
}
return nil
}
func cancelOnTermination(cancel context.CancelFunc, mainLogger logr.Logger) {
mainLogger.Info("setting up a signal handler")
s := make(chan os.Signal, 1)
signal.Notify(s, syscall.SIGTERM)
go func() {