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:
| Field | Description | Default | Validation |
|---|---|---|---|
type string | type corresponds to the Node condition type being evaluated. | MaxLength: 316 MinLength: 1 | |
currentStatus ConditionStatus | currentStatus is the actual status value observed on the Node, one of True, False, Unknown. | Enum: [True False Unknown] | |
requiredStatus ConditionStatus | requiredStatus 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:
| Field | Description | Default | Validation |
|---|---|---|---|
type string | type 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 ConditionStatus | requiredStatus 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:
| Field | Description | Default | Validation |
|---|---|---|---|
affectedNodes integer | affectedNodes is the total count of Nodes that match the rule’s criteria. | Minimum: 0 | |
taintsToAdd integer | taintsToAdd is the number of Nodes that currently lack the specified taint and would have it applied. | Minimum: 0 | |
taintsToRemove integer | taintsToRemove is the number of Nodes that currently possess the taint but no longer meet the criteria, leading to its removal. | Minimum: 0 | |
riskyOperations integer | riskyOperations represents the count of Nodes where required conditions are missing entirely, potentially indicating an ambiguous node state. | Minimum: 0 | |
summary string | summary 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:
| Field | Description |
|---|---|
bootstrap-only | EnforcementModeBootstrapOnly applies configuration only during the first reconcile. |
continuous | EnforcementModeContinuous continuously monitors and enforces the configuration. |
NodeEvaluation
NodeEvaluation provides a detailed audit of a single Node’s compliance with the rule.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
nodeName string | nodeName 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 array | conditionResults 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 TaintStatus | taintStatus represents the taint status on the Node, one of Present, Absent. | Enum: [Present Absent] | |
lastEvaluationTime Time | lastEvaluationTime 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:
| Field | Description | Default | Validation |
|---|---|---|---|
nodeName string | nodeName 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 string | reason provides a brief explanation of the evaluation result. | MaxLength: 256 MinLength: 1 | |
message string | message is a human-readable message indicating details about the evaluation. | MaxLength: 10240 MinLength: 1 | |
lastEvaluationTime Time | lastEvaluationTime is the timestamp of the last rule check failed for this Node. |
NodeReadinessRule
NodeReadinessRule is the Schema for the NodeReadinessRules API.
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | readiness.node.x-k8s.io/v1alpha1 | ||
kind string | NodeReadinessRule | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec NodeReadinessRuleSpec | spec defines the desired state of NodeReadinessRule | ||
status NodeReadinessRuleStatus | status defines the observed state of NodeReadinessRule | MinProperties: 1 |
NodeReadinessRuleSpec
NodeReadinessRuleSpec defines the desired state of NodeReadinessRule.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
conditions ConditionRequirement array | conditions 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 EnforcementMode | enforcementMode 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 Taint | taint defines the specific Taint (Key, Value, and Effect) to be managed on Nodes that meet the defined condition criteria. | ||
nodeSelector LabelSelector | nodeSelector limits the scope of this rule to a specific subset of Nodes. | ||
dryRun boolean | dryRun 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:
| Field | Description | Default | Validation |
|---|---|---|---|
observedGeneration integer | observedGeneration reflects the generation of the most recently observed NodeReadinessRule by the controller. | Minimum: 1 | |
appliedNodes string array | appliedNodes 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 array | failedNodes 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 array | nodeEvaluations 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 DryRunResults | dryRunResults 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:
| Field | Description |
|---|---|
Present | TaintStatusPresent represent the taint present on the Node. |
Absent | TaintStatusAbsent represent the taint absent on the Node. |