v1alpha1

package
v0.4.13 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the forge v1alpha1 API group +kubebuilder:object:generate=true +groupName=forge.dominodatalab.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "forge.dominodatalab.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BasicAuthConfig

type BasicAuthConfig struct {
	// Inline basic auth username.
	// +kubebuilder:validation:Optional
	Username string `json:"username"`

	// Inline basic auth password.
	// +kubebuilder:validation:Optional
	Password string `json:"password"`

	// Name of secret containing dockerconfigjson credentials to registry.
	// +kubebuilder:validation:Optional
	SecretName string `json:"secretName"`

	// Namespace where credentials secret resides.
	// +kubebuilder:validation:Optional
	SecretNamespace string `json:"secretNamespace"`
}

BasicAuthConfig contains credentials either inline or a reference to a dockerconfigjson secret.

func (*BasicAuthConfig) DeepCopy

func (in *BasicAuthConfig) DeepCopy() *BasicAuthConfig

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

func (*BasicAuthConfig) DeepCopyInto

func (in *BasicAuthConfig) DeepCopyInto(out *BasicAuthConfig)

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

func (BasicAuthConfig) IsInline

func (auth BasicAuthConfig) IsInline() bool

func (BasicAuthConfig) IsSecret

func (auth BasicAuthConfig) IsSecret() bool

func (BasicAuthConfig) Validate

func (auth BasicAuthConfig) Validate() error

type BuildState

type BuildState string

BuildState represents a phase in the build process.

const (
	// BuildStateInitialized indicates that a new build has been intercepted by the controller.
	BuildStateInitialized BuildState = "Initialized"

	// BuildStateBuilding indicates that a build that is currently running.
	BuildStateBuilding BuildState = "Building"

	// BuildStateCompleted indicates that a build has finished successfully.
	BuildStateCompleted BuildState = "Completed"

	// BuildStateFailed indicates that a build encountered an error during the build process.
	BuildStateFailed BuildState = "Failed"
)

type ContainerImageBuild

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

	Spec   ContainerImageBuildSpec   `json:"spec,omitempty"`
	Status ContainerImageBuildStatus `json:"status,omitempty"`
}

ContainerImageBuild is the Schema for the containerimagebuilds API

func (*ContainerImageBuild) DeepCopy

func (in *ContainerImageBuild) DeepCopy() *ContainerImageBuild

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

func (*ContainerImageBuild) DeepCopyInto

func (in *ContainerImageBuild) DeepCopyInto(out *ContainerImageBuild)

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

func (*ContainerImageBuild) DeepCopyObject

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

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

type ContainerImageBuildList

type ContainerImageBuildList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ContainerImageBuild `json:"items"`
}

ContainerImageBuildList contains a list of ContainerImageBuild

func (*ContainerImageBuildList) DeepCopy

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

func (*ContainerImageBuildList) DeepCopyInto

func (in *ContainerImageBuildList) DeepCopyInto(out *ContainerImageBuildList)

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

func (*ContainerImageBuildList) DeepCopyObject

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

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

type ContainerImageBuildSpec

type ContainerImageBuildSpec struct {
	// Name used to build an image.
	// +kubebuilder:validation:MinLength=1
	ImageName string `json:"imageName"`

	// Build context for the image. This can be a local path or url.
	Context string `json:"context"`

	// If the build context is a URL, the timeout in seconds for fetching. Defaults to 0, which disables the timeout.
	// +kubebuilder:validation:Optional
	ContextTimeoutSeconds uint16 `json:"contextTimeoutSeconds"`

	// Push to one or more registries.
	// +kubebuilder:validation:MinItems=1
	PushRegistries []string `json:"pushTo"`

	// Configure one or more registry hosts with special requirements.
	// +kubebuilder:validation:Optional
	Registries []Registry `json:"registries"`

	// Image build arguments.
	// +kubebuilder:validation:Optional
	BuildArgs []string `json:"buildArgs"`

	// Labels added to the image during build.
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels"`

	// Limits build cpu consumption.
	// +kubebuilder:validation:Optional
	CPU string `json:"cpu"`

	// Limits build memory consumption.
	// +kubebuilder:validation:Optional
	Memory string `json:"memory"`

	// Resources are the requests and limits applied to image builds.
	// +kubebuilder:validation:Optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Optional deadline in seconds for image build to complete.
	// +kubebuilder:validation:Optional
	TimeoutSeconds uint16 `json:"timeoutSeconds"`

	// Prevents images larger than this size (in bytes) from being pushed to a registry. By default,
	// an image of any size will be pushed.
	// +kubebuilder:validation:Optional
	ImageSizeLimit uint64 `json:"imageSizeLimit"`

	// Provide arbitrary data for use in plugins that extend default capabilities.
	// +kubebuilder:validation:Optional
	PluginData map[string]string `json:"pluginData"`

	// Disable the use of layer caches during build.
	// +kubebuilder:validation:Optional
	DisableBuildCache bool `json:"disableBuildCache"`

	// Disable export of layer cache when it is enabled.
	// +kubebuilder:validation:Optional
	DisableLayerCacheExport bool `json:"disableLayerCacheExport"`

	// Override queue where messages are published when status update messaging is configured. If this value is provided
	// and the message configuration is missing, then no messages will be published.
	// +kubebuilder:validation:Optional
	MessageQueueName string `json:"messageQueueName"`

	// Specifies zero or more containers that will run before the build container.
	// This is deliberately not of the Container type to prevent an account with permission for creating the build
	// custom resource from elevating its privilege to what the account running the build job can do. E.g. by being
	// able to specify volume mounts, devices, capabilities, SELinux options, etc.
	// +kubebuilder:validation:Optional
	InitContainers []InitContainer `json:"initContainers"`
}

ContainerImageBuildSpec defines the desired state of ContainerImageBuild

func (*ContainerImageBuildSpec) DeepCopy

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

func (*ContainerImageBuildSpec) DeepCopyInto

func (in *ContainerImageBuildSpec) DeepCopyInto(out *ContainerImageBuildSpec)

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

type ContainerImageBuildStatus

type ContainerImageBuildStatus struct {
	PreviousState    BuildState   `json:"-"` // NOTE: should we persist this value?
	State            BuildState   `json:"state,omitempty"`
	ImageURLs        []string     `json:"imageURLs,omitempty"`
	ImageSize        uint64       `json:"imageSize,omitempty"`
	ErrorMessage     string       `json:"errorMessage,omitempty"`
	BuildStartedAt   *metav1.Time `json:"buildStartedAt,omitempty"`
	BuildCompletedAt *metav1.Time `json:"buildCompletedAt,omitempty"`
}

ContainerImageBuildStatus defines the observed state of ContainerImageBuild

func (*ContainerImageBuildStatus) DeepCopy

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

func (*ContainerImageBuildStatus) DeepCopyInto

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

func (*ContainerImageBuildStatus) SetState

func (s *ContainerImageBuildStatus) SetState(state BuildState)

SetStatus will set a new build state and preserve the previous state in a transient field. An initialized state will be set when no state is provided.

type InitContainer

type InitContainer struct {
	// Name of the init container.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Docker image name.
	// +kubebuilder:validation:MinLength=1
	Image string `json:"image"`

	// Entrypoint array. The Docker image's ENTRYPOINT is used if this is not provided.
	// +kubebuilder:validation:Optional
	Command []string `json:"command"`

	// Arguments to the entrypoint. The Docker image's CMD is used if this is not provided.
	// +kubebuilder:validation:Optional
	Args []string `json:"args"`

	// Environment variables.
	// +kubebuilder:validation:Optional
	Env []corev1.EnvVar `json:"env"`
}

InitContainer specifies a container that will run before the build container.

func (*InitContainer) DeepCopy

func (in *InitContainer) DeepCopy() *InitContainer

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

func (*InitContainer) DeepCopyInto

func (in *InitContainer) DeepCopyInto(out *InitContainer)

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

type Registry

type Registry struct {
	// Registry hostname.
	// +kubebuilder:validation:MinLength=1
	Server string `json:"server"`

	// Push image to a plain HTTP registry.
	// +kubebuilder:validation:Optional
	NonSSL bool `json:"nonSSL"`

	// Configure basic authentication credentials for a registry.
	// +kubebuilder:validation:Optional
	BasicAuth BasicAuthConfig `json:"basicAuth"`

	// When enabled, the controller will request credentials from the specific cloud registry (AWS, GCP, Azure Cloud)
	// and provide them to the build job for authentication.
	// +kubebuilder:validation:Optional
	DynamicCloudCredentials bool `json:"dynamicCloudCredentials"`
}

Registry contains the parameters required to pull and/or push from an OCI distribution 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.

Jump to

Keyboard shortcuts

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