v1

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the kataconfiguration v1 API group +kubebuilder:object:generate=true +groupName=kataconfiguration.openshift.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kataconfiguration.openshift.io", Version: "v1"}

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

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

	// +optional
	// +nullable
	Spec   KataConfigSpec   `json:"spec,omitempty"`
	Status KataConfigStatus `json:"status,omitempty"`
}

KataConfig is the Schema for the kataconfigs API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=kataconfigs,scope=Cluster +kubebuilder:printcolumn:name="InProgress",type=string,JSONPath=".status.conditions[?(@.type=='InProgress')].status",description="Status of Kata runtime installation" +kubebuilder:printcolumn:name="Completed",type=integer,JSONPath=".status.kataNodes.readyNodeCount",description="Number of nodes with Kata runtime installed" +kubebuilder:printcolumn:name="Total",type=integer,JSONPath=".status.kataNodes.nodeCount",description="Total number of nodes" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=".metadata.creationTimestamp",description="Age of the KataConfig Custom Resource"

func (*KataConfig) SetupWebhookWithManager added in v1.3.2

func (r *KataConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*KataConfig) ValidateCreate added in v1.3.2

func (r *KataConfig) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*KataConfig) ValidateDelete added in v1.3.2

func (r *KataConfig) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KataConfig) ValidateUpdate added in v1.3.2

func (r *KataConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KataConfigCondition added in v1.5.0

type KataConfigCondition struct {
	Type               KataConfigConditionType `json:"type"`
	Status             corev1.ConditionStatus  `json:"status"`
	LastTransitionTime metav1.Time             `json:"lastTransitionTime"`
	Reason             string                  `json:"reason"`
	Message            string                  `json:"message"`
}

type KataConfigConditionType added in v1.5.0

type KataConfigConditionType string
const (
	KataConfigInProgress KataConfigConditionType = "InProgress"
)

type KataConfigList

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

KataConfigList contains a list of KataConfig

type KataConfigSpec

type KataConfigSpec struct {
	// KataConfigPoolSelector is used to filter the worker nodes
	// if not specified, all worker nodes are selected
	// +optional
	// +nullable
	KataConfigPoolSelector *metav1.LabelSelector `json:"kataConfigPoolSelector"`

	// CheckNodeEligibility is used to detect the node(s) eligibility to run Kata containers.
	// This is currently done through the use of the Node Feature Discovery Operator (NFD).
	// For more information on how the check works, please refer to the sandboxed containers documentation - https://docs.redhat.com/en/documentation/openshift_sandboxed_containers/1.6/html-single/user_guide/index#about-node-eligibility-checks_about-osc
	// +kubebuilder:default:=false
	CheckNodeEligibility bool `json:"checkNodeEligibility"`

	// Sets log level on kata-equipped nodes.  Valid values are the same as for `crio --log-level`.
	// +kubebuilder:default:="info"
	LogLevel string `json:"logLevel,omitempty"`

	// EnablePeerPods is used to transparently create pods on a remote system.
	// For more information on how this works, please refer to the sandboxed containers documentation - https://docs.redhat.com/en/documentation/openshift_sandboxed_containers/1.6/html/user_guide/deploying-public-cloud#deploying-public-cloud
	// +optional
	// +kubebuilder:default:=false
	EnablePeerPods bool `json:"enablePeerPods"`
}

KataConfigSpec defines the desired state of KataConfig

type KataConfigStatus

type KataConfigStatus struct {
	// RuntimeClasses is the names of the RuntimeClasses created by this controller
	// +optional
	RuntimeClasses []string `json:"runtimeClasses"`

	// +optional
	KataNodes KataNodesStatus `json:"kataNodes,omitempty"`

	// +optional
	Conditions []KataConfigCondition `json:"conditions,omitempty"`

	// Used internally to persist state between reconciliations
	// +optional
	// +kubebuilder:default:=false
	WaitingForMcoToStart bool `json:"waitingForMcoToStart,omitempty"`
}

KataConfigStatus defines the observed state of KataConfig

type KataNodesStatus added in v1.5.0

type KataNodesStatus struct {
	// Number of cluster nodes that have kata installed on them including
	// those queued for installation and currently installing, though
	// excluding nodes that have a kata installation but are queued for
	// uninstallation or currently uninstalling.
	// +optional
	NodeCount int `json:"nodeCount"`

	// Number of cluster nodes that have kata installed on them and are
	// currently ready to run kata workloads.
	// +optional
	ReadyNodeCount int `json:"readyNodeCount"`

	// +optional
	Installed []string `json:"installed,omitempty"`
	// +optional
	Installing []string `json:"installing,omitempty"`
	// +optional
	WaitingToInstall []string `json:"waitingToInstall,omitempty"`
	// +optional
	FailedToInstall []string `json:"failedToInstall,omitempty"`

	// +optional
	Uninstalling []string `json:"uninstalling,omitempty"`
	// +optional
	WaitingToUninstall []string `json:"waitingToUninstall,omitempty"`
	// +optional
	FailedToUninstall []string `json:"failedToUninstall,omitempty"`
}

Jump to

Keyboard shortcuts

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