Files
narratio/internal/artifacts/store.go

20 lines
508 B
Go

package artifacts
import "context"
// Ref identifies a pipeline artifact and optional remote location.
type Ref struct {
Kind string
LocalPath string
RemoteKey string
Checksum string
}
// Store is a placeholder artifact storage abstraction.
type Store interface {
WriteLocal(ctx context.Context, ref Ref, data []byte) error
ReadLocal(ctx context.Context, ref Ref) ([]byte, error)
ExistsLocal(ctx context.Context, ref Ref) (bool, error)
Upload(ctx context.Context, ref Ref) (string, error)
}