Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the image-builder v1beta1 API group. +kubebuilder:object:generate=true +groupName=image-builder.anza-labs.dev
Index ¶
Constants ¶
const KindLinuxKit = "LinuxKit"
const KindMkosi = "Mkosi"
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "image-builder.anza-labs.dev", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AdditionalData ¶
type AdditionalData struct {
// Name specifies unique name for the additional data.
// +required
Name string `json:"name"`
// VolumeMountPoint specifies the path where this data should be mounted.
// +required
VolumeMountPoint string `json:"volumeMountPoint"`
// DataSource specifies the data source details.
DataSource `json:",inline"`
}
AdditionalData represents additional data sources for image building.
func (*AdditionalData) DeepCopy ¶
func (in *AdditionalData) DeepCopy() *AdditionalData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalData.
func (*AdditionalData) DeepCopyInto ¶
func (in *AdditionalData) DeepCopyInto(out *AdditionalData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BucketDataSource ¶
type BucketDataSource struct {
// Credentials is a reference to the credentials for accessing the bucket.
// +required
Credentials *corev1.LocalObjectReference `json:"credentials"`
// Items specifies specific items within the bucket to include.
// +optional
Items []corev1.KeyToPath `json:"items,omitempty"`
// ItemsSecret specifies a Scret mapping item names to object storage keys.
// Each value should either be a key of the object or follow the format "key = <Presigned URL>",
// e.g.:
// item-1: "path/to/item-1 = <Presigned URL>"
// item-2: "path/to/item-2"
// +optional
ItemsSecret *corev1.LocalObjectReference `json:"itemsConfigMap,omitempty"`
}
BucketDataSource represents an S3 bucket data source.
func (*BucketDataSource) DeepCopy ¶
func (in *BucketDataSource) DeepCopy() *BucketDataSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketDataSource.
func (*BucketDataSource) DeepCopyInto ¶
func (in *BucketDataSource) DeepCopyInto(out *BucketDataSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Container ¶
type Container struct {
// Image indicates the container image to use for the init container.
// +optional
Image string `json:"image,omitempty"`
// Verbosity specifies the log verbosity level for the container.
// +optional
// +default=4
// +kubebuilder:default=4
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=10
Verbosity uint8 `json:"verbosity"`
// Resources describe the compute resource requirements for the builder job.
// +optional
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}
func (*Container) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataSource ¶
type DataSource struct {
// ConfigMap specifies a ConfigMap as a data source.
// +optional
ConfigMap *corev1.ConfigMapVolumeSource `json:"configMap,omitempty"`
// Secret specifies a Secret as a data source.
// +optional
Secret *corev1.SecretVolumeSource `json:"secret,omitempty"`
// Image specifies a container image as a data source.
// +optional
Image *corev1.ImageVolumeSource `json:"image,omitempty"`
// Volume specifies a PersistentVolumeClaim as a data source.
// +optional
Volume *corev1.PersistentVolumeClaimVolumeSource `json:"volume,omitempty"`
// Bucket specifies an S3 bucket as a data source.
// +optional
Bucket *BucketDataSource `json:"bucket,omitempty"`
// GitRepository specifies a Git repository as a data source.
// +optional
GitRepository *GitRepository `json:"gitRepository,omitempty"`
}
DataSource defines the available sources for additional data. Each data source is either used directly as a Volume for the image, or will be fetched into empty dir shared between init container and the builder.
func (*DataSource) DeepCopy ¶
func (in *DataSource) DeepCopy() *DataSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataSource.
func (*DataSource) DeepCopyInto ¶
func (in *DataSource) DeepCopyInto(out *DataSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRepository ¶
type GitRepository struct {
// Repository specifies the URL of the Git repository.
// +required
Repository string `json:"repository"`
// Ref specifies the branch, tag, or commit hash to be used from the Git repository.
// +optional
// +default="main"
Ref string `json:"ref"`
// Credentials specifies the credentials for accessing the repository.
// Secret must be one of the following types:
// - "kubernetes.io/basic-auth" with "username" and "password" fields;
// - "kubernetes.io/ssh-auth" with "ssh-privatekey" field;
// - "Opaque" with "gitconfig" field.
// +optional
Credentials *corev1.LocalObjectReference `json:"credentials,omitempty"`
}
GitRepository represents a Git repository data source.
func (*GitRepository) DeepCopy ¶
func (in *GitRepository) DeepCopy() *GitRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepository.
func (*GitRepository) DeepCopyInto ¶
func (in *GitRepository) DeepCopyInto(out *GitRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinuxKit ¶
type LinuxKit struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LinuxKitSpec `json:"spec,omitempty"`
Status LinuxKitStatus `json:"status,omitempty"`
}
LinuxKit is the Schema for the linuxkits API.
func (*LinuxKit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxKit.
func (*LinuxKit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinuxKit) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinuxKitList ¶
type LinuxKitList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []LinuxKit `json:"items"`
}
LinuxKitList contains a list of LinuxKit.
func (*LinuxKitList) DeepCopy ¶
func (in *LinuxKitList) DeepCopy() *LinuxKitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxKitList.
func (*LinuxKitList) DeepCopyInto ¶
func (in *LinuxKitList) DeepCopyInto(out *LinuxKitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinuxKitList) DeepCopyObject ¶
func (in *LinuxKitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinuxKitSpec ¶
type LinuxKitSpec struct {
// Builder specifies the parameters for the main container configuration.
// +optional
Builder Container `json:"builder,omitempty"`
// ObjFetcher specifies the parameters for the Object Fetcher init container configuration.
// +optional
ObjFetcher Container `json:"objFetcher,omitempty"`
// GitFetcher specifies the parameters for the Git Fetcher init container configuration.
// +optional
GitFetcher Container `json:"gitFetcher,omitempty"`
// Affinity specifies the scheduling constraints for Pods running the builder job.
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Format specifies the output image format.
// +kubebuilder:validation:Enum=aws;docker;dynamic-vhd;gcp;iso-bios;iso-efi;iso-efi-initrd;kernel+initrd;kernel+iso;kernel+squashfs;qcow2-bios;qcow2-efi;raw-bios;raw-efi;rpi3;tar;tar-kernel-initrd;vhd;vmdk
// +required
Format string `json:"format"`
// Configuration is a YAML-formatted Linuxkit configuration.
// +required
Configuration string `json:"configuration"`
// Result is a reference to the local object containing downloadable build results.
// Defaults to the Image.Metadata.Name if not specified.
// +optional
Result corev1.LocalObjectReference `json:"result"`
// BucketCredentials is a reference to the credentials used for storing the image in S3.
// +required
BucketCredentials corev1.LocalObjectReference `json:"bucketCredentials"`
// AdditionalData specifies additional data sources required for building the image.
// +optional
AdditionalData []AdditionalData `json:"additionalData"`
}
LinuxKitSpec defines the desired state of an LinuxKit resource.
func (*LinuxKitSpec) DeepCopy ¶
func (in *LinuxKitSpec) DeepCopy() *LinuxKitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxKitSpec.
func (*LinuxKitSpec) DeepCopyInto ¶
func (in *LinuxKitSpec) DeepCopyInto(out *LinuxKitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinuxKitStatus ¶
type LinuxKitStatus struct {
// Ready indicates whether the image has been successfully built.
// +optional
Ready bool `json:"ready"`
}
LinuxKitStatus defines the observed state of an Image resource.
func (*LinuxKitStatus) DeepCopy ¶
func (in *LinuxKitStatus) DeepCopy() *LinuxKitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxKitStatus.
func (*LinuxKitStatus) DeepCopyInto ¶
func (in *LinuxKitStatus) DeepCopyInto(out *LinuxKitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mkosi ¶
type Mkosi struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MkosiSpec `json:"spec,omitempty"`
Status MkosiStatus `json:"status,omitempty"`
}
Mkosi is the Schema for the mkosis API.
func (*Mkosi) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mkosi.
func (*Mkosi) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Mkosi) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MkosiList ¶
type MkosiList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Mkosi `json:"items"`
}
MkosiList contains a list of Mkosi.
func (*MkosiList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MkosiList.
func (*MkosiList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MkosiList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MkosiSpec ¶
type MkosiSpec struct {
}
MkosiSpec defines the desired state of Mkosi.
func (*MkosiSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MkosiSpec.
func (*MkosiSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MkosiStatus ¶
type MkosiStatus struct {
// Ready indicates whether the image has been successfully built.
// +optional
Ready bool `json:"ready"`
}
MkosiStatus defines the observed state of Mkosi.
func (*MkosiStatus) DeepCopy ¶
func (in *MkosiStatus) DeepCopy() *MkosiStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MkosiStatus.
func (*MkosiStatus) DeepCopyInto ¶
func (in *MkosiStatus) DeepCopyInto(out *MkosiStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.