client

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2018 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ExporterImage  = "image"
	ExporterLocal  = "local"
	ExporterOCI    = "oci"
	ExporterDocker = "docker"
)

Variables

View Source
var PruneAll = pruneOptionFunc(func(pi *PruneInfo) {
	pi.All = true
})

Functions

This section is empty.

Types

type Client

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

func New

func New(ctx context.Context, address string, opts ...ClientOpt) (*Client, error)

New returns a new buildkit client. Address can be empty for the system-default address.

func (*Client) Build

func (c *Client) Build(ctx context.Context, opt SolveOpt, product string, buildFunc gateway.BuildFunc, statusChan chan *SolveStatus) (*SolveResponse, error)

func (*Client) Close

func (c *Client) Close() error

func (*Client) DiskUsage

func (c *Client) DiskUsage(ctx context.Context, opts ...DiskUsageOption) ([]*UsageInfo, error)

func (*Client) ListWorkers

func (c *Client) ListWorkers(ctx context.Context, opts ...ListWorkersOption) ([]*WorkerInfo, error)

ListWorkers lists all active workers

func (*Client) Prune

func (c *Client) Prune(ctx context.Context, ch chan UsageInfo, opts ...PruneOption) error

func (*Client) Solve

func (c *Client) Solve(ctx context.Context, def *llb.Definition, opt SolveOpt, statusChan chan *SolveStatus) (*SolveResponse, error)

Solve calls Solve on the controller. def must be nil if (and only if) opt.Frontend is set.

type ClientOpt

type ClientOpt interface{}

func WithCredentials

func WithCredentials(serverName, ca, cert, key string) ClientOpt

WithCredentials configures the TLS parameters of the client. Arguments: * serverName: specifies the name of the target server * ca: specifies the filepath of the CA certificate to use for verification * cert: specifies the filepath of the client certificate * key: specifies the filepath of the client key

func WithFailFast

func WithFailFast() ClientOpt

func WithTracer

func WithTracer(t opentracing.Tracer) ClientOpt

type DiskUsageInfo

type DiskUsageInfo struct {
	Filter []string
}

type DiskUsageOption

type DiskUsageOption interface {
	SetDiskUsageOption(*DiskUsageInfo)
}

type Filter

type Filter []string

func WithFilter

func WithFilter(f []string) Filter

func (Filter) SetDiskUsageOption

func (f Filter) SetDiskUsageOption(di *DiskUsageInfo)

func (Filter) SetListWorkersOption

func (f Filter) SetListWorkersOption(lwi *ListWorkersInfo)

func (Filter) SetPruneOption

func (f Filter) SetPruneOption(pi *PruneInfo)

type ListWorkersInfo

type ListWorkersInfo struct {
	Filter []string
}

ListWorkersInfo is a payload for worker list query

type ListWorkersOption

type ListWorkersOption interface {
	SetListWorkersOption(*ListWorkersInfo)
}

ListWorkersOption is an option for a worker list query

type PruneInfo

type PruneInfo struct {
	Filter       []string
	All          bool
	KeepDuration time.Duration
	KeepBytes    int64
}

type PruneOption

type PruneOption interface {
	SetPruneOption(*PruneInfo)
}

func WithKeepOpt

func WithKeepOpt(duration time.Duration, bytes int64) PruneOption

type SolveOpt

type SolveOpt struct {
	Exporter            string
	ExporterAttrs       map[string]string
	ExporterOutput      io.WriteCloser // for ExporterOCI and ExporterDocker
	ExporterOutputDir   string         // for ExporterLocal
	LocalDirs           map[string]string
	SharedKey           string
	Frontend            string
	FrontendAttrs       map[string]string
	ExportCache         string
	ExportCacheAttrs    map[string]string
	ImportCache         []string
	Session             []session.Attachable
	AllowedEntitlements []entitlements.Entitlement
}

type SolveResponse

type SolveResponse struct {
	ExporterResponse map[string]string
}

type SolveStatus

type SolveStatus struct {
	Vertexes []*Vertex
	Statuses []*VertexStatus
	Logs     []*VertexLog
}

type UsageInfo

type UsageInfo struct {
	ID      string
	Mutable bool
	InUse   bool
	Size    int64

	CreatedAt   time.Time
	LastUsedAt  *time.Time
	UsageCount  int
	Parent      string
	Description string
	RecordType  UsageRecordType
	Shared      bool
}

type UsageRecordType

type UsageRecordType string
const (
	UsageRecordTypeInternal    UsageRecordType = "internal"
	UsageRecordTypeFrontend    UsageRecordType = "frontend"
	UsageRecordTypeLocalSource UsageRecordType = "source.local"
	UsageRecordTypeGitCheckout UsageRecordType = "source.git.checkout"
	UsageRecordTypeCacheMount  UsageRecordType = "exec.cachemount"
	UsageRecordTypeRegular     UsageRecordType = "regular"
)

type Vertex

type Vertex struct {
	Digest    digest.Digest
	Inputs    []digest.Digest
	Name      string
	Started   *time.Time
	Completed *time.Time
	Cached    bool
	Error     string
}

type VertexLog

type VertexLog struct {
	Vertex    digest.Digest
	Stream    int
	Data      []byte
	Timestamp time.Time
}

type VertexStatus

type VertexStatus struct {
	ID        string
	Vertex    digest.Digest
	Name      string
	Total     int64
	Current   int64
	Timestamp time.Time
	Started   *time.Time
	Completed *time.Time
}

type WorkerInfo

type WorkerInfo struct {
	ID        string
	Labels    map[string]string
	Platforms []specs.Platform
	GCPolicy  []PruneInfo
}

WorkerInfo contains information about a worker

Directories

Path Synopsis
llb

Jump to

Keyboard shortcuts

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