Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the forge v1alpha1 API group.
The following types were taken from https://github.com/dominodatalab/forge/tree/master/api/forge/v1alpha1 and are meant to serve the purpose of api resource conversion.
Package v1alpha1 contains API Schema definitions for the forge v1alpha1 API group.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion 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 ¶
func (in *ContainerImageBuildList) DeepCopy() *ContainerImageBuildList
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 ¶
func (in *ContainerImageBuildSpec) DeepCopy() *ContainerImageBuildSpec
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 ¶
func (in *ContainerImageBuildStatus) DeepCopy() *ContainerImageBuildStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerImageBuildStatus.
func (*ContainerImageBuildStatus) DeepCopyInto ¶
func (in *ContainerImageBuildStatus) DeepCopyInto(out *ContainerImageBuildStatus)
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)
SetState 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Registry.
func (*Registry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.