package build

import "github.com/docker/buildx/build"

Index

Functions

func Build

func Build(ctx context.Context, drivers []DriverInfo, opt map[string]Options, docker DockerAPI, configDir string, w progress.Writer) (resp map[string]*client.SolveResponse, err error)

func BuildWithResultHandler

func BuildWithResultHandler(ctx context.Context, drivers []DriverInfo, opt map[string]Options, docker DockerAPI, configDir string, w progress.Writer, resultHandleFunc func(driverIndex int, rCtx *ResultContext)) (resp map[string]*client.SolveResponse, err error)

func Invoke

func Invoke(ctx context.Context, cfg ContainerConfig) error

Invoke invokes a build result as a container.

func LoadInputs

func LoadInputs(ctx context.Context, d driver.Driver, inp Inputs, pw progress.Writer, target *client.SolveOpt) (func(), error)

Types

type ContainerConfig

type ContainerConfig struct {
	ResultCtx *ResultContext
	Args      []string
	Env       []string
	User      string
	Cwd       string
	Tty       bool
	Stdin     io.ReadCloser
	Stdout    io.WriteCloser
	Stderr    io.WriteCloser
}

ContainerConfig is configuration for a container to run.

type DockerAPI

type DockerAPI interface {
	DockerAPI(name string) (dockerclient.APIClient, error)
}

type DriverInfo

type DriverInfo struct {
	Driver      driver.Driver
	Name        string
	Platform    []specs.Platform
	Err         error
	ImageOpt    imagetools.Opt
	ProxyConfig map[string]string
}

type Inputs

type Inputs struct {
	ContextPath      string
	DockerfilePath   string
	InStream         io.Reader
	ContextState     *llb.State
	DockerfileInline string
	NamedContexts    map[string]NamedContext
}

type NamedContext

type NamedContext struct {
	Path  string
	State *llb.State
}

type Options

type Options struct {
	Inputs Inputs

	Allow         []entitlements.Entitlement
	BuildArgs     map[string]string
	CacheFrom     []client.CacheOptionsEntry
	CacheTo       []client.CacheOptionsEntry
	CgroupParent  string
	Exports       []client.ExportEntry
	ExtraHosts    []string
	ImageIDFile   string
	Labels        map[string]string
	NetworkMode   string
	NoCache       bool
	NoCacheFilter []string
	Platforms     []specs.Platform
	Pull          bool
	Session       []session.Attachable
	ShmSize       opts.MemBytes
	Tags          []string
	Target        string
	Ulimits       *opts.UlimitOpt

	// Linked marks this target as exclusively linked (not requested by the user).
	Linked bool
}

type ResultContext

type ResultContext struct {
	Client *client.Client
	Res    *gateway.Result
}

ResultContext is a build result with the client that built it.

Source Files

build.go url.go utils.go

Version
v0.9.0-rc1
Published
Aug 2, 2022
Platform
js/wasm
Imports
50 packages
Last checked
9 hours ago

Tools for package owners.