@@ -8,7 +8,7 @@ This project implements a Kubernetes controller that manages node taints based o
88
99### Core Components
1010
11- 1 . ** NodeReadinessGateRule CRD** : Defines rules mapping multiple node conditions to a single taint
11+ 1 . ** NodeReadinessRule CRD** : Defines rules mapping multiple node conditions to a single taint
12122 . ** ReadinessGateController** : Main controller that processes rules and manages node taints
13133 . ** NPD Integration** : Works with Node Problem Detector for condition monitoring
14144 . ** Validation Webhook** : Prevents conflicting rule configurations
@@ -26,28 +26,28 @@ This project implements a Kubernetes controller that manages node taints based o
2626
2727```
2828├── api/v1alpha1/
29- │ ├── nodereadinessgaterule_types .go # CRD type definitions
29+ │ ├── nodereadinessrule_types .go # CRD type definitions
3030│ ├── groupversion_info.go # API version info
3131│ └── zz_generated.deepcopy.go # Generated deep copy methods
3232├── internal/controller/
33- │ ├── nodereadinessgaterule_controller .go # Rule reconciler
33+ │ ├── nodereadinessrule_controller .go # Rule reconciler
3434│ ├── node_controller.go # Node reconciler
35- │ ├── nodereadinessgaterule_controller_test .go # Rule controller tests
35+ │ ├── nodereadinessrule_controller_test .go # Rule controller tests
3636│ ├── node_controller_test.go # Node controller tests
3737│ └── suite_test.go # Test suite setup
3838├── cmd/
3939│ └── main.go # Controller entrypoint
4040├── config/
4141│ ├── crd/bases/
42- │ │ └── readiness.node.x-k8s.io_nodereadinessgaterules .yaml # Generated CRD
42+ │ │ └── readiness.node.x-k8s.io_nodereadinessrules .yaml # Generated CRD
4343│ ├── rbac/
4444│ │ ├── role.yaml # Controller RBAC
4545│ │ ├── role_binding.yaml # RBAC binding
4646│ │ └── service_account.yaml # Service account
4747│ ├── manager/
4848│ │ └── manager.yaml # Controller deployment
4949│ ├── samples/
50- │ │ └── v1alpha1_nodereadinessgaterule .yaml # Example rule
50+ │ │ └── v1alpha1_nodereadinessrule .yaml # Example rule
5151│ └── default/
5252│ └── kustomization.yaml # Default kustomize config
5353├── test/
@@ -64,7 +64,7 @@ This project implements a Kubernetes controller that manages node taints based o
6464
6565### Controller Implementation
6666
67- Files: internal/controller/nodereadinessgaterule_controller .go + internal/controller/node_controller.go
67+ Files: internal/controller/nodereadinessrule_controller .go + internal/controller/node_controller.go
6868Content: Controller logic split into two files - rule reconciler and node reconciler
6969
7070### Main Entry
@@ -73,7 +73,7 @@ Controller logic start here: cmd/main.go
7373
7474### Generated CRD
7575
76- Kubebuilder generated schema: config/crd/bases/readiness.node.x-k8s.io_nodereadinessgaterules .yaml
76+ Kubebuilder generated schema: config/crd/bases/readiness.node.x-k8s.io_nodereadinessrules .yaml
7777
7878### RBAC
7979
@@ -102,18 +102,18 @@ generated: config/rbac/*.yaml (multiple files via kubebuilder)
102102
103103### Development Workflow
104104
105- * Modify types in ` api/v1alpha1/nodereadinessgaterule_types .go `
105+ * Modify types in ` api/v1alpha1/nodereadinessrule_types .go `
106106* Run ` make generate manifests ` to update generated files
107107* Updated controller logic in ` internal/controller/*.go `
108108* Test with ` make test `
109109* Deploy with ` make deploy `
110110
111111## Key Types and Data Structures
112112
113- ### NodeReadinessGateRule CRD
113+ ### NodeReadinessRule CRD
114114
115115``` go
116- type NodeReadinessGateRuleSpec struct {
116+ type NodeReadinessRuleSpec struct {
117117 // Multiple conditions that must ALL be satisfied
118118 Conditions []ConditionRequirement ` json:"conditions"`
119119
@@ -154,7 +154,7 @@ const (
154154### Status Tracking
155155
156156``` go
157- type NodeReadinessGateRuleStatus struct {
157+ type NodeReadinessRuleStatus struct {
158158 ObservedGeneration int64 ` json:"observedGeneration,omitempty"`
159159 Conditions []metav1.Condition ` json:"conditions,omitempty"`
160160 AppliedNodes []string ` json:"appliedNodes,omitempty"`
@@ -186,7 +186,7 @@ type ConditionEvaluationResult struct {
186186
187187The controller uses multiple reconcilers:
188188
189- 1 . ** RuleReconciler** : Handles NodeReadinessGateRule changes
189+ 1 . ** RuleReconciler** : Handles NodeReadinessRule changes
190190 - Updates rule cache
191191 - Processes dry run evaluations
192192 - Re-evaluates all applicable nodes when rules change
@@ -247,7 +247,7 @@ if shouldRemoveTaint && currentlyHasTaint {
247247### CNI Readiness Rule
248248``` yaml
249249apiVersion : readiness.node.x-k8s.io/v1alpha1
250- kind : NodeReadinessGateRule
250+ kind : NodeReadinessRule
251251metadata :
252252 name : cni-readiness-rule
253253spec :
@@ -269,7 +269,7 @@ spec:
269269### Storage Readiness Rule
270270` ` ` yaml
271271apiVersion : readiness.node.x-k8s.io/v1alpha1
272- kind : NodeReadinessGateRule
272+ kind : NodeReadinessRule
273273metadata :
274274 name : storage-readiness-rule
275275spec :
0 commit comments