v1beta1

package
v0.4.3 Latest Latest
Warning

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

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

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

View Source
const KindLinuxKit = "LinuxKit"
View Source
const KindMkosi = "Mkosi"

Variables

View Source
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

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

func (in *LinuxKit) DeepCopy() *LinuxKit

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

func (*LinuxKit) DeepCopyInto

func (in *LinuxKit) DeepCopyInto(out *LinuxKit)

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

func (*LinuxKit) DeepCopyObject

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

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

func (in *Mkosi) DeepCopy() *Mkosi

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

func (*Mkosi) DeepCopyInto

func (in *Mkosi) DeepCopyInto(out *Mkosi)

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

func (*Mkosi) DeepCopyObject

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

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

func (in *MkosiList) DeepCopy() *MkosiList

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

func (*MkosiList) DeepCopyInto

func (in *MkosiList) DeepCopyInto(out *MkosiList)

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

func (*MkosiList) DeepCopyObject

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

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

func (in *MkosiSpec) DeepCopy() *MkosiSpec

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

func (*MkosiSpec) DeepCopyInto

func (in *MkosiSpec) DeepCopyInto(out *MkosiSpec)

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.

Jump to

Keyboard shortcuts

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