llbsolver

package
v0.0.0-...-2745715 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2023 License: Apache-2.0 Imports: 66 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Load

func Load(ctx context.Context, def *pb.Definition, polEngine SourcePolicyEvaluator, opts ...LoadOpt) (solver.Edge, error)

Types

type Attestation

type Attestation = frontend.Attestation

type ExporterRequest

type ExporterRequest struct {
	Type           string
	Attrs          map[string]string
	Exporter       exporter.ExporterInstance
	CacheExporters []RemoteCacheExporter
}

type HistoryQueue

type HistoryQueue struct {
	// contains filtered or unexported fields
}

func NewHistoryQueue

func NewHistoryQueue(opt HistoryQueueOpt) (*HistoryQueue, error)

func (*HistoryQueue) Delete

func (h *HistoryQueue) Delete(ctx context.Context, ref string) error

func (*HistoryQueue) ImportStatus

func (h *HistoryQueue) ImportStatus(ctx context.Context, ch chan *client.SolveStatus) (_ *StatusImportResult, _ func(), err error)

func (*HistoryQueue) Listen

func (*HistoryQueue) OpenBlobWriter

func (h *HistoryQueue) OpenBlobWriter(ctx context.Context, mt string) (_ *Writer, err error)

func (*HistoryQueue) Status

func (h *HistoryQueue) Status(ctx context.Context, ref string, st chan<- *client.SolveStatus) error

func (*HistoryQueue) Update

func (*HistoryQueue) UpdateRef

func (h *HistoryQueue) UpdateRef(ctx context.Context, ref string, upt func(r *controlapi.BuildHistoryRecord) error) error

type HistoryQueueOpt

type HistoryQueueOpt struct {
	DB           *bolt.DB
	LeaseManager *leaseutil.Manager
	ContentStore *containerdsnapshot.Store
	CleanConfig  *config.HistoryConfig
}

type LoadOpt

type LoadOpt func(*pb.Op, *pb.OpMetadata, *solver.VertexOptions) error

func NormalizeRuntimePlatforms

func NormalizeRuntimePlatforms() LoadOpt

func ValidateEntitlements

func ValidateEntitlements(ent entitlements.Set) LoadOpt

func WithCacheSources

func WithCacheSources(cms []solver.CacheManager) LoadOpt

func WithValidateCaps

func WithValidateCaps() LoadOpt

type Opt

type Opt struct {
	CacheManager     solver.CacheManager
	CacheResolvers   map[string]remotecache.ResolveCacheImporterFunc
	Entitlements     []string
	Frontends        map[string]frontend.Frontend
	GatewayForwarder *controlgateway.GatewayForwarder
	SessionManager   *session.Manager
	WorkerController *worker.Controller
	HistoryQueue     *HistoryQueue
	ResourceMonitor  *resources.Monitor
}

Opt defines options for new Solver.

type Processor

type Processor func(ctx context.Context, result *Result, s *Solver, j *solver.Job, usage *resources.SysSampler) (*Result, error)

Processor defines a processing function to be applied after solving, but before exporting

type ProvenanceCreator

type ProvenanceCreator struct {
	// contains filtered or unexported fields
}

func NewProvenanceCreator

func NewProvenanceCreator(ctx context.Context, cp *provenance.Capture, res solver.ResultProxy, attrs map[string]string, j *solver.Job, usage *resources.SysSampler) (*ProvenanceCreator, error)

func (*ProvenanceCreator) Predicate

type RemoteCacheExporter

type RemoteCacheExporter struct {
	remotecache.Exporter
	solver.CacheExportMode
	IgnoreError bool
}

type ResolveWorkerFunc

type ResolveWorkerFunc func() (worker.Worker, error)

ResolveWorkerFunc returns default worker for the temporary default non-distributed use cases

type Result

type Result struct {
	*frontend.Result
	Provenance *provenance.Result
}

type Solver

type Solver struct {
	// contains filtered or unexported fields
}

func New

func New(opt Opt) (*Solver, error)

func (*Solver) Bridge

func (*Solver) Solve

func (s *Solver) Solve(ctx context.Context, id string, sessionID string, req frontend.SolveRequest, exp ExporterRequest, ent []entitlements.Entitlement, post []Processor, internal bool, srcPol *spb.Policy) (_ *client.SolveResponse, err error)

func (*Solver) Status

func (s *Solver) Status(ctx context.Context, id string, statusChan chan *client.SolveStatus) error

type SourcePolicyEvaluator

type SourcePolicyEvaluator interface {
	Evaluate(ctx context.Context, op *pb.Op) (bool, error)
}

type StatusImportResult

type StatusImportResult struct {
	Descriptor        ocispecs.Descriptor
	NumCachedSteps    int
	NumCompletedSteps int
	NumTotalSteps     int
}

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

func (*Writer) Commit

func (w *Writer) Commit(ctx context.Context) (*ocispecs.Descriptor, func(), error)

func (*Writer) Discard

func (w *Writer) Discard()

func (*Writer) Write

func (w *Writer) Write(p []byte) (int, error)

Directories

Path Synopsis
ops

Jump to

Keyboard shortcuts

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