package llbsolver

import "github.com/moby/buildkit/solver/llbsolver"

Index

Functions

func Load

func Load(def *pb.Definition, opts ...LoadOpt) (solver.Edge, error)

Types

type ExporterRequest

type ExporterRequest struct {
	Exporter       exporter.ExporterInstance
	CacheExporters []RemoteCacheExporter
}

type HistoryQueue

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

func NewHistoryQueue

func NewHistoryQueue(opt HistoryQueueOpt) *HistoryQueue

func (*HistoryQueue) Listen

func (h *HistoryQueue) Listen(ctx context.Context, ref string, active bool, f func(*controlapi.BuildHistoryEvent) error) error

func (*HistoryQueue) Update

type HistoryQueueOpt

type HistoryQueueOpt struct {
	DB           *bolt.DB
	LeaseManager leases.Manager
}

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
}

Opt defines options for new Solver.

type Processor

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

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

type RemoteCacheExporter

type RemoteCacheExporter struct {
	remotecache.Exporter
	solver.CacheExportMode
}

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) (_ *client.SolveResponse, err error)

func (*Solver) Status

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

Source Files

bridge.go history.go provenance.go result.go solver.go vertex.go

Directories

PathSynopsis
solver/llbsolver/errdefs
solver/llbsolver/file
solver/llbsolver/mounts
solver/llbsolver/ops
solver/llbsolver/ops/fileoptypes
solver/llbsolver/ops/opsutils
solver/llbsolver/proc
solver/llbsolver/provenance
Version
v0.11.0-rc1
Published
Nov 24, 2022
Platform
js/wasm
Imports
48 packages
Last checked
1 minute ago

Tools for package owners.