🔆 Highlights
Enhanced Instance Status Tracking
- Overhauled instance status with hierarchical sub-conditions for better visibility into resource reconciliation state. The top-level
Readycondition now aggregates three sub-conditions (InstanceManaged,GraphResolved,ResourcesReady), making debugging significantly easier by pinpointing exactly which reconciliation phase failed. Each condition includesobservedGenerationtracking to help verify that the controller has processed your latest changes. (#622)
Dependency Readiness Checks
- Added dependency readiness validation during instance reconciliation to ensure resources are created in the correct order and only when their dependencies are ready. This prevents cascading failures and improves reliability for complex multi-resource instances. (#764, #767)
Reactive Reconciliation with Informers
- Implemented child object watching using Kubernetes informers instead of periodic polling. kro now automatically detects changes to any managed resource and triggers reconciliation immediately, enabling real-time drift detection and correction. This architectural improvement significantly reduces API server load while providing faster response to resource changes. (#611)
Improved Static Validation
- Completely overhauled ResourceGraphDefinition static validation by eliminating emulation-based approaches. The new validation leverages CEL's native type system to validate field references, type compatibility, and function calls at RGD creation time - without executing expressions. This provides faster feedback with clearer error messages. (#756)
✨ Features
- Update instance status sub-conditions by @n3wscott in #759
- fix: add dependency readiness check in instance reconciliation by @govindup63 in #764
- feat: child object watch and resource reconciliation based on informers by @jakobmoellerdev in #611
- Overhaul RGD static validation to eliminate emulation by @a-hilaly in #756
- chore(applyset): add missing resource status markers for reconciliation process by @jakobmoellerdev in #768
🐛 Bugfixes
- fix: ensure LazyInformer shutdown handles nil cancel safely and add safety tests by @jakobmoellerdev in #773
📖 Documentation
- docs: fix Postgres env var typo in website by @kennygt51 in #770
Testing
New Contributors
- @govindup63 made their first contribution in #764
- @kennygt51 made their first contribution in #770
Full Changelog: v0.5.0...v0.6.0