buildkit

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2023 License: Apache-2.0 Imports: 58 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Exec errors will only include the last this number of bytes of output.
	MaxExecErrorOutputBytes = 100 * 1024

	// TruncationMessage is the message that will be prepended to truncated output.
	TruncationMessage = "[omitting %d bytes]..."

	// MaxFileContentsChunkSize sets the maximum chunk size for ReadFile calls
	// Equals around 95% of the max message size (4MB) in
	// order to keep space for any Protocol Buffers overhead:
	MaxFileContentsChunkSize = 3984588

	// MaxFileContentsSize sets the limit of the maximum file size
	// that can be retrieved using File.Contents, currently set to 128MB:
	MaxFileContentsSize = 128 << 20

	// MetaMountDestPath is the special path that the shim writes metadata to.
	MetaMountDestPath = "/.dagger_meta_mount"

	// MetaSourcePath is a world-writable directory created and mounted to /dagger.
	MetaSourcePath = "meta"
)
View Source
const FocusPrefix = "[focus] "
View Source
const InternalPrefix = "[internal] "
View Source
const OCIStoreName = "dagger-oci"

OCIStoreName is the name of the OCI content store used for OCI tarball imports.

Variables

This section is empty.

Functions

func BK2Progrock

func BK2Progrock(event *bkclient.SolveStatus) *progrock.StatusUpdate

func ConvertToWorkerCacheResult

func ConvertToWorkerCacheResult(ctx context.Context, res *solverresult.Result[*ref]) (*solverresult.Result[bkcache.ImmutableRef], error)

func DecodeIDHack

func DecodeIDHack(scheme string, id string, val any) error

func EncodeIDHack

func EncodeIDHack(val any) (string, error)

func ProgrockForwarder

func ProgrockForwarder(sockPath string, w progrock.Writer) (progrock.Writer, func() error, error)

func RecordBuildkitStatus

func RecordBuildkitStatus(rec *progrock.Recorder, solveCh <-chan *bkclient.SolveStatus) error

func RecordVertexes

func RecordVertexes(recorder *progrock.Recorder, def *pb.Definition)

Types

type Client

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

Client is dagger's internal interface to buildkit APIs

func NewClient

func NewClient(ctx context.Context, opts Opts) (*Client, error)

func (*Client) Close

func (c *Client) Close() error

func (*Client) CombinedResult

func (c *Client) CombinedResult(ctx context.Context) (*Result, error)

CombinedResult returns a buildkit result with all the refs solved by this client so far. This is useful for constructing a result for upstream remote caching.

func (*Client) ExportContainerImage

func (c *Client) ExportContainerImage(
	ctx context.Context,
	inputByPlatform map[string]ContainerExport,
	destPath string,
	opts map[string]string,
) (map[string]string, error)

func (*Client) GetSessionCaller

func (c *Client) GetSessionCaller(ctx context.Context, clientID string) (bksession.Caller, error)

func (*Client) ID

func (c *Client) ID() string

func (*Client) LocalDirExport

func (c *Client) LocalDirExport(
	ctx context.Context,
	def *bksolverpb.Definition,
	destPath string,
) error

func (*Client) LocalFileExport

func (c *Client) LocalFileExport(
	ctx context.Context,
	def *bksolverpb.Definition,
	destPath string,
	filePath string,
	allowParentDirPath bool,
) error

func (*Client) LocalImportLLB

func (c *Client) LocalImportLLB(ctx context.Context, srcPath string, opts ...llb.LocalOption) (llb.State, error)

func (*Client) NewContainer

func (c *Client) NewContainer(ctx context.Context, req bkgw.NewContainerRequest) (bkgw.Container, error)

func (*Client) PublishContainerImage

func (c *Client) PublishContainerImage(
	ctx context.Context,
	inputByPlatform map[string]ContainerExport,
	opts map[string]string,
) (map[string]string, error)

func (*Client) ReadCallerHostFile

func (c *Client) ReadCallerHostFile(ctx context.Context, path string) ([]byte, error)

func (*Client) RegisterClient

func (c *Client) RegisterClient(clientID, clientHostname, secretToken string) error

func (*Client) ResolveImageConfig

func (c *Client) ResolveImageConfig(ctx context.Context, ref string, opt llb.ResolveImageConfigOpt) (digest.Digest, []byte, error)

func (*Client) Solve

func (c *Client) Solve(ctx context.Context, req bkgw.SolveRequest) (_ *Result, rerr error)

func (*Client) UpstreamCacheExport

func (c *Client) UpstreamCacheExport(ctx context.Context, cacheExportFuncs []ResolveCacheExporterFunc) error

func (*Client) VerifyClient

func (c *Client) VerifyClient(clientID, secretToken string) error

func (*Client) WriteStatusesTo

func (c *Client) WriteStatusesTo(ctx context.Context, ch chan *bkclient.SolveStatus) error

type ContainerExport

type ContainerExport struct {
	Definition *bksolverpb.Definition
	Config     specs.ImageConfig
}

type ExecError

type ExecError struct {
	Cmd      []string
	ExitCode int
	Stdout   string
	Stderr   string
	// contains filtered or unexported fields
}

ExecError is an error that occurred while executing an `Op_Exec`.

func (*ExecError) Error

func (e *ExecError) Error() string

func (*ExecError) Extensions

func (e *ExecError) Extensions() map[string]interface{}

func (*ExecError) Unwrap

func (e *ExecError) Unwrap() error

type Opts

type Opts struct {
	Worker                bkworker.Worker
	SessionManager        *bksession.Manager
	LLBSolver             *llbsolver.Solver
	GenericSolver         *bksolver.Solver
	SecretStore           bksecrets.SecretStore
	AuthProvider          *auth.RegistryAuthProvider
	PrivilegedExecEnabled bool
	UpstreamCacheImports  []bkgw.CacheOptionsEntry
	// MainClientCaller is the caller who initialized the server associated with this
	// client. It is special in that when it shuts down, the client will be closed and
	// that registry auth and sockets are currently only ever sourced from this caller,
	// not any nested clients (may change in future).
	MainClientCaller bksession.Caller
}

type ProgrockLogrusWriter

type ProgrockLogrusWriter struct{}

func (ProgrockLogrusWriter) Close

func (w ProgrockLogrusWriter) Close() error

func (ProgrockLogrusWriter) WriteStatus

func (w ProgrockLogrusWriter) WriteStatus(ev *progrock.StatusUpdate) error

type ResolveCacheExporterFunc

type ResolveCacheExporterFunc func(ctx context.Context, g bksession.Group) (remotecache.Exporter, error)

type Result

type Result = solverresult.Result[*ref]

Jump to

Keyboard shortcuts

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