v1alpha1

package
v0.0.0-...-b7fcf81 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2020 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=ocibuilder.com +k8s:deepcopy-gen=package,register +k8s:openapi-gen=true

Index

Constants

View Source
const (
	// AnsibleTemplateDir is the path for ansible template
	AnsibleTemplateDir string = "../../templates/ansible"
	// AnsibleTemplate is the path for ansible template
	AnsibleTemplate string = "ansible.tmpl"
	// AnsibleBase is the ansible base directory
	AnsibleBase string = "/etc/ansible"
)

Variables

View Source
var (
	// SchemeBuilder is the builder for this scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds this
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemaGroupVersionKind = schema.GroupVersionKind{Group: ocibuilder.Group, Version: "v1alpha1", Kind: ocibuilder.Kind}

SchemaGroupVersionKind is a group version kind used to attach owner references to gateway-controller

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: ocibuilder.Group, Version: "v1alpha1"}

SchemeGroupVersion is a group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes unqualified resource and returns Group qualified GroupResource

Types

type AliyunOSSContext

type AliyunOSSContext struct {
	// AccessId refers to access id
	AccessId *Credentials `json:"accessId" protobuf:"bytes,1,name=accessId"`
	// AccessSecret refers to access secret
	AccessSecret *Credentials `json:"accessSecret" protobuf:"bytes,2,name=accessSecret"`
	// Endpoint is the storage to connect to
	Endpoint string `json:"endpoint" protobuf:"bytes,4,name=endpoint"`
	// Bucket refers to the bucket name on gcs
	Bucket *S3Bucket `json:"bucket" protobuf:"bytes,5,name=bucket"`
}

AliyunOSSContext refers to configuration required to fetch context from Aliyun OSS

func (*AliyunOSSContext) DeepCopy

func (in *AliyunOSSContext) DeepCopy() *AliyunOSSContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AliyunOSSContext.

func (*AliyunOSSContext) DeepCopyInto

func (in *AliyunOSSContext) DeepCopyInto(out *AliyunOSSContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AnsibleStep

type AnsibleStep struct {
	// Playbook refers to playbook.yaml file
	Playbook string `json:"playbook" protobuf:"bytes,1,name=playbook"`
	// Requirements refer to the requirements.yaml file
	// +optional
	Requirements string `json:"requirements,omitempty" protobuf:"bytes,2,opt,name=requirements"`
	// Workspace is the name of your ansible workspce NOT including /etc/ansible/ ansible path
	Workspace string `json:"workspace" protobuf:"bytes,3,name=workspace"`
}

AnsibleStep represents an ansible install within a build

func (*AnsibleStep) DeepCopy

func (in *AnsibleStep) DeepCopy() *AnsibleStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnsibleStep.

func (*AnsibleStep) DeepCopyInto

func (in *AnsibleStep) DeepCopyInto(out *AnsibleStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureBlobContext

type AzureBlobContext struct {
	// AzureStorageAccount refers to the account name
	Account *Credentials `json:"account" protobuf:"bytes,1,name=account"`
	// AccessKey refers to the access key
	AccessKey *Credentials `json:"accessKey" protobuf:"bytes,2,name=accessKey"`
	// URL refers to blob's URL
	URL *Credentials `json:"url" protobuf:"bytes,3,name=url"`
}

AzureBlobContext refers to configuration required to fetch context from Azure Storage Blob

func (*AzureBlobContext) DeepCopy

func (in *AzureBlobContext) DeepCopy() *AzureBlobContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureBlobContext.

func (*AzureBlobContext) DeepCopyInto

func (in *AzureBlobContext) DeepCopyInto(out *AzureBlobContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Base

type Base struct {
	Image string `json:"image" protobuf:"bytes,1,name=image"`
	// Tag is the tag for the image
	// +optional
	Tag string `json:"tag,omitempty" protobuf:"bytes,2,name=tag"`
	// Platform is the specified platform of the image
	// +optional
	Platform string `json:"platform,omitempty" protobuf:"bytes,3,name=platform"`
}

Base represents base image details

func (*Base) DeepCopy

func (in *Base) DeepCopy() *Base

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Base.

func (*Base) DeepCopyInto

func (in *Base) DeepCopyInto(out *Base)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuildContext

type BuildContext struct {
	// Local context contains local context information for a build
	LocalContext *LocalContext `json:"localContext,omitempty" protobuf:"bytes,1,opt,name=localContext"`
	// S3Context refers to the context stored on S3 bucket for a build
	S3Context *S3Context `json:"s3Context,omitempty" protobuf:"bytes,2,opt,name=s3Context"`
	// GitContext refers to the context stored on Git repository
	GitContext *GitContext `json:"gitContext,omitempty" protobuf:"bytes,3,opt,name=gitContext"`
	// GCSContext refers to the context stored on the GCS
	GCSContext *GCSContext `json:"gcsContext,omitempty" protobuf:"bytes,4,opt,name=gcsContext"`
	// AzureBlobContext refers to the context stored on the Azure Storage Blob
	AzureBlobContext *AzureBlobContext `json:"azureBlobContext,omitempty" protobuf:"bytes,5,opt,name=azureBlobContext"`
	// AliyunOSSContext refers to the context stored on the Aliyun OSS
	AliyunOSSContext *AliyunOSSContext `json:"aliyunOSSContext,omitempty" protobuf:"bytes,6,opt,name=aliyunOSSContext"`
}

BuildContext stores the chosen build context for your build, this can be Local, S3 or Git

func (*BuildContext) DeepCopy

func (in *BuildContext) DeepCopy() *BuildContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildContext.

func (*BuildContext) DeepCopyInto

func (in *BuildContext) DeepCopyInto(out *BuildContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuildGenTemplate

type BuildGenTemplate struct {
	Name string
	Cmds []string
}

BuildGenTemplate is the template for a build template in docker generate

func (*BuildGenTemplate) DeepCopy

func (in *BuildGenTemplate) DeepCopy() *BuildGenTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildGenTemplate.

func (*BuildGenTemplate) DeepCopyInto

func (in *BuildGenTemplate) DeepCopyInto(out *BuildGenTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuildProvenance

type BuildProvenance struct {
	// BuildFile is the path to the buildfile that was used for the image build
	BuildFile string `json:"buildFile" protobuf:"bytes,1,opt,name=buildFile"`
	// ContextDirectory is the path to the build context
	ContextDirectory string `json:"contextDirectory" protobuf:"bytes,2,opt,name=contextDirectory"`
	// Daemon is whether the daemon was used to build or not (Docker or Buildah)
	Daemon bool `json:"daemon" protobuf:"bytes,3,opt,name=daemon"`
	// Time at which the build was created.
	CreateTime time.Time `json:"createTime,omitempty"`
	// Time at which execution of the build was started.
	StartTime time.Time `json:"startTime,omitempty"`
	// Time at which execution of the build was finished.
	EndTime time.Time `json:"endTime,omitempty"`
	// Creator is the email of the build creator
	Creator string `json:"creator,omitempty"`
	// Source is the URI of the source code for the build
	Source string `json:"source,omitempty"`
	// Name is the image name
	Name string `json:"name,omitempty"`
	// Tag is the image tag
	Tag string `json:"tag,omitempty"`
	// ID is the ID of the image
	ID string `json:"id,omitempty"`
}

BuildProvenance represents build image metadata

type BuildSpec

type BuildSpec struct {
	// Templates are set of build templates that describe steps needed to build a Dockerfile
	// +listType=map
	Templates []BuildTemplate `json:"templates" protobuf:"bytes,1,rep,name=templates"`
	// Steps within a build
	// +listType=map
	Steps []BuildStep `json:"steps" protobuf:"bytes,2,rep,name=steps"`
	// StorageDriver is the storage driver flag (default overlay2) see https://docs.docker.com/storage/storagedriver/select-storage-driver/
	StorageDriver string `json:"storageDriver" protobuf:"bytes,2,rep,name=storageDriver"`
}

BuildSpec represents the build specifications for images

func (*BuildSpec) DeepCopy

func (in *BuildSpec) DeepCopy() *BuildSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildSpec.

func (*BuildSpec) DeepCopyInto

func (in *BuildSpec) DeepCopyInto(out *BuildSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuildStep

type BuildStep struct {
	// Metadata about the build step.
	*ImageMetadata `json:"metadata,inline" protobuf:"bytes,1,name=metadata"`
	// Stages of the build
	// +listType=map
	Stages []Stage `json:"stages" protobuf:"bytes,3,opt,name=purge"`
	// Git url to fetch the project from.
	// +optional
	Git string `json:"git,omitempty" protobuf:"bytes,3,opt,name=git"`
	// Tag the tag of the build
	// +optional
	Tag string `json:"tag,omitempty" protobuf:"bytes,4,opt,name=tag"`
	// Distroless if set to true generates a distroless image
	Distroless bool `json:"distroless,omitempty" protobuf:"bytes,5,opt,name=distroless"`
	// Cache for build
	// Set to false by default
	// +optional
	Cache bool `json:"cache,omitempty" protobuf:"bytes,6,opt,name=cache"`
	// Purge the build
	// defaults to false
	// +optional
	Purge bool `json:"purge,omitempty" protobuf:"bytes,7,opt,name=purge"`
	// BuildContext used for image build
	// default looks at the current working directory
	// +optional
	BuildContext *BuildContext `json:"context,omitempty" protobuf:"bytes,8,opt,name=context"`
}

BuildStep represents a step within the build

func (*BuildStep) DeepCopy

func (in *BuildStep) DeepCopy() *BuildStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildStep.

func (*BuildStep) DeepCopyInto

func (in *BuildStep) DeepCopyInto(out *BuildStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuildTemplate

type BuildTemplate struct {
	// Name of the template
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// List of cmds in a Dockerfile
	// +listType=
	Cmd []BuildTemplateStep `json:"cmd" protobuf:"bytes,2,rep,name=steps"`
}

BuildTemplate represents the build template that can shared across different builds

func (*BuildTemplate) DeepCopy

func (in *BuildTemplate) DeepCopy() *BuildTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildTemplate.

func (*BuildTemplate) DeepCopyInto

func (in *BuildTemplate) DeepCopyInto(out *BuildTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuildTemplateStep

type BuildTemplateStep struct {
	// Docker represents a docker step within build template steps
	Docker *DockerStep `json:"docker,omitempty" protobuf:"bytes,1,opt,name=docker"`
	// Ansible represents a ansible step within build template steps
	Ansible *AnsibleStep `json:"ansible,omitempty" protobuf:"bytes,2,opt,name=ansible"`
}

BuildTemplateStep represents a step within build template

func (*BuildTemplateStep) DeepCopy

func (in *BuildTemplateStep) DeepCopy() *BuildTemplateStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildTemplateStep.

func (*BuildTemplateStep) DeepCopyInto

func (in *BuildTemplateStep) DeepCopyInto(out *BuildTemplateStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BuilderClient

type BuilderClient interface {
	ImageBuild(options OCIBuildOptions) (OCIBuildResponse, error)
	ImagePull(options OCIPullOptions) (OCIPullResponse, error)
	ImagePush(options OCIPushOptions) (OCIPushResponse, error)
	ImageRemove(options OCIRemoveOptions) (OCIRemoveResponse, error)
	ImageInspect(imageId string) (types.ImageInspect, error)
	ImageHistory(imageId string) ([]image.HistoryResponseItem, error)
	RegistryLogin(options OCILoginOptions) (OCILoginResponse, error)
	GenerateAuthRegistryString(auth types.AuthConfig) string
}

BuilderClient is the client interface for the ocibuilder

type Command

type Command struct {
	// Cmd lowercased command name (e.g `from`)
	Cmd string `json:"cmd" protobuf:"bytes,1,opt,name=cmd"`
	// SubCmd for ONBUILD only this holds the sub-command
	SubCmd string `json:"subCmd" protobuf:"bytes,2,opt,name=subCmd"`
	// Json bool for whether the value is written in json
	IsJSON bool `json:"isJSON" protobuf:"bytes,3,opt,name=isJSON"`
	// Original is the original source line
	Original string `json:"original" protobuf:"bytes,4,opt,name=original"`
	// StartLine is the original source line number
	StartLine int `json:"startLine" protobuf:"bytes,5,opt,name=startLine"`
	// Flags such as `--from=...` for `COPY`.
	// +listType=map
	Flags []string `json:"flags" protobuf:"bytes,6,opt,name=flags"`
	// Value is the contents of the command (e.g `ubuntu:xenial`)
	// +listType=map
	Value []string `json:"value" protobuf:"bytes,7,opt,name=value"`
}

Command Represents a single line in a Dockerfile

func (*Command) DeepCopy

func (in *Command) DeepCopy() *Command

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Command.

func (*Command) DeepCopyInto

func (in *Command) DeepCopyInto(out *Command)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ContextReader

type ContextReader interface {
	Read() (io.ReadCloser, error)
}

ContextReader provides an interface for reading from multiple different build contexts

type Credentials

type Credentials struct {
	// Plain text credentials
	Plain string `json:"plain,omitempty" protobuf:"bytes,1,opt,name=plain"`
	// Env refers to credentials stored in environment variable
	Env string `json:"env,omitempty" protobuf:"bytes,2,opt,name=env"`
	// KubeSecret refers to K8s secret that holds the credentials
	KubeSecret *KubeSecretCredentials `json:"kubeSecret,omitempty" protobuf:"bytes,3,opt,name=kubeSecret"`
}

Credentials encapsulates different ways of storing the credentials

func (*Credentials) DeepCopy

func (in *Credentials) DeepCopy() *Credentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Credentials.

func (*Credentials) DeepCopyInto

func (in *Credentials) DeepCopyInto(out *Credentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerStep

type DockerStep struct {
	// Inline Dockerfile commands
	// +optional
	// +listType=map
	Inline []string `json:"inline,omitempty" protobuf:"bytes,1,opt,name=inline"`
	// Path to a file that contains Dockerfile commands
	// +optional
	Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"`
	// Remote url to a file that contains docker commands
	// +optional
	Url string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
	// Auth for remote access to a url
	// +optional
	Auth RemoteCreds `json:"auth,inline" protobuf:"bytes,4,name=auth"`
}

DockerStep represents a step within a build that contains docker commands

func (*DockerStep) DeepCopy

func (in *DockerStep) DeepCopy() *DockerStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerStep.

func (*DockerStep) DeepCopyInto

func (in *DockerStep) DeepCopyInto(out *DockerStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvCreds

type EnvCreds struct {
	// Username refers to an env var that holds the username
	Username string `json:"username" protobuf:"bytes,1,name=username"`
	// Password refers to an en var that holds the password
	Password string `json:"password" protobuf:"bytes,2,name=password"`
}

EnvCreds refers to credentials stored in env vars.

func (*EnvCreds) DeepCopy

func (in *EnvCreds) DeepCopy() *EnvCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvCreds.

func (*EnvCreds) DeepCopyInto

func (in *EnvCreds) DeepCopyInto(out *EnvCreds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Framework

type Framework string

Framework is the type of the build framework being used

const (
	// DockerFramework is the type of docker framework
	DockerFramework Framework = "docker"
	// BuildahFramework is the type of buildah framework
	BuildahFramework Framework = "buildah"
)

type GCSContext

type GCSContext struct {
	// CredentialsFilePath refers to the credentials file path
	CredentialsFilePath string `json:"credentialsFilePath,omitempty" protobuf:"bytes,1,opt,name=credentialsFilePath"`
	// APIKey for authentication
	APIKey *Credentials `json:"apiKey,omitempty" protobuf:"bytes,2,opt,name=apiKey"`
	// AuthRequired checks if authentication is required to connect to GCS
	AuthRequired bool `json:"authRequired" protobuf:"bytes,3,name=authRequired"`
	// Endpoint is the storage to connect to
	Endpoint string `json:"endpoint" protobuf:"bytes,4,name=endpoint"`
	// Bucket refers to the bucket name on gcs
	Bucket *S3Bucket `json:"bucket" protobuf:"bytes,5,name=bucket"`
	// Region refers to GCS region
	Region string `json:"region,omitempty" protobuf:"bytes,6,opt,name=region"`
}

GCSContext refers to the context stored on GCP Storage

func (*GCSContext) DeepCopy

func (in *GCSContext) DeepCopy() *GCSContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCSContext.

func (*GCSContext) DeepCopyInto

func (in *GCSContext) DeepCopyInto(out *GCSContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenerateTemplate

type GenerateTemplate struct {
	ImageName string
	Tag       string
	Stages    []string
	Templates []string
}

GenerateTemplate is the template for a docker generate

func (*GenerateTemplate) DeepCopy

func (in *GenerateTemplate) DeepCopy() *GenerateTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerateTemplate.

func (*GenerateTemplate) DeepCopyInto

func (in *GenerateTemplate) DeepCopyInto(out *GenerateTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitContext

type GitContext struct {
	// Git URL
	URL string `json:"url" protobuf:"bytes,1,name=url"`
	// Username for authentication
	Username *Credentials `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"`
	// Password for authentication
	Password *Credentials `json:"password,omitempty" protobuf:"bytes,3,opt,name=password"`
	// SSHKeyPath is path to your ssh key path. Use this if you don't want to provide username and password.
	// ssh key path must be mounted in sensor pod.
	// +optional
	SSHKeyPath string `json:"sshKeyPath,omitempty" protobuf:"bytes,4,opt,name=sshKeyPath"`
	// Branch to use to pull trigger resource
	// +optional
	Branch string `json:"branch,omitempty" protobuf:"bytes,5,opt,name=branch"`
	// Tag to use to pull trigger resource
	// +optional
	Tag string `json:"tag,omitempty" protobuf:"bytes,6,opt,name=tag"`
	// Ref to use to pull trigger resource. Will result in a shallow clone and
	// fetch.
	// +optional
	Ref string `json:"ref,omitempty" protobuf:"bytes,7,opt,name=ref"`
	// Remote to manage set of tracked repositories. Defaults to "origin".
	// Refer https://git-scm.com/docs/git-remote
	// +optional
	Remote *GitRemoteConfig `json:"remote" protobuf:"bytes,8,opt,name=remote"`
}

GitContext contains information about an artifact stored in git

func (*GitContext) DeepCopy

func (in *GitContext) DeepCopy() *GitContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitContext.

func (*GitContext) DeepCopyInto

func (in *GitContext) DeepCopyInto(out *GitContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitRemoteConfig

type GitRemoteConfig struct {
	// Name of the remote to fetch from.
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// +listType=urls
	// URLs the URLs of a remote repository. It must be non-empty. Fetch will
	// always use the first URL, while push will use all of them.
	URLS []string `json:"urls" protobuf:"bytes,2,rep,name=urls"`
}

GitRemoteConfig contains the configuration of a Git remote

func (*GitRemoteConfig) DeepCopy

func (in *GitRemoteConfig) DeepCopy() *GitRemoteConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRemoteConfig.

func (*GitRemoteConfig) DeepCopyInto

func (in *GitRemoteConfig) DeepCopyInto(out *GitRemoteConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Grafeas

type Grafeas struct {
	// Project is the name of the project ID to store the occurrence
	Project string `json:"project,omitempty" protobuf:"bytes,1,opt,name=project"`
	// Notes holds the notes for the three occurrence types
	Notes Notes `json:"notes,omitempty" protobuf:"bytes,3,opt,name=notes"`
}

Grafeas is the type defining the Grafeas metadata store

func (*Grafeas) DeepCopy

func (in *Grafeas) DeepCopy() *Grafeas

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Grafeas.

func (*Grafeas) DeepCopyInto

func (in *Grafeas) DeepCopyInto(out *Grafeas)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageBuildArgs

type ImageBuildArgs struct {
	// Name is the name of the build
	Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
	// Tag is the tag of the build
	Tag string `json:"tag" protobuf:"bytes,2,opt,name=tag"`
	// Dockerfile is the path to the generated Dockerfile
	// +optional
	Dockerfile string `json:"dockerfile,omitempty" protobuf:"bytes,3,opt,name=dockerfile"`
	// Purge the image after it has been pushed
	// defaults to false
	// +optional
	Purge bool `json:"purge,omitempty" protobuf:"bytes,5,opt,name=purge"`
	// BuildContextPath is the path of the build context for Docker and Buildah
	// defaults to LocalContext in current working directory
	// +optional
	BuildContextPath string `json:"buildContextPath,omitempty" protobuf:"bytes,6,opt,name=buildContextPath"`
	// Labels for the step
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,7,opt,name=labels"`
	// Creator is the email of the build creator
	Creator string `json:"creator,omitempty"`
	// Source is the URI of the source code for the build
	Source string `json:"source,omitempty"`
	// Cache for build
	// Set to false by default
	// +optional
	Cache bool `json:"cache,omitempty" protobuf:"bytes,8,opt,name=cache"`
	// StorageDriver is a buildah flag for storage driver e.g. vfs
	StorageDriver string `json:"storageDriver" protobuf:"bytes,9,name=storageDriver"`
}

ImageBuildArgs describes the arguments for running a build command

func (*ImageBuildArgs) DeepCopy

func (in *ImageBuildArgs) DeepCopy() *ImageBuildArgs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageBuildArgs.

func (*ImageBuildArgs) DeepCopyInto

func (in *ImageBuildArgs) DeepCopyInto(out *ImageBuildArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageMetadata

type ImageMetadata struct {
	// Name of the build step
	Name string `json:"name" protobuf:"bytes,1,name=name"`
	// Labels for the step
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,2,opt,name=labels"`
	// Annotations for the step
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,3,opt,name=annotations"`
	// Creator is the creator of the build
	Creator string `json:"creator,omitempty" protobuf:"bytes,4,opt,name=creator"`
	// Source is the URI to the source code of the image build
	Source string `json:"source,omitempty" protobuf:"bytes,5,opt,name=source"`
}

ImageMetadata represents data about a build step

func (*ImageMetadata) DeepCopy

func (in *ImageMetadata) DeepCopy() *ImageMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageMetadata.

func (*ImageMetadata) DeepCopyInto

func (in *ImageMetadata) DeepCopyInto(out *ImageMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type K8sCreds

type K8sCreds struct {
	// Username refers to the K8s secret that holds username
	Username *corev1.SecretKeySelector `json:"username" protobuf:"bytes,1,name=username"`
	// Password refers to the K8s secret that holds password
	Password *corev1.SecretKeySelector `json:"password" protobuf:"bytes,2,name=password"`
}

K8sCreds refers to the K8s secret that holds the registry creds.

func (*K8sCreds) DeepCopy

func (in *K8sCreds) DeepCopy() *K8sCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8sCreds.

func (*K8sCreds) DeepCopyInto

func (in *K8sCreds) DeepCopyInto(out *K8sCreds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeSecretCredentials

type KubeSecretCredentials struct {
	// Secret is the K8s secret key selector
	Secret *corev1.SecretKeySelector `json:"secret" protobuf:"bytes,1,name=secret"`
	// Namespace where the secret is stored
	Namespace string `json:"namespace" protobuf:"bytes,2,name=namespace"`
}

KubeSecretCredentials refers to K8s secret that holds the credentials

func (*KubeSecretCredentials) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSecretCredentials.

func (*KubeSecretCredentials) DeepCopyInto

func (in *KubeSecretCredentials) DeepCopyInto(out *KubeSecretCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalContext

type LocalContext struct {
	// ContextPath is the path to your build context
	ContextPath string `json:"contextPath" protobuf:"bytes,1,opt,name=contextPath"`
}

LocalContext stores the path for your local build context, implements the ContextReader interface

func (*LocalContext) DeepCopy

func (in *LocalContext) DeepCopy() *LocalContext

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalContext.

func (*LocalContext) DeepCopyInto

func (in *LocalContext) DeepCopyInto(out *LocalContext)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoginSpec

type LoginSpec struct {
	// Registry refers to a OCI image registry
	Registry string `json:"registry" protobuf:"bytes,1,name=registry"`
	Token    string `json:"token" protobuf:"bytes,2,name=token"`
	// Creds refer to credentials required to log into the registry
	Creds RegistryCreds `json:"creds" protobuf:"bytes,3,name=creds"`
	// Overlay is the name which will be referred to by an overlay file
	Overlay string `json:"overlay" protobuf:"bytes,4,name=overlay"`
}

LoginSpec holds the information to log into a registry.

func (*LoginSpec) DeepCopy

func (in *LoginSpec) DeepCopy() *LoginSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoginSpec.

func (*LoginSpec) DeepCopyInto

func (in *LoginSpec) DeepCopyInto(out *LoginSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Metadata

type Metadata struct {
	// StoreType is the metadata store type to push metadata to
	StoreConfig *StoreConfig `json:"storeConfig,omitempty" protobuf:"bytes,1,opt,name=storeConfig"`
	// SignKey holds the key to sign an image for attestation purposes
	Key *SignKey `json:"signKey,omitempty" protobuf:"bytes,2,opt,name=signKey"`
	// Hostname is the hostname of the metadatastore
	Hostname string `json:"hostname,omitempty" protobuf:"bytes,3,opt,name=hostname"`
	// Data is the types of metadata that you would like to push to your metadatastore
	Data []MetadataType `json:"data,omitempty" protobuf:"bytes,4,opt,name=data"`
	// Creator is the email of the build creator
	Creator string `json:"creator,omitempty" protobuf:"bytes,5,opt,name=creator"`
}

Metadata is where metadata to store is defined in the ocibuilder specification

func (*Metadata) DeepCopy

func (in *Metadata) DeepCopy() *Metadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.

func (*Metadata) DeepCopyInto

func (in *Metadata) DeepCopyInto(out *Metadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataType

type MetadataType string

MetadataType is the type of metadata that you want to store

const (
	// Build is the build related metadata type
	Build MetadataType = "build"
	// Attestation is attestation metadata
	Attestation MetadataType = "attestation"
	// DerviedImage any metadata related to the derived image
	Image MetadataType = "image"
)

type NodePhase

type NodePhase string

NodePhase is the label for the condition of a node.

const (
	NodePhaseRunning   NodePhase = "Running"   // the node is running
	NodePhaseError     NodePhase = "Error"     // the node has encountered an error in processing
	NodePhaseNew       NodePhase = ""          // the node is new
	NodePhaseCompleted NodePhase = "Completed" // node has completed running
)

possible types of node phases

type NodeStatus

type NodeStatus struct {
	// ID is a unique identifier of a node within build steps
	// It is a hash of the node name
	ID string `json:"id" protobuf:"bytes,1,opt,name=id"`
	// Name is a unique name in the node tree used to generate the node ID
	Name string `json:"name" protobuf:"bytes,3,opt,name=name"`
	// DisplayName is the human readable representation of the node
	DisplayName string `json:"displayName" protobuf:"bytes,5,opt,name=displayName"`
	// Phase of the node
	Phase NodePhase `json:"phase" protobuf:"bytes,6,opt,name=phase"`
	// StartedAt is the time at which this node started
	StartedAt metav1.MicroTime `json:"startedAt,omitempty" protobuf:"bytes,7,opt,name=startedAt"`
	// Message store data or something to save for configuration
	Message string `json:"message,omitempty" protobuf:"bytes,8,opt,name=message"`
	// UpdateTime is the time when node(OCIBuilder configuration) was updated
	UpdateTime metav1.MicroTime `json:"updateTime,omitempty" protobuf:"bytes,9,opt,name=updateTime"`
}

NodeStatus describes the status for an individual node in the ocibuilder configurations. A single node can represent one configuration.

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Notes

type Notes struct {
	// BuildNoteName Required. Immutable. The analysis note associated with build occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be used as a filter in list requests.
	BuildNoteName string `json:"build,omitempty" protobuf:"bytes,1,opt,name=build"`
	// AttestationNoteName Required. Immutable. The analysis note associated with attestation occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be used as a filter in list requests.
	AttestationNoteName string `json:"attestation,omitempty" protobuf:"bytes,2,opt,name=attestation"`
	// DerivedImageNoteName Required. Immutable. The analysis note associated with image derived occurrence, in the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be used as a filter in list requests.
	DerivedImageNoteName string `json:"image,omitempty" protobuf:"bytes,3,opt,name=image"`
}

func (*Notes) DeepCopy

func (in *Notes) DeepCopy() *Notes

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Notes.

func (*Notes) DeepCopyInto

func (in *Notes) DeepCopyInto(out *Notes)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIBuildOptions

type OCIBuildOptions struct {
	// ImageBuildOptions are standard Docker API image build options
	types.ImageBuildOptions `json:"imageBuildOptions,inline" protobuf:"bytes,1,name=imageBuildOptions"`
	// ContextPath is the path to the raw build context, used for Buildah builds
	ContextPath string `json:"contextPath" protobuf:"bytes,2,name=contextPath"`
	// Ctx is the goroutine context
	Ctx ctx.Context `json:"ctx" protobuf:"bytes3,name=ctx"`
	// Context is the docker tared build context
	Context io.Reader `json:"context" protobuf:"bytes,4,name=context"`
	// StorageDriver is a buildah flag for storage driver e.g. vfs
	StorageDriver string `json:"storageDriver" protobuf:"bytes,5,name=storageDriver"`
}

OCIBuildOptions are the build options for an ocibuilder build

type OCIBuildResponse

type OCIBuildResponse struct {
	// ImageBuildResponse is standard build response from the Docker API
	types.ImageBuildResponse `json:"imageBuildResponse,inline" protobuf:"bytes,1,name=imageBuildResponse"`
	// Exec is part of the response for Buildah command executions
	Exec *command.Command `json:"exec,inline" protobuf:"bytes,2,name=exec"`
	// Stderr is the stderr output stream used to stream buildah response
	Stderr io.ReadCloser `json:"stderr,inline" protobuf:"bytes,3,name=stderr"`
	// Finished is the flag to determine that the response has finished being read
	Finished bool
}

OCIBuildResponse is the build response from an ocibuilder build

type OCIBuilder

type OCIBuilder struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:",inline" protobuf:"bytes,1,name=metadata"`
	Spec              OCIBuilderSpec   `json:"spec" protobuf:"bytes,2,name=spec"`
	Status            OCIBuilderStatus `json:"status" protobuf:"bytes,3,name=status"`
}

OCIBuilder is the definition of a ocibuilder resource +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true

func (*OCIBuilder) DeepCopy

func (in *OCIBuilder) DeepCopy() *OCIBuilder

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIBuilder.

func (*OCIBuilder) DeepCopyInto

func (in *OCIBuilder) DeepCopyInto(out *OCIBuilder)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIBuilder) DeepCopyObject

func (in *OCIBuilder) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIBuilderList

type OCIBuilderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata" protobuf:"bytes,1,name=metadata"`
	// +listType=map
	Items []OCIBuilder `json:"items" protobuf:"bytes,2,name=items"`
}

OCIBuilderList is the list of OCIBuilder resources. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*OCIBuilderList) DeepCopy

func (in *OCIBuilderList) DeepCopy() *OCIBuilderList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIBuilderList.

func (*OCIBuilderList) DeepCopyInto

func (in *OCIBuilderList) DeepCopyInto(out *OCIBuilderList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIBuilderList) DeepCopyObject

func (in *OCIBuilderList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIBuilderSpec

type OCIBuilderSpec struct {
	// Envs are the list of environment variables available to components.
	// +optional
	// +listType=map
	Params []Param `json:"params,omitempty" protobuf:"bytes,1,opt,name=params"`
	// Logins holds information to log into one or more registries
	// +listType=map
	Login []LoginSpec `json:"login,omitempty" protobuf:"bytes,2,opt,name=login"`
	// Build represents the build specifications for images
	// +optional
	Build *BuildSpec `json:"build,omitempty" protobuf:"bytes,3,name=build"`
	// Push contains specification to push images to registries
	// +optional
	// +listType=map
	Push []PushSpec `json:"push,omitempty" protobuf:"bytes,4,name=push"`
	// Type of the build framework.
	// Defaults to docker
	// +optional
	Daemon bool `json:"daemon,omitempty" protobuf:"bytes,5,opt,name=daemon"`
	// Configuration for storing build metadata in an external Metadata store.
	// Defaults to Grafeas as the chosen metadata store
	// +optional
	Metadata *Metadata `json:"metadata,omitempty" protobuf:"bytes,6,opt,name=metadata"`
}

OCIBuilderSpec represents OCIBuilder specifications.

func (*OCIBuilderSpec) DeepCopy

func (in *OCIBuilderSpec) DeepCopy() *OCIBuilderSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIBuilderSpec.

func (*OCIBuilderSpec) DeepCopyInto

func (in *OCIBuilderSpec) DeepCopyInto(out *OCIBuilderSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIBuilderStatus

type OCIBuilderStatus struct {
	// Phase is the high-level summary of the OCIBuilder
	Phase NodePhase `json:"phase" protobuf:"bytes,1,opt,name=phase"`
	// StartedAt is the time at which this OCIBuilder was initiated
	StartedAt metav1.Time `json:"startedAt,omitempty" protobuf:"bytes,2,opt,name=startedAt"`
	// Message is a human readable string indicating details about a OCIBuilder in its phase
	Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"`
	// Nodes is a mapping between a node ID and the node's status
	// it records the states for the configurations of OCIBuilder.
	Nodes map[string]*NodeStatus `json:"nodes" protobuf:"bytes,1,name=nodes"`
}

OCIBuilderStatus holds the status of a OCIBuilder resource

func (*OCIBuilderStatus) DeepCopy

func (in *OCIBuilderStatus) DeepCopy() *OCIBuilderStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIBuilderStatus.

func (*OCIBuilderStatus) DeepCopyInto

func (in *OCIBuilderStatus) DeepCopyInto(out *OCIBuilderStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCILoginOptions

type OCILoginOptions struct {
	// AuthConfig is the standard auth config for the Docker API
	types.AuthConfig `json:"authConfig,inline" protobuf:"bytes,1,name=authConfig"`
	// Ctx is the goroutine context
	Ctx ctx.Context `json:"ctx,inline" protobuf:"bytes,2,name=ctx"`
}

OCILoginOptions are the login options for an ocibuilder login

type OCILoginResponse

type OCILoginResponse struct {
	// AuthenticateOKBody is the standar login response from the Docker API
	registry.AuthenticateOKBody
	// Exec is part of the response for Buildah command executions
	Exec *command.Command `json:"exec,inline" protobuf:"bytes,2,name=exec"`
	// Stderr is the stderr output stream used to stream buildah response
	Stderr io.ReadCloser `json:"stderr,inline" protobuf:"bytes,3,name=stderr"`
}

OCILoginResponse is the login response from an ocibuilder login

type OCIPullOptions

type OCIPullOptions struct {
	// ImagePullOptions are the standard Docker API pull options
	types.ImagePullOptions `json:"imagePullOptions,inline" protobuf:"bytes,1,name=imagePullOptions"`
	// Ref is the reference image name to pull
	Ref string `json:"ref,inline" protobuf:"bytes,2,name=ref"`
	// Ctx is the goroutine context
	Ctx ctx.Context `json:"ctx,inline" protobuf:"bytes3,name=ctx"`
}

OCIPullOptions are the pull options for an ocibuilder pull

type OCIPullResponse

type OCIPullResponse struct {
	// Body is the body of the response from an ocibuilder pull
	Body io.ReadCloser `json:"body,inline" protobuf:"bytes,1,name=body"`
	// Exec is part of the response for Buildah command executions
	Exec *command.Command `json:"exec,inline" protobuf:"bytes,2,name=exec"`
	// Stderr is the stderr output stream used to stream buildah response
	Stderr io.ReadCloser `json:"stderr,inline" protobuf:"bytes,3,name=stderr"`
}

OCIPullResponse is the pull response from an ocibuilder pull

type OCIPushOptions

type OCIPushOptions struct {
	// ImagePushOptions are the standard Docker API push options
	types.ImagePushOptions `json:"imagePushOptions,inline" protobuf:"bytes,1,name=imagePushOptions"`
	// Ref is the reference image name to push
	Ref string `json:"ref,inline" protobuf:"bytes,2,name=ref"`
	// Ctx is the goroutine context
	Ctx ctx.Context `json:"ctx,inline" protobuf:"bytes3,name=ctx"`
}

OCIPushOptions are the pull options for an ocibuilder push

type OCIPushResponse

type OCIPushResponse struct {
	// Body is the body of the response from an ocibuilder push
	Body io.ReadCloser `json:"body,inline" protobuf:"bytes,1,name=body"`
	// Exec is part of the response for Buildah command executions
	Exec *command.Command `json:"exec,inline" protobuf:"bytes,2,name=exec"`
	// Stderr is the stderr output stream used to stream buildah response
	Stderr io.ReadCloser `json:"stderr,inline" protobuf:"bytes,3,name=stderr"`
	// Finished is the flag to determine that the response has finished being read
	Finished bool
}

OCIPushResponse is the push response from an ocibuilder push

type OCIRemoveOptions

type OCIRemoveOptions struct {
	// ImageRemoveOptions are the standard Docker API remove options
	types.ImageRemoveOptions `json:"imageRemoveOptions,inline" protobuf:"bytes,1,name=imageRemoveOptions"`
	// Image is the name of the image to remove
	Image string `json:"image,inline" protobuf:"bytes,2,name=image"`
	// Ctx is the goroutine context
	Ctx ctx.Context `json:"ctx,inline" protobuf:"bytes,3,name=ctx"`
}

OCIRemoveOptions are the remove options for an ocibuilder remove

type OCIRemoveResponse

type OCIRemoveResponse struct {
	// Response are the responses from an image delete
	Response []types.ImageDeleteResponseItem `json:"response,inline" protobuf:"bytes,1,name=response"`
	// Exec is part of the response for Buildah command executions
	Exec *command.Command `json:"exec,inline" protobuf:"bytes,2,name=exec"`
	// Stderr is the stderr output stream used to stream buildah response
	Stderr io.ReadCloser `json:"stderr,inline" protobuf:"bytes,3,name=stderr"`
}

OCIRemoveResponse is the response from an ocibuilder remove

type Overlay

type Overlay interface {
	// Apply applies an overlay in your implementing struct
	Apply() ([]byte, error)
}

Overlay is the overlay interface for handling of overylaying onto specification files

type Param

type Param struct {
	// Value of the environment variable.
	// +optional
	Value string `json:"value,omitempty" protobuf:"bytes,1,opt,name=value"`
	// Dest is the destination of the field to replace with the parameter
	Dest string `json:"dest" protobuf:"bytes,2,opt,name=dest"`
	// ValueFromEnvVar is a variable which is to be replaced by an env var
	// +optional
	ValueFromEnvVariable string `json:"valueFromEnvVariable,omitempty" protobuf:"bytes,3,opt,name=valueFromEnvVariable"`
}

Param represents parameters

func (*Param) DeepCopy

func (in *Param) DeepCopy() *Param

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Param.

func (*Param) DeepCopyInto

func (in *Param) DeepCopyInto(out *Param)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlainCreds

type PlainCreds struct {
	Username string `json:"username" protobuf:"bytes,1,name=username"`
	Password string `json:"password"`
}

PlainCreds refers to the credentials set inline

func (*PlainCreds) DeepCopy

func (in *PlainCreds) DeepCopy() *PlainCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlainCreds.

func (*PlainCreds) DeepCopyInto

func (in *PlainCreds) DeepCopyInto(out *PlainCreds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PushSpec

type PushSpec struct {
	// Registry is the name of the registry
	Registry string `json:"registry" protobuf:"bytes,1,name=registry"`
	// Image to push
	Image string `json:"image" protobuf:"bytes,2,name=image"`
	// User is the name of kubernetes namespace
	User string `json:"user" protobuf:"bytes,3,name=user"`
	// Token required for the OCI complaint registry authentication
	Token string `json:"token" protobuf:"bytes,4,name=token"`
	// Tag version of the image (e.g: v0.1.1)
	Tag string `json:"tag" protobuf:"bytes,5,name=tag"`
	// Purge the image after it has been pushed
	// defaults to false
	// +optional
	Purge bool `json:"purge,omitempty" protobuf:"bytes,6,opt,name=purge"`
	// Overlay is the name which will be referred to by an overlay file
	Overlay string `json:"overlay" protobuf:"bytes,7,name=overlay"`
}

PushSpec contains the specification to push images to registries

func (*PushSpec) DeepCopy

func (in *PushSpec) DeepCopy() *PushSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PushSpec.

func (*PushSpec) DeepCopyInto

func (in *PushSpec) DeepCopyInto(out *PushSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistryCreds

type RegistryCreds struct {
	// K8s refer to the credentials stored in K8s secrets
	K8s K8sCreds `json:"k8s,omitempty" protobuf:"bytes,1,opt,name=k8s"`
	// Env refers to the credentials stored in environment variables
	Env EnvCreds `json:"env,omitempty" protobuf:"bytes,2,opt,name=env"`
	// Plain refers to the credentials set inline
	Plain PlainCreds `json:"plain,omitempty" protobuf:"bytes,3,opt,name=plain"`
}

RegistryCreds holds the credentials to login into a registry

func (*RegistryCreds) DeepCopy

func (in *RegistryCreds) DeepCopy() *RegistryCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCreds.

func (*RegistryCreds) DeepCopyInto

func (in *RegistryCreds) DeepCopyInto(out *RegistryCreds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteCreds

type RemoteCreds struct {
	// Env refers to the credentials stored in environment variables
	Env EnvCreds `json:"env,omitempty" protobuf:"bytes,2,opt,name=env"`
	// Plain refers to the credentials set inline
	Plain PlainCreds `json:"plain,omitempty" protobuf:"bytes,3,opt,name=plain"`
}

RemoteCreds holds the credentials to pull from a remote url

func (*RemoteCreds) DeepCopy

func (in *RemoteCreds) DeepCopy() *RemoteCreds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteCreds.

func (*RemoteCreds) DeepCopyInto

func (in *RemoteCreds) DeepCopyInto(out *RemoteCreds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3Bucket

type S3Bucket struct {
	Key  string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"`
	Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}

S3Bucket contains information to describe an S3 Bucket

func (*S3Bucket) DeepCopy

func (in *S3Bucket) DeepCopy() *S3Bucket

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Bucket.

func (*S3Bucket) DeepCopyInto

func (in *S3Bucket) DeepCopyInto(out *S3Bucket)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3Context

type S3Context struct {
	Endpoint  string       `json:"endpoint" protobuf:"bytes,1,name=endpoint"`
	Bucket    *S3Bucket    `json:"bucket" protobuf:"bytes,2,name=bucket"`
	Region    string       `json:"region,omitempty" protobuf:"bytes,3,opt,name=region"`
	Insecure  bool         `json:"insecure,omitempty" protobuf:"variant,4,opt,name=insecure"`
	AccessKey *Credentials `json:"accessKey" protobuf:"bytes,5,name=accessKey"`
	SecretKey *Credentials `json:"secretKey" protobuf:"bytes,6,name=secretKey"`
}

S3Context refers to context stored on S3 bucket to build an image

func (*S3Context) DeepCopy

func (in *S3Context) DeepCopy() *S3Context

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Context.

func (*S3Context) DeepCopyInto

func (in *S3Context) DeepCopyInto(out *S3Context)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SignKey

type SignKey struct {
	// PrivateKey is an ascii armored private key used to sign images for image attestation
	// +optional
	PlainPrivateKey string `json:"plainPrivateKey,omitempty" protobuf:"bytes,1,opt,name=plainPrivateKey"`
	// PublicKey is the ascii armored public key for verification in image attestation
	// +optional
	// +optional
	PlainPublicKey string `json:"plainPublicKey,omitempty" protobuf:"bytes,2,opt,name=plainPublicKey"`
	// EnvPrivateKey is an env variable that holds an ascii armored private key used to sign images for image attestation
	// +optional
	EnvPrivateKey string `json:"envPrivateKey,omitempty" protobuf:"bytes,3,opt,name=envPrivateKey"`
	// EnvPublicKey is an env variable that holds an ascii armored public key used to sign images for image attestation
	// +optional
	EnvPublicKey string `json:"envPublicKey,omitempty" protobuf:"bytes,4,opt,name=envPublicKey"`
	// Passphrase is the passphrase for decrypting the private key
	Passphrase string `json:"passphrase,omitempty" protobuf:"bytes,5,opt,name=passphrase"`
	// Url or a filepath to a file that contains an ascii armored private key
	// +optional
	Url string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
	// Auth for remote access to a url
	// +optional
	Auth RemoteCreds `json:"auth,inline" protobuf:"bytes,7,name=auth"`
}

func (*SignKey) DeepCopy

func (in *SignKey) DeepCopy() *SignKey

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignKey.

func (*SignKey) DeepCopyInto

func (in *SignKey) DeepCopyInto(out *SignKey)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpecGenerator

type SpecGenerator interface {
	Generate() ([]byte, error)
}

SpecGenerator provides an interface for spec generation for ocibuilder.yaml specification files

type Stage

type Stage struct {
	// Metadata refers to metadata of the build stage
	*ImageMetadata `json:"metadata,inline" protobuf:"bytes,1,name=metadata"`
	// BaseImage refers to parent image for given build stage.
	Base Base `json:"base" protobuf:"bytes,2,name=base"`
	// Template refers to one of the build templates.
	Template string `json:"template" protobuf:"bytes,3,name=template"`
	// Cmd refers to a template defined in a stage without a template.
	// +listType=map
	Cmd []BuildTemplateStep `json:"cmd" protobuf:"bytes,4,name=cmd"`
}

Stage represents a stage within the build

func (*Stage) DeepCopy

func (in *Stage) DeepCopy() *Stage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stage.

func (*Stage) DeepCopyInto

func (in *Stage) DeepCopyInto(out *Stage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StageGenTemplate

type StageGenTemplate struct {
	Base         string
	BaseTag      string
	StageName    string
	TemplateName string
}

StageGenTemplate is the template for a stage in docker generate

func (*StageGenTemplate) DeepCopy

func (in *StageGenTemplate) DeepCopy() *StageGenTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageGenTemplate.

func (*StageGenTemplate) DeepCopyInto

func (in *StageGenTemplate) DeepCopyInto(out *StageGenTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StoreConfig

type StoreConfig struct {
	// Grafeas holds the config for the Grafeas metadata store
	Grafeas *Grafeas `json:"grafeas,omitempty" protobuf:"bytes,1,opt,name=grafeas"`
}

StoreConfig is the configuration of the metadata store to push metadata to

func (*StoreConfig) DeepCopy

func (in *StoreConfig) DeepCopy() *StoreConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreConfig.

func (*StoreConfig) DeepCopyInto

func (in *StoreConfig) DeepCopyInto(out *StoreConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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