Help us shape the future of Go! Take the 2026 Go Developer Survey

worker

package
v0.34.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2026 License: Apache-2.0 Imports: 24 Imported by: 424

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCacheResultStorage

func NewCacheResultStorage(wc *Controller) solver.CacheResultStorage

func NewWorkerRefResult

func NewWorkerRefResult(ref cache.ImmutableRef, worker Worker) solver.Result

Types

type Controller

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

Controller holds worker instances. Currently, only local workers are supported.

func (*Controller) Add

func (c *Controller) Add(w Worker) error

Add adds a local worker. The first worker becomes the default.

Add is not thread-safe.

func (*Controller) Close added in v0.11.0

func (c *Controller) Close() error

func (*Controller) Get

func (c *Controller) Get(id string) (Worker, error)

func (*Controller) GetDefault

func (c *Controller) GetDefault() (Worker, error)

GetDefault returns the default local worker

func (*Controller) Infos added in v0.12.5

func (c *Controller) Infos() Infos

func (*Controller) List

func (c *Controller) List(filterStrings ...string) ([]Worker, error)

List lists workers

func (*Controller) WorkerInfos

func (c *Controller) WorkerInfos() []client.WorkerInfo

WorkerInfos returns slice of WorkerInfo. The first item is the default worker.

type Infos added in v0.8.0

type Infos interface {
	DefaultCacheManager() (cache.Manager, error)
	WorkerInfos() []client.WorkerInfo
}

type ProxyOpt added in v0.31.0

type ProxyOpt struct {
	Network bool
	Policy  func() (network.ProxyPolicy, error)
}

type Worker

type Worker interface {
	io.Closer
	// ID needs to be unique in the cluster
	ID() string
	Labels() map[string]string
	Platforms(noCache bool) []ocispecs.Platform
	BuildkitVersion() client.BuildkitVersion

	GCPolicy() []client.PruneInfo
	LoadRef(ctx context.Context, id string, hidden bool) (cache.ImmutableRef, error)
	// ResolveOp resolves Vertex.Sys() to Op implementation.
	ResolveOp(v solver.Vertex, s frontend.FrontendLLBBridge, sm *session.Manager, proxyOpt ProxyOpt) (solver.Op, error)
	ParseSource(op *pb.SourceOp, platform *pb.Platform) (source.Identifier, error)
	ResolveSourceMetadata(ctx context.Context, op *pb.SourceOp, opt sourceresolver.Opt, sm *session.Manager, jobCtx solver.JobContext) (*sourceresolver.MetaResponse, error)
	DiskUsage(ctx context.Context, opt client.DiskUsageInfo) ([]*client.UsageInfo, error)
	Exporter(name string, sm *session.Manager) (exporter.Exporter, error)
	Prune(ctx context.Context, ch chan client.UsageInfo, opt ...client.PruneInfo) error
	FromRemote(ctx context.Context, remote *solver.Remote) (cache.ImmutableRef, error)
	PruneCacheMounts(ctx context.Context, ids map[string]bool) error
	ContentStore() *containerdsnapshot.Store
	Executor() executor.Executor
	CacheManager() cache.Manager
	LeaseManager() *leaseutil.Manager
	GarbageCollect(context.Context) error
	CDIManager() *cdidevices.Manager
}

type WorkerRef

type WorkerRef struct {
	ImmutableRef cache.ImmutableRef
	Worker       Worker
}

func (*WorkerRef) GetRemotes added in v0.10.0

func (wr *WorkerRef) GetRemotes(ctx context.Context, createIfNeeded bool, refCfg cacheconfig.RefConfig, all bool, g session.Group) ([]*solver.Remote, error)

GetRemotes method abstracts ImmutableRef's GetRemotes to allow a Worker to override. This is needed for moby integration. Use this method instead of calling ImmutableRef.GetRemotes() directly.

func (*WorkerRef) ID

func (wr *WorkerRef) ID() string

func (*WorkerRef) Release added in v0.11.0

func (wr *WorkerRef) Release(ctx context.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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