workflow

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package workflow orchestrates a single recovery drill end-to-end: preflight checks, Restic restore, sandbox creation, PostgreSQL restore, SQL validation, reporting, and cleanup.

The workflow never returns a raw error to the caller. All outcomes — including failures — are captured in the returned *report.Report so it can always be serialized.

Index

Constants

This section is empty.

Variables

View Source
var ErrNotImplemented = errors.New("not implemented")

ErrNotImplemented is a sentinel for future use.

Functions

This section is empty.

Types

type Runner

type Runner struct {
	CLI      *client.Client
	TempRoot string // optional, defaults to os.TempDir()
	Logger   *slog.Logger
}

Runner executes a single recovery drill.

func New

func New(cli *client.Client) *Runner

New returns a Runner bound to the given Docker client.

func (*Runner) Run

func (r *Runner) Run(ctx context.Context, c *contract.Contract, contractPath string) (rep *report.Report)

Run executes a complete recovery drill and returns a populated report. The report is always non-nil; errors are recorded in the report's stages and FailureReason field.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL