package llbsolver

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

Index

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 {
	Exporters             []exporter.ExporterInstance
	CacheExporters        []RemoteCacheExporter
	EnableSessionExporter bool
}

type LoadOpt

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

func NormalizeRuntimePlatforms

func NormalizeRuntimePlatforms() LoadOpt

func ValidateEntitlements

func ValidateEntitlements(ent entitlements.Set, cdiManager *cdidevices.Manager) 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     *history.Queue
	ResourceMonitor  *resources.Monitor
	ProvenanceEnv    map[string]any
}

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, slsaVersion provenancetypes.ProvenanceSLSA, cp *provenance.Capture, res solver.ResultProxy, attrs map[string]string, j *solver.Job, usage *resources.SysSampler, customEnv map[string]any) (*ProvenanceCreator, error)

func (*ProvenanceCreator) Predicate

func (p *ProvenanceCreator) Predicate(ctx context.Context) (any, error)

func (*ProvenanceCreator) PredicateType

func (p *ProvenanceCreator) PredicateType() string

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) Close

func (s *Solver) Close() error

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, policySession string) (_ *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)
}

SourcePolicyEvaluator evaluates source operations against configured policies.

Source Files

bridge.go entitlements.go export.go history.go policy.go provenance.go result.go solver.go vertex.go

Directories

PathSynopsis
solver/llbsolver/cdidevices
solver/llbsolver/errdefs
solver/llbsolver/file
solver/llbsolver/history
solver/llbsolver/mounts
solver/llbsolver/ops
solver/llbsolver/ops/fileoptypes
solver/llbsolver/ops/opsutils
solver/llbsolver/proc
solver/llbsolver/provenance
solver/llbsolver/provenance/types
Version
v0.29.0-rc1
Published
Mar 25, 2026
Platform
darwin/amd64
Imports
69 packages
Last checked
43 minutes ago

Tools for package owners.