Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the kataconfiguration v1 API group +kubebuilder:object:generate=true +groupName=kataconfiguration.openshift.io
Index ¶
- Variables
- type KataConfig
- func (r *KataConfig) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *KataConfig) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *KataConfig) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *KataConfig) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type KataConfigCondition
- type KataConfigConditionType
- type KataConfigList
- type KataConfigSpec
- type KataConfigStatus
- type KataNodesStatus
Constants ¶
This section is empty.
Variables ¶
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(ctx context.Context, obj runtime.Object) (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(ctx context.Context, obj runtime.Object) (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(ctx context.Context, oldObj, newObj 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"`
}