compiler

package
v0.15.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cacher

type Cacher interface {
	Restore(repo, branch string, mounts []string) *yaml.Container
	Rebuild(repo, branch string, mounts []string) *yaml.Container
}

Cacher defines a compiler transform that can be used to implement default caching for a repository.

type Compiler

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

Compiler compiles the yaml

func New

func New(opts ...Option) *Compiler

New creates a new Compiler with options.

func (*Compiler) Compile

func (c *Compiler) Compile(conf *yaml.Config) *backend.Config

Compile compiles the YAML configuration to the pipeline intermediate representation configuration format.

type Option

type Option func(*Compiler)

Option configures a compiler option.

func WithCacher

func WithCacher(cacher Cacher) Option

WithCacher configures the compiler with default cache settings.

func WithDefaultCloneImage

func WithDefaultCloneImage(cloneImage string) Option

func WithEnviron

func WithEnviron(env map[string]string) Option

WithEnviron configures the compiler with environment variables added by default to every container in the pipeline.

func WithEscalated

func WithEscalated(images ...string) Option

WithEscalated configures the compiler to automatically execute images as privileged containers if the match the given list.

func WithLocal

func WithLocal(local bool) Option

WithLocal configures the compiler with the local flag. The local flag indicates the pipeline execution is running in a local development environment with a mounted local working directory.

func WithMetadata

func WithMetadata(metadata frontend.Metadata) Option

WithMetadata configures the compiler with the repository, build and system metadata. The metadata is used to remove steps from the compiled pipeline configuration that should be skipped. The metadata is also added to each container as environment variables.

func WithNetrc

func WithNetrc(username, password, machine string) Option

WithNetrc configures the compiler with netrc authentication credentials added by default to every container in the pipeline.

func WithNetworks

func WithNetworks(networks ...string) Option

WithNetworks configures the compiler with additional networks to be connected to build containers

func WithOption

func WithOption(option Option, b bool) Option

WithOption configures the compiler with the given option if boolean b evaluates to true.

func WithPrefix

func WithPrefix(prefix string) Option

WithPrefix configures the compiler with the prefix. The prefix is used to prefix container, volume and network names to avoid collision at runtime.

func WithProxy

func WithProxy() Option

WithProxy configures the compiler with HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables added by default to every container in the pipeline.

func WithRegistry

func WithRegistry(registries ...Registry) Option

WithRegistry configures the compiler with registry credentials that should be used to download images.

func WithResourceLimit

func WithResourceLimit(swap, mem, shmsize, cpuQuota, cpuShares int64, cpuSet string) Option

WithResourceLimit configures the compiler with default resource limits that are applied each container in the pipeline.

func WithS3Cacher

func WithS3Cacher(access, secret, region, bucket string) Option

WithS3Cacher configures the compiler with default amazon s3 caching enabled.

func WithSecret

func WithSecret(secrets ...Secret) Option

WithSecret configures the compiler with external secrets to be injected into the container at runtime.

func WithVolumeCacher

func WithVolumeCacher(base string) Option

WithVolumeCacher configures the compiler with default local volume caching enabled.

func WithVolumes

func WithVolumes(volumes ...string) Option

WithVolumes configures the compiler with default volumes that are mounted to each container in the pipeline.

func WithWorkspace

func WithWorkspace(base, path string) Option

WithWorkspace configures the compiler with the workspace base and path. The workspace base is a volume created at runtime and mounted into all containers in the pipeline. The base and path are joined to provide the working directory for all build and plugin steps in the pipeline.

func WithWorkspaceFromURL

func WithWorkspaceFromURL(base, link string) Option

WithWorkspaceFromURL configures the compiler with the workspace base and path based on the repository url.

type Registry

type Registry struct {
	Hostname string
	Username string
	Password string
	Email    string
	Token    string
}

type ResourceLimit

type ResourceLimit struct {
	MemSwapLimit int64
	MemLimit     int64
	ShmSize      int64
	CPUQuota     int64
	CPUShares    int64
	CPUSet       string
}

type Secret

type Secret struct {
	Name  string
	Value string
	Match []string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL