Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

API Reference

Packages

readiness.node.x-k8s.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group.

Resource Types

ConditionEvaluationResult

ConditionEvaluationResult provides a detailed report of the comparison between the Node’s observed condition and the rule’s requirement.

Appears in:

FieldDescriptionDefaultValidation
type stringtype corresponds to the Node condition type being evaluated.MaxLength: 316
MinLength: 1
currentStatus ConditionStatuscurrentStatus is the actual status value observed on the Node, one of True, False, Unknown.Enum: [True False Unknown]
requiredStatus ConditionStatusrequiredStatus is the status value defined in the rule that must be matched, one of True, False, Unknown.Enum: [True False Unknown]

ConditionRequirement

ConditionRequirement defines a specific Node condition and the status value required to trigger the controller’s action.

Appears in:

FieldDescriptionDefaultValidation
type stringtype of Node condition
Following kubebuilder validation is referred from https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Condition
MaxLength: 316
MinLength: 1
requiredStatus ConditionStatusrequiredStatus is status of the condition, one of True, False, Unknown.Enum: [True False Unknown]

DryRunResults

DryRunResults provides a summary of the actions the controller would perform if DryRun mode is enabled.

Validation:

  • MinProperties: 1

Appears in:

FieldDescriptionDefaultValidation
affectedNodes integeraffectedNodes is the total count of Nodes that match the rule’s criteria.Minimum: 0
taintsToAdd integertaintsToAdd is the number of Nodes that currently lack the specified taint and would have it applied.Minimum: 0
taintsToRemove integertaintsToRemove is the number of Nodes that currently possess the
taint but no longer meet the criteria, leading to its removal.
Minimum: 0
riskyOperations integerriskyOperations represents the count of Nodes where required conditions
are missing entirely, potentially indicating an ambiguous node state.
Minimum: 0
summary stringsummary provides a human-readable overview of the dry run evaluation,
highlighting key findings or warnings.
MaxLength: 4096
MinLength: 1

EnforcementMode

Underlying type: string

EnforcementMode specifies how the controller maintains the desired state.

Validation:

  • Enum: [bootstrap-only continuous]

Appears in:

FieldDescription
bootstrap-onlyEnforcementModeBootstrapOnly applies configuration only during the first reconcile.
continuousEnforcementModeContinuous continuously monitors and enforces the configuration.

NodeEvaluation

NodeEvaluation provides a detailed audit of a single Node’s compliance with the rule.

Appears in:

FieldDescriptionDefaultValidation
nodeName stringnodeName is the name of the evaluated Node.MaxLength: 253
MinLength: 1
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
conditionResults ConditionEvaluationResult arrayconditionResults provides a detailed breakdown of each condition evaluation
for this Node. This allows for granular auditing of which specific
criteria passed or failed during the rule assessment.
MaxItems: 5000
taintStatus TaintStatustaintStatus represents the taint status on the Node, one of Present, Absent.Enum: [Present Absent]
lastEvaluationTime TimelastEvaluationTime is the timestamp when the controller last assessed this Node.

NodeFailure

NodeFailure provides diagnostic details for Nodes that could not be successfully evaluated by the rule.

Appears in:

FieldDescriptionDefaultValidation
nodeName stringnodeName is the name of the failed Node.
Following kubebuilder validation is referred from
https://github.com/kubernetes/apimachinery/blob/84d740c9e27f3ccc94c8bc4d13f1b17f60f7080b/pkg/util/validation/validation.go#L198
MaxLength: 253
MinLength: 1
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
reason stringreason provides a brief explanation of the evaluation result.MaxLength: 256
MinLength: 1
message stringmessage is a human-readable message indicating details about the evaluation.MaxLength: 10240
MinLength: 1
lastEvaluationTime TimelastEvaluationTime is the timestamp of the last rule check failed for this Node.

NodeReadinessRule

NodeReadinessRule is the Schema for the NodeReadinessRules API.

FieldDescriptionDefaultValidation
apiVersion stringreadiness.node.x-k8s.io/v1alpha1
kind stringNodeReadinessRule
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NodeReadinessRuleSpecspec defines the desired state of NodeReadinessRule
status NodeReadinessRuleStatusstatus defines the observed state of NodeReadinessRuleMinProperties: 1

NodeReadinessRuleSpec

NodeReadinessRuleSpec defines the desired state of NodeReadinessRule.

Appears in:

FieldDescriptionDefaultValidation
conditions ConditionRequirement arrayconditions contains a list of the Node conditions that defines the specific
criteria that must be met for taints to be managed on the target Node.
The presence or status of these conditions directly triggers the application or removal of Node taints.
MaxItems: 32
MinItems: 1
enforcementMode EnforcementModeenforcementMode specifies how the controller maintains the desired state.
enforcementMode is one of bootstrap-only, continuous.
“bootstrap-only” applies the configuration once during initial setup.
“continuous” ensures the state is monitored and corrected throughout the resource lifecycle.
Enum: [bootstrap-only continuous]
taint Tainttaint defines the specific Taint (Key, Value, and Effect) to be managed
on Nodes that meet the defined condition criteria.
nodeSelector LabelSelectornodeSelector limits the scope of this rule to a specific subset of Nodes.
dryRun booleandryRun when set to true, The controller will evaluate Node conditions and log intended taint modifications
without persisting changes to the cluster. Proposed actions are reflected in the resource status.

NodeReadinessRuleStatus

NodeReadinessRuleStatus defines the observed state of NodeReadinessRule.

Validation:

  • MinProperties: 1

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerobservedGeneration reflects the generation of the most recently observed NodeReadinessRule by the controller.Minimum: 1
appliedNodes string arrayappliedNodes lists the names of Nodes where the taint has been successfully managed.
This provides a quick reference to the scope of impact for this rule.
MaxItems: 5000
items:MaxLength: 253
failedNodes NodeFailure arrayfailedNodes lists the Nodes where the rule evaluation encountered an error.
This is used for troubleshooting configuration issues, such as invalid selectors during node lookup.
MaxItems: 5000
nodeEvaluations NodeEvaluation arraynodeEvaluations provides detailed insight into the rule’s assessment for individual Nodes.
This is primarily used for auditing and debugging why specific Nodes were or
were not targeted by the rule.
MaxItems: 5000
dryRunResults DryRunResultsdryRunResults captures the outcome of the rule evaluation when DryRun is enabled.
This field provides visibility into the actions the controller would have taken,
allowing users to preview taint changes before they are committed.
MinProperties: 1

TaintStatus

Underlying type: string

TaintStatus specifies status of the Taint on Node.

Validation:

  • Enum: [Present Absent]

Appears in:

FieldDescription
PresentTaintStatusPresent represent the taint present on the Node.
AbsentTaintStatusAbsent represent the taint absent on the Node.