Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildOptions ¶
type BuildOptions struct {
Dockerfile string // Reserved for future use - currently unused
Tag string // Image tag (e.g., "moat/run:abc123")
ContextDir string // Build context directory
NoCache bool // Disable build cache
Platform string // Target platform (e.g., "linux/amd64")
BuildArgs map[string]string // Build arguments
Output io.Writer // Progress output (default: os.Stdout)
}
BuildOptions configures a BuildKit build.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps BuildKit client operations.
func NewClient ¶
NewClient creates a BuildKit client. Connects to the address specified in BUILDKIT_HOST env var (e.g., "tcp://buildkit:1234")
func (*Client) Build ¶
func (c *Client) Build(ctx context.Context, opts BuildOptions) error
Build executes a build using BuildKit.
The build process:
- Connects to BuildKit sidecar via BUILDKIT_HOST (tcp://buildkit:1234)
- Prepares build context from ContextDir using LocalMounts (BuildKit manages session internally)
- Executes build with dockerfile.v0 frontend
- Exports result as Docker image tar, piping directly to `docker load`
This approach avoids manual session management and filesync complexity by:
- Using LocalMounts for build context (BuildKit auto-manages the filesync session)
- Using Output function to stream the docker exporter tar to `docker load`
Click to show internal directories.
Click to hide internal directories.