v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the runtime v1alpha1 API group +kubebuilder:object:generate=true +groupName=runtime.spinkube.dev

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "runtime.spinkube.dev", Version: "v1alpha1"}

	// 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 AnonHTTPSpec

type AnonHTTPSpec struct {
	// Location is the direct URL to the artifact archive.
	Location string `json:"location"`
}

AnonHTTPSpec defines a simple anonymous HTTP fetch (single URL, single architecture).

func (*AnonHTTPSpec) DeepCopy

func (in *AnonHTTPSpec) DeepCopy() *AnonHTTPSpec

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

func (*AnonHTTPSpec) DeepCopyInto

func (in *AnonHTTPSpec) DeepCopyInto(out *AnonHTTPSpec)

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

type FetchStrategy

type FetchStrategy struct {
	// Type is the fetch strategy type.
	//
	// Deprecated: this field is ignored by the controller and exists only
	// for backward compatibility with existing manifests that specify it.
	//
	// +optional
	Type string `json:"type,omitempty"`

	// AnonHTTP fetches a binary from a public HTTP(S) URL.
	// For backward compatibility with single-architecture deployments.
	// When Platforms is also specified, Platforms takes precedence.
	// +optional
	AnonHTTP *AnonHTTPSpec `json:"anonHttp,omitempty"`

	// Platforms lists per-OS/architecture artifact sources.
	// The controller selects the matching entry for each target node.
	// When specified, this takes precedence over AnonHTTP.
	// +optional
	Platforms []PlatformArtifact `json:"platforms,omitempty"`
}

func (*FetchStrategy) DeepCopy

func (in *FetchStrategy) DeepCopy() *FetchStrategy

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

func (*FetchStrategy) DeepCopyInto

func (in *FetchStrategy) DeepCopyInto(out *FetchStrategy)

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

type PlatformArtifact added in v0.2.0

type PlatformArtifact struct {
	// OS is the operating system. Currently only "Linux" is supported.
	// +kubebuilder:validation:Enum=linux
	OS string `json:"os"`
	// Arch is the CPU architecture.
	// Accepts Go-style ("amd64", "arm64") or uname-style ("x86_64", "aarch64").
	// +kubebuilder:validation:Enum=amd64;arm64;x86_64;aarch64
	Arch string `json:"arch"`
	// Location is the URL to the artifact archive for this platform. Must be publicly accessible.
	Location string `json:"location"`
	// SHA256 is the optional hex-encoded SHA-256 digest for verification.
	// +optional
	SHA256 string `json:"sha256,omitempty"`
}

PlatformArtifact maps a specific OS/Arch pair to an artifact URL.

func (*PlatformArtifact) DeepCopy added in v0.2.0

func (in *PlatformArtifact) DeepCopy() *PlatformArtifact

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

func (*PlatformArtifact) DeepCopyInto added in v0.2.0

func (in *PlatformArtifact) DeepCopyInto(out *PlatformArtifact)

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

type RollingSpec

type RollingSpec struct {
	MaxUpdate int `json:"maxUpdate"`
}

func (*RollingSpec) DeepCopy

func (in *RollingSpec) DeepCopy() *RollingSpec

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

func (*RollingSpec) DeepCopyInto

func (in *RollingSpec) DeepCopyInto(out *RollingSpec)

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

type RolloutStrategy

type RolloutStrategy struct {
	Type    RolloutStrategyType `json:"type"`
	Rolling RollingSpec         `json:"rolling,omitempty"`
}

func (*RolloutStrategy) DeepCopy

func (in *RolloutStrategy) DeepCopy() *RolloutStrategy

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

func (*RolloutStrategy) DeepCopyInto

func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)

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

type RolloutStrategyType

type RolloutStrategyType string

+kubebuilder:validation:Enum=rolling;recreate

const (
	RolloutStrategyTypeRolling  RolloutStrategyType = "rolling"
	RolloutStrategyTypeRecreate RolloutStrategyType = "recreate"
)

type RuntimeClassSpec

type RuntimeClassSpec struct {
	Name    string `json:"name"`
	Handler string `json:"handler"`
}

func (*RuntimeClassSpec) DeepCopy

func (in *RuntimeClassSpec) DeepCopy() *RuntimeClassSpec

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

func (*RuntimeClassSpec) DeepCopyInto

func (in *RuntimeClassSpec) DeepCopyInto(out *RuntimeClassSpec)

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

type Shim

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

	Spec   ShimSpec   `json:"spec,omitempty"`
	Status ShimStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=shims,scope=Cluster +kubebuilder:printcolumn:JSONPath=".spec.runtimeClass.name",name=RuntimeClass,type=string +kubebuilder:printcolumn:JSONPath=".status.nodesReady",name=Ready,type=integer +kubebuilder:printcolumn:JSONPath=".status.nodes",name=Nodes,type=integer Shim is the Schema for the shims API

func (*Shim) DeepCopy

func (in *Shim) DeepCopy() *Shim

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

func (*Shim) DeepCopyInto

func (in *Shim) DeepCopyInto(out *Shim)

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

func (*Shim) DeepCopyObject

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

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

type ShimList

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

ShimList contains a list of Shim

func (*ShimList) DeepCopy

func (in *ShimList) DeepCopy() *ShimList

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

func (*ShimList) DeepCopyInto

func (in *ShimList) DeepCopyInto(out *ShimList)

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

func (*ShimList) DeepCopyObject

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

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

type ShimSpec

type ShimSpec struct {
	NodeSelector    map[string]string `json:"nodeSelector,omitempty"`
	FetchStrategy   FetchStrategy     `json:"fetchStrategy"`
	RuntimeClass    RuntimeClassSpec  `json:"runtimeClass"`
	RolloutStrategy RolloutStrategy   `json:"rolloutStrategy"`
	// ContainerdRuntimeOptions is a map of containerd runtime options for the shim plugin.
	// See an example of configuring cgroup driver via runtime options: https://github.com/containerd/containerd/blob/main/docs/cri/config.md#cgroup-driver
	ContainerdRuntimeOptions map[string]string `json:"containerdRuntimeOptions,omitempty"`
}

ShimSpec defines the desired state of Shim

func (*ShimSpec) DeepCopy

func (in *ShimSpec) DeepCopy() *ShimSpec

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

func (*ShimSpec) DeepCopyInto

func (in *ShimSpec) DeepCopyInto(out *ShimSpec)

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

type ShimStatus

type ShimStatus struct {
	Conditions     []metav1.Condition `json:"conditions,omitempty"`
	NodeCount      int                `json:"nodes"`
	NodeReadyCount int                `json:"nodesReady"`
}

ShimStatus defines the observed state of Shim +operator-sdk:csv:customresourcedefinitions:type=status

func (*ShimStatus) DeepCopy

func (in *ShimStatus) DeepCopy() *ShimStatus

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

func (*ShimStatus) DeepCopyInto

func (in *ShimStatus) DeepCopyInto(out *ShimStatus)

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