package build
import "github.com/docker/buildx/build"
Index ¶
- Constants
- func Build(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer) (resp map[string]*client.SolveResponse, err error)
- func BuildWithResultHandler(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer, resultHandleFunc func(driverIndex int, rCtx *ResultHandle)) (resp map[string]*client.SolveResponse, err error)
- func Dial(ctx context.Context, nodes []builder.Node, pw progress.Writer, platform *v1.Platform) (net.Conn, error)
- func IsRemoteURL(c string) bool
- func ReadSourcePolicy() (*spb.Policy, error)
- type CallFunc
- type Container
- func NewContainer(ctx context.Context, resultCtx *ResultHandle, cfg *controllerapi.InvokeConfig) (*Container, error)
- func (c *Container) Cancel()
- func (c *Container) Exec(ctx context.Context, cfg *controllerapi.InvokeConfig, stdin io.ReadCloser, stdout io.WriteCloser, stderr io.WriteCloser) error
- func (c *Container) IsUnavailable() bool
- type Inputs
- type NamedContext
- type Options
- type ResultHandle
- func NewResultHandle(ctx context.Context, cc *client.Client, opt client.SolveOpt, product string, buildFunc gateway.BuildFunc, ch chan *client.SolveStatus) (*ResultHandle, *client.SolveResponse, error)
- func (r *ResultHandle) Done()
- type SyncMultiReader
Constants ¶
const DockerfileLabel = "com.docker.image.source.entrypoint"
Functions ¶
func Build ¶
func Build(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer) (resp map[string]*client.SolveResponse, err error)
func BuildWithResultHandler ¶
func BuildWithResultHandler(ctx context.Context, nodes []builder.Node, opts map[string]Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer, resultHandleFunc func(driverIndex int, rCtx *ResultHandle)) (resp map[string]*client.SolveResponse, err error)
func Dial ¶
func Dial(ctx context.Context, nodes []builder.Node, pw progress.Writer, platform *v1.Platform) (net.Conn, error)
func IsRemoteURL ¶
func ReadSourcePolicy ¶
ReadSourcePolicy reads a source policy from a file. The file path is taken from EXPERIMENTAL_BUILDKIT_SOURCE_POLICY env var. if the env var is not set, this `returns nil, nil`
Types ¶
type CallFunc ¶
type Container ¶
type Container struct {
// contains filtered or unexported fields
}
func NewContainer ¶
func NewContainer(ctx context.Context, resultCtx *ResultHandle, cfg *controllerapi.InvokeConfig) (*Container, error)
func (*Container) Cancel ¶
func (c *Container) Cancel()
func (*Container) Exec ¶
func (c *Container) Exec(ctx context.Context, cfg *controllerapi.InvokeConfig, stdin io.ReadCloser, stdout io.WriteCloser, stderr io.WriteCloser) error
func (*Container) IsUnavailable ¶
type Inputs ¶
type Inputs struct { ContextPath string DockerfilePath string InStream *SyncMultiReader ContextState *llb.State DockerfileInline string NamedContexts map[string]NamedContext // DockerfileMappingSrc and DockerfileMappingDst are filled in by the builder. DockerfileMappingSrc string DockerfileMappingDst string }
type NamedContext ¶
type Options ¶
type Options struct { Inputs Inputs Ref string Allow []string Attests map[string]*string BuildArgs map[string]string CacheFrom []client.CacheOptionsEntry CacheTo []client.CacheOptionsEntry CgroupParent string Exports []client.ExportEntry ExportsLocalPathsTemporary []string // should be removed after client.ExportEntry update in buildkit v0.19.0 ExtraHosts []string Labels map[string]string NetworkMode string NoCache bool NoCacheFilter []string Platforms []specs.Platform Pull bool SecretSpecs []*controllerapi.Secret SSHSpecs []*controllerapi.SSH ShmSize opts.MemBytes Tags []string Target string Ulimits *opts.UlimitOpt Session []session.Attachable Linked bool // Linked marks this target as exclusively linked (not requested by the user). CallFunc *CallFunc ProvenanceResponseMode confutil.MetadataProvenanceMode SourcePolicy *spb.Policy GroupRef string }
type ResultHandle ¶
type ResultHandle struct {
// contains filtered or unexported fields
}
ResultHandle is a build result with the client that built it.
func NewResultHandle ¶
func NewResultHandle(ctx context.Context, cc *client.Client, opt client.SolveOpt, product string, buildFunc gateway.BuildFunc, ch chan *client.SolveStatus) (*ResultHandle, *client.SolveResponse, error)
NewResultHandle makes a call to client.Build, additionally returning a opaque ResultHandle alongside the standard response and error.
This ResultHandle can be used to execute additional build steps in the same context as the build occurred, which can allow easy debugging of build failures and successes.
If the returned ResultHandle is not nil, the caller must call Done() on it.
func (*ResultHandle) Done ¶
func (r *ResultHandle) Done()
type SyncMultiReader ¶
type SyncMultiReader struct {
// contains filtered or unexported fields
}
func NewSyncMultiReader ¶
func NewSyncMultiReader(source io.Reader) *SyncMultiReader
func (*SyncMultiReader) NewReadCloser ¶
func (mr *SyncMultiReader) NewReadCloser() io.ReadCloser
func (*SyncMultiReader) Peek ¶
func (mr *SyncMultiReader) Peek(n int) ([]byte, error)
func (*SyncMultiReader) Reset ¶
func (mr *SyncMultiReader) Reset(dt []byte)
Source Files ¶
build.go dial.go driver.go git.go invoke.go localstate.go opt.go provenance.go replicatedstream.go result.go url.go utils.go
- Version
- v0.22.0 (latest)
- Published
- Mar 17, 2025
- Platform
- linux/amd64
- Imports
- 74 packages
- Last checked
- 3 weeks ago –
Tools for package owners.