 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- func NewCacheResultStorage(wc *Controller) solver.CacheResultStorage
- func NewWorkerRefResult(ref cache.ImmutableRef, worker Worker) solver.Result
- type Controller
- func (c *Controller) Add(w Worker) error
- func (c *Controller) Close() error
- func (c *Controller) Get(id string) (Worker, error)
- func (c *Controller) GetDefault() (Worker, error)
- func (c *Controller) Infos() Infos
- func (c *Controller) List(filterStrings ...string) ([]Worker, error)
- func (c *Controller) WorkerInfos() []client.WorkerInfo
 
- type Infos
- type Worker
- type WorkerRef
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 ¶
func (c *Controller) Close() error
func (*Controller) GetDefault ¶
func (c *Controller) GetDefault() (Worker, error)
GetDefault returns the default local worker
func (*Controller) Infos ¶
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 ¶
type Infos interface {
	DefaultCacheManager() (cache.Manager, error)
	WorkerInfos() []client.WorkerInfo
}
    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) (solver.Op, error)
	ResolveSourceMetadata(ctx context.Context, op *pb.SourceOp, opt sourceresolver.Opt, sm *session.Manager, g session.Group) (*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
}
    type WorkerRef ¶
type WorkerRef struct {
	ImmutableRef cache.ImmutableRef
	Worker       Worker
}
    func (*WorkerRef) GetRemotes ¶
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.
 Click to show internal directories. 
   Click to hide internal directories.