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 ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shim.
func (*Shim) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Shim) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShimList.
func (*ShimList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ShimList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShimSpec.
func (*ShimSpec) DeepCopyInto ¶
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.