v1alpha1

package
Version: v0.0.0-...-1f3cceb Latest Latest
Warning

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

Go to latest
Published: May 14, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=cbi.containerbuilding.github.io

Index

Constants

This section is empty.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: cbi.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is 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 an unqualified resource and returns a Group qualified GroupResource

Types

type BuildJob

type BuildJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BuildJobSpec   `json:"spec"`
	Status BuildJobStatus `json:"status"`
}

BuildJob is a specification for a BuildJob resource

NOTE: Kubernetes does not require `yaml:"fooBar"` struct tags for YAML manifests. However, to support embedding CBI BuildJob to other projects, the yaml tags are used.

func (*BuildJob) DeepCopy

func (in *BuildJob) DeepCopy() *BuildJob

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

func (*BuildJob) DeepCopyInto

func (in *BuildJob) DeepCopyInto(out *BuildJob)

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

func (*BuildJob) DeepCopyObject

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

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

type BuildJobList

type BuildJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []BuildJob `json:"items"`
}

BuildJobList is a list of BuildJob resources

func (*BuildJobList) DeepCopy

func (in *BuildJobList) DeepCopy() *BuildJobList

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

func (*BuildJobList) DeepCopyInto

func (in *BuildJobList) DeepCopyInto(out *BuildJobList)

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

func (*BuildJobList) DeepCopyObject

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

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

type BuildJobSpec

type BuildJobSpec struct {
	// Registry specifies the registry.
	Registry Registry `json:"registry"`
	// Language specifies the language.
	Language Language `json:"language"`
	// Context specifies the context.
	Context Context `json:"context"`
	// PluginSelector specifies additional hints for selecting the plugin
	// using the plugin labels.
	// e.g. `plugin.name = docker`.
	//
	// Controller implementations MUST have logic for selecting the default
	// plugin using Language and Context.
	// So, usually users don't need to set PluginSelector explicitly, especially
	// `language.*` labels and `context.*` labels.
	//
	// When PluginSelector is specified, Controller SHOULD select a plugin
	// that satisfies both its default logic and PluginSelector.
	//
	// +optional
	PluginSelector string `json:"pluginSelector" yaml:"pluginSelector"`
}

BuildJobSpec is the spec for a BuildJob resource

func (*BuildJobSpec) DeepCopy

func (in *BuildJobSpec) DeepCopy() *BuildJobSpec

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

func (*BuildJobSpec) DeepCopyInto

func (in *BuildJobSpec) DeepCopyInto(out *BuildJobSpec)

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

type BuildJobStatus

type BuildJobStatus struct {
	Job string `json:"job"`
}

BuildJobStatus is the status for a BuildJob resource

func (*BuildJobStatus) DeepCopy

func (in *BuildJobStatus) DeepCopy() *BuildJobStatus

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

func (*BuildJobStatus) DeepCopyInto

func (in *BuildJobStatus) DeepCopyInto(out *BuildJobStatus)

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

type Cloudbuild

type Cloudbuild struct {
}

Cloudbuild-specific fields

func (*Cloudbuild) DeepCopy

func (in *Cloudbuild) DeepCopy() *Cloudbuild

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

func (*Cloudbuild) DeepCopyInto

func (in *Cloudbuild) DeepCopyInto(out *Cloudbuild)

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

type Context

type Context struct {
	Kind         ContextKind                 `json:"kind"`
	Git          Git                         `json:"git"`
	ConfigMapRef corev1.LocalObjectReference `json:"configMapRef" yaml:"configMapRef"`
	HTTP         HTTP                        `json:"http"`
	Rclone       Rclone                      `json:"rclone"`
}

Context specifies the context.

func (*Context) DeepCopy

func (in *Context) DeepCopy() *Context

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

func (*Context) DeepCopyInto

func (in *Context) DeepCopyInto(out *Context)

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

type ContextKind

type ContextKind string
const (
	// ContextKindGit stands for Git context.
	// When BuildJob.Context.Kind is set to ContextKindGit, the controller
	// MUST add "context.git" to its default plugin selector logic.
	ContextKindGit ContextKind = "Git"

	// ContextKindConfigMap stands for ConfigMap context.
	// When BuildJob.Context.Kind is set to ContextKindConfigMap, the controller
	// MUST add "context.configmap" to its default plugin selector logic.
	ContextKindConfigMap ContextKind = "ConfigMap"

	// ContextKindHTTP stands for HTTP(S) context.
	// When BuildJob.Context.Kind is set to ContextKindHTTP, the controller
	// MUST add "context.http" to its default plugin selector logic.
	ContextKindHTTP ContextKind = "HTTP"

	// ContextKindRclone stands for Rclone context.
	// When BuildJob.Context.Kind is set to ContextKindHTTP, the controller
	// MUST add "context.rclone" to its default plugin selector logic.
	ContextKindRclone ContextKind = "Rclone"
)

type Dockerfile

type Dockerfile struct {
}

Dockerfile-specific fields

func (*Dockerfile) DeepCopy

func (in *Dockerfile) DeepCopy() *Dockerfile

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

func (*Dockerfile) DeepCopyInto

func (in *Dockerfile) DeepCopyInto(out *Dockerfile)

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

type Git

type Git struct {
	// URL is defined in `git-clone(1)`.
	// e.g.
	// - ssh://[user@]host.xz[:port]/path/to/repo.git/
	// - [user@]host.xz:path/to/repo.git/
	//
	// Implementor's Note: url can be also like `file://`,
	// although not useful for CBI.
	URL string `json:"url"`
	// Revision such as commit, branch, or tag.
	// +optional
	Revision string `json:"revision"`
	// SubPath within the repo.
	// +optinal
	SubPath string `json:"subPath" yaml:"subPath"`
	// SSHSecretRef contains the contents of ~/.ssh.
	// +optional
	SSHSecretRef corev1.LocalObjectReference `json:"sshSecretRef" yaml:"sshSecretRef"`
}

Git

func (*Git) DeepCopy

func (in *Git) DeepCopy() *Git

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

func (*Git) DeepCopyInto

func (in *Git) DeepCopyInto(out *Git)

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

type HTTP

type HTTP struct {
	// URL for a tar archive.
	// URL MUST be http:// or https:// .
	// Implementations SHOULD accept tar+gz.
	URL string `json:"url"`
	// TODO: add mediatype
	// TODO: add TLS stuff
	//
	// SubPath within the archive.
	// +optinal
	SubPath string `json:"subPath" yaml:"subPath"`
}

HTTP

func (*HTTP) DeepCopy

func (in *HTTP) DeepCopy() *HTTP

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

func (*HTTP) DeepCopyInto

func (in *HTTP) DeepCopyInto(out *HTTP)

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

type Language

type Language struct {
	Kind       LanguageKind `json:"kind"`
	Dockerfile Dockerfile   `json:"dockerfile"`
	S2I        S2I          `json:"s2i"`
	Cloudbuild Cloudbuild   `json:"cloudbuild"`
}

Language specifies the language.

func (*Language) DeepCopy

func (in *Language) DeepCopy() *Language

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

func (*Language) DeepCopyInto

func (in *Language) DeepCopyInto(out *Language)

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

type LanguageKind

type LanguageKind string
const (
	// LanguageKindDockerfile stands for Dockerfile.
	// When BuildJob.Language.Kind is set to LanguageKindDockerfile, the controller
	// MUST add "language.dockerfile" to its default plugin selector logic.
	LanguageKindDockerfile LanguageKind = "Dockerfile"
	// LanguageKindS2I stands for OpenShift Source-to-Image.
	LanguageKindS2I LanguageKind = "S2I"
	// LanguageKindCloudbuild stands for Google cloudbuild.yaml
	LanguageKindCloudbuild LanguageKind = "Cloudbuild"
)

type Rclone

type Rclone struct {
	Remote string
	Path   string
	// SecretRef contains the contents of ~/.config/rclone.
	SecretRef corev1.LocalObjectReference `json:"secretRef" yaml:"secretRef"`
	// SSHSecretRef contains the contents of ~/.ssh.OLD.
	// Only required for SFTP remote.
	// +optional
	SSHSecretRef corev1.LocalObjectReference `json:"sshSecretRef" yaml:"sshSecretRef"`
}

Rclone

func (*Rclone) DeepCopy

func (in *Rclone) DeepCopy() *Rclone

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

func (*Rclone) DeepCopyInto

func (in *Rclone) DeepCopyInto(out *Rclone)

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

type Registry

type Registry struct {
	// Target is used for pushing the artifact to the registry.
	// Most plugin implementations would require non-empty Target string,
	// even when Push is set to false.
	//
	// Cloudbuild requires this filed not to be set.
	// +optional
	// e.g. `example.com:foo/bar:latest`
	Target string `json:"target"`
	// Push pushes the image.
	// Can be set to false, especially for testing purposes.
	// +optional
	Push bool `json:"push"`
	// SecretRef used for pushing and pulling.
	// +optional
	SecretRef corev1.LocalObjectReference `json:"secretRef" yaml:"secretRef"`
}

Registry specifies the registry.

func (*Registry) DeepCopy

func (in *Registry) DeepCopy() *Registry

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

func (*Registry) DeepCopyInto

func (in *Registry) DeepCopyInto(out *Registry)

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

type S2I

type S2I struct {
	// S2I-specific base image. e,g, centos/ruby-22-centos7
	BaseImage string `json:"baseImage" yaml:"baseImage"`
}

S2I-specific fields

func (*S2I) DeepCopy

func (in *S2I) DeepCopy() *S2I

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

func (*S2I) DeepCopyInto

func (in *S2I) DeepCopyInto(out *S2I)

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