package exporter

import "github.com/moby/buildkit/exporter"

Index

Types

type Attestation

type Attestation = result.Attestation[cache.ImmutableRef]

type Config

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

func NewConfig

func NewConfig() *Config

func NewConfigWithCompression

func NewConfigWithCompression(comp compression.Config) *Config

func (*Config) Compression

func (c *Config) Compression() compression.Config

type DescriptorReference

type DescriptorReference interface {
	Release() error
	Descriptor() ocispecs.Descriptor
}

type ExportBuildInfo

type ExportBuildInfo struct {
	Ref         string
	InlineCache exptypes.InlineCache
	SessionID   string
}

type Exporter

type Exporter interface {
	Resolve(context.Context, int, map[string]string) (ExporterInstance, error)
}

type ExporterInstance

type ExporterInstance interface {
	ID() int
	Name() string
	Config() *Config
	Type() string
	Attrs() map[string]string

	// Export performs the export operation and optionally returns a finalize
	// callback. This separates work that must run sequentially from work that
	// can run in parallel with other exports (e.g., cache export).
	//
	// For exporters that complete all work during Export (tar, local),
	// return nil for the finalize callback.
	Export(ctx context.Context, src *Source, buildInfo ExportBuildInfo) (
		response map[string]string,
		finalize FinalizeFunc,
		ref DescriptorReference,
		err error,
	)
}

type FinalizeFunc

type FinalizeFunc func(ctx context.Context) error

FinalizeFunc completes an export operation after all exports have created their artifacts. It may perform network operations like pushing to a registry.

Calling FinalizeFunc is optional. If not called (e.g., due to cancellation or an error in another operation), the export will be incomplete but no resources will leak. FinalizeFunc performs completion work only, not cleanup.

FinalizeFunc is safe to call concurrently with other FinalizeFunc calls.

type Source

type Source = result.Result[cache.ImmutableRef]

Source Files

exporter.go

Directories

PathSynopsis
exporter/attestation
exporter/containerimage
exporter/containerimage/exptypes
exporter/containerimage/image
exporter/exptypes
exporter/local
exporter/oci
exporter/tar
exporter/util
exporter/util/epoch
exporter/verifier
Version
v0.28.0
Published
Mar 3, 2026
Platform
darwin/amd64
Imports
6 packages
Last checked
9 minutes ago

Tools for package owners.