Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Identifier ¶
type Identifier interface {
// Scheme returns the scheme of the identifier so that it can be routed back
// to an appropriate Source.
Scheme() string
// Capture records the provenance of the identifier.
Capture(dest *provenance.Capture, pin string) error
}
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) Identifier ¶ added in v0.13.0
type Source ¶
type Source interface {
// Schemes returns a list of SourceOp identifier schemes that this source
// should match.
Schemes() []string
// Identifier constructs an Identifier from the given scheme, ref, and attrs,
// all of which come from a SourceOp.
Identifier(scheme, ref string, attrs map[string]string, platform *pb.Platform) (Identifier, error)
// Resolve constructs an instance of the source from an Identifier.
Resolve(ctx context.Context, id Identifier, sm *session.Manager, vtx solver.Vertex) (SourceInstance, error)
}
Source implementations provide "root" vertices in the graph that can be constructed from a URI-like string and arbitrary attrs.
type SourceInstance ¶
type SourceInstance interface {
// CacheKey returns the cache key for the instance.
CacheKey(ctx context.Context, g session.Group, index int) (key, pin string, opts solver.CacheOpts, done bool, err error)
// Snapshot creates a cache ref for the instance. May return a nil ref if source points to empty content, e.g. image without any layers.
Snapshot(ctx context.Context, g session.Group) (cache.ImmutableRef, error)
}
SourceInstance represents a cacheable vertex created by a Source.
Click to show internal directories.
Click to hide internal directories.