v1

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2023 License: Apache-2.0 Imports: 11 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 FailedNodeStatus

type FailedNodeStatus struct {
	// Name of the failed node
	Name string `json:"name"`
	// Error message of the failed node reported by the installation daemon
	Error string `json:"error"`
}

FailedNodeStatus holds the name and the error message of the failed node

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.installationStatus.IsInProgress",description="Status of Kata runtime installation" +kubebuilder:printcolumn:name="Completed",type=integer,JSONPath=".status.installationStatus.completed.completedNodesCount",description="Number of nodes with Kata runtime installed" +kubebuilder:printcolumn:name="Total",type=integer,JSONPath=".status.totalNodesCount",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() 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() 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) error

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

type KataConfigCompletedStatus

type KataConfigCompletedStatus struct {
	// CompletedNodesCount reflects the number of nodes that have completed kata operation
	CompletedNodesCount int `json:"completedNodesCount,omitempty"`

	// CompletedNodesList reflects the list of nodes that have completed kata operation
	// +optional
	CompletedNodesList []string `json:"completedNodesList,omitempty"`
}

KataConfigCompletedStatus reflects the status of nodes that have completed kata operation

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.openshift.com/container-platform/latest/sandboxed_containers/deploying-sandboxed-container-workloads.html
	// +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.openshift.com/container-platform/latest/sandboxed_containers/deploying-sandboxed-container-workloads.html
	// +optional
	// +kubebuilder:default:=false
	EnablePeerPods bool `json:"enablePeerPods"`
}

KataConfigSpec defines the desired state of KataConfig

type KataConfigStatus

type KataConfigStatus struct {
	// RuntimeClass is the name of the runtime class used in CRIO configuration
	RuntimeClass string `json:"runtimeClass"`

	// TotalNodesCounts is the total number of worker nodes targeted by this CR
	TotalNodesCount int `json:"totalNodesCount"`

	// InstallationStatus reflects the status of the ongoing kata installation
	// +optional
	InstallationStatus KataInstallationStatus `json:"installationStatus,omitempty"`

	// UnInstallationStatus reflects the status of the ongoing kata uninstallation
	// +optional
	UnInstallationStatus KataUnInstallationStatus `json:"unInstallationStatus,omitempty"`

	// Upgradestatus reflects the status of the ongoing kata upgrade
	// +optional
	Upgradestatus KataUpgradeStatus `json:"upgradeStatus,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 KataFailedNodeStatus

type KataFailedNodeStatus struct {
	// FailedNodesCount reflects the number of nodes that have failed kata operation
	FailedNodesCount int    `json:"failedNodesCount,omitempty"`
	FailedReason     string `json:"failedNodesReason,omitempty"`

	// FailedNodesList reflects the list of nodes that have failed kata operation
	// +optional
	FailedNodesList []FailedNodeStatus `json:"failedNodesList,omitempty"`
}

KataFailedNodeStatus reflects the status of nodes that have failed kata operation

type KataInstallationInProgressStatus

type KataInstallationInProgressStatus struct {
	// InProgressNodesCount reflects the number of nodes that are in the process of kata installation
	InProgressNodesCount int `json:"inProgressNodesCount,omitempty"`
	// IsInProgress reflects if installation is still in progress
	IsInProgress bool `json:"isInProgress,omitempty"`
	// +optional
	BinariesInstalledNodesList []string `json:"binariesInstallNodesList,omitempty"`
}

KataInstallationInProgressStatus reflects the status of nodes that are in the process of kata installation

type KataInstallationStatus

type KataInstallationStatus struct {
	// InProgress reflects the status of nodes that are in the process of kata installation
	InProgress KataInstallationInProgressStatus `json:"inprogress,omitempty"`

	// IsInProgress reflects the current state of installing or not installing
	IsInProgress corev1.ConditionStatus `json:"IsInProgress,omit"`

	// Completed reflects the status of nodes that have completed kata installation
	Completed KataConfigCompletedStatus `json:"completed,omitempty"`

	// Failed reflects the status of nodes that have failed kata installation
	Failed KataFailedNodeStatus `json:"failed,omitempty"`
}

KataInstallationStatus reflects the status of the ongoing kata installation

type KataUnInstallationInProgressStatus

type KataUnInstallationInProgressStatus struct {
	InProgressNodesCount int                    `json:"inProgressNodesCount,omitempty"`
	IsInProgress         corev1.ConditionStatus `json:"status"`
	// +optional
	BinariesUnInstalledNodesList []string `json:"binariesUninstallNodesList,omitempty"`
}

KataUnInstallationInProgressStatus reflects the status of nodes that are in the process of kata installation

type KataUnInstallationStatus

type KataUnInstallationStatus struct {
	// InProgress reflects the status of nodes that are in the process of kata uninstallation
	InProgress KataUnInstallationInProgressStatus `json:"inProgress,omitempty"`

	// Completed reflects the status of nodes that have completed kata uninstallation
	Completed KataConfigCompletedStatus `json:"completed,omitempty"`

	// Failed reflects the status of nodes that have failed kata uninstallation
	Failed KataFailedNodeStatus `json:"failed,omitempty"`

	// Stores an error message if any.  Note that this is currently meant for a single
	// failure source when kata uninstallation is blocked by existing kata-based pods, so
	// handling of this field in the controller code is correspondingly simple.  A review
	// might be necessary if this field were ever to store messages coming from another
	// source.
	ErrorMessage string `json:"errorMessage,omitempty"`
}

KataUnInstallationStatus reflects the status of the ongoing kata uninstallation

type KataUpgradeStatus

type KataUpgradeStatus struct {
}

KataUpgradeStatus reflects the status of the ongoing kata upgrade

Jump to

Keyboard shortcuts

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