Documentation ¶
Overview ¶
Package build defines methods for building a v1.Image reference from a Go binary reference.
Index ¶
Constants ¶
const StrictScheme = "ko://"
StrictScheme is a prefix that can be placed on import paths that users think MUST be supported references.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Caching ¶
type Caching struct {
// contains filtered or unexported fields
}
Caching wraps a builder implementation in a layer that shares build results for the same inputs using a simple "future" implementation. Cached results may be invalidated by calling Invalidate with the same input passed to Build.
func NewCaching ¶
NewCaching wraps the provided build.Interface in an implementation that shares build results for a given path until the result has been invalidated.
func (*Caching) Invalidate ¶
Invalidate removes an import path's cached results.
func (*Caching) IsSupportedReference ¶
IsSupportedReference implements Interface
type Interface ¶
type Interface interface { // IsSupportedReference determines whether the given reference is to an // importpath reference that Ko supports building, returning an error // if it is not. // TODO(mattmoor): Verify that some base repo: foo.io/bar can be suffixed with this reference and parsed. IsSupportedReference(string) error // Build turns the given importpath reference into a v1.Image containing the Go binary // (or a set of images as a v1.ImageIndex). Build(context.Context, string) (Result, error) }
Interface abstracts different methods for turning a supported importpath reference into a v1.Image.
type Limiter ¶
type Limiter struct { Builder Interface // contains filtered or unexported fields }
Limiter composes with another Interface to limit the number of concurrent builds.
func NewLimiter ¶
NewLimiter returns a new builder that only allows n concurrent builds of b.
func (*Limiter) IsSupportedReference ¶
IsSupportedReference implements Interface
type Option ¶
type Option func(*gobuildOpener) error
Option is a functional option for NewGo.
func WithBaseImages ¶
WithBaseImages is a functional option for overriding the base images that are used for different images.
func WithCreationTime ¶
WithCreationTime is a functional option for overriding the creation time given to images.
func WithDisabledOptimizations ¶
func WithDisabledOptimizations() Option
WithDisabledOptimizations is a functional option for disabling optimizations when compiling.
func WithKoDataCreationTime ¶
WithKoDataCreationTime is a functional option for overriding the creation time given to the files in the kodata directory.
func WithPlatforms ¶
WithPlatforms is a functional option for building certain platforms for multi-platform base images. To build everything from the base, use "all", otherwise use a comma-separated list of platform specs, i.e.:
platform = <os>[/<arch>[/<variant>]] allowed = all | platform[,platform]*
type Recorder ¶
type Recorder struct { ImportPaths []string Builder Interface // contains filtered or unexported fields }
Recorder composes with another Interface to record the built import paths.
func (*Recorder) IsSupportedReference ¶
IsSupportedReference implements Interface