chore(deps): update module github.com/kubernetes-sigs/kro to v0.9.0#40
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update module github.com/kubernetes-sigs/kro to v0.9.0#40renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.8.5→v0.9.0Release Notes
kubernetes-sigs/kro (github.com/kubernetes-sigs/kro)
v0.9.0Compare Source
🔆 Highlights
Cluster-Scoped Instance CRDs (KREP-10)
RGDs can now generate cluster-scoped instance CRDs. Add
scope: Clusterto your schema and kro produces a non-namespaced CRD. Namespaced child resources must explicitly declaremetadata.namespacewhen the instance is cluster-scoped. The field defaults toNamespacedand is immutable after creation. DocsincludeWhenCan Reference Upstream ResourcesincludeWhenexpressions are no longer limited toschemafields - they can now reference other resources in the graph. kro treats these references as real dependencies that participate in DAG construction and cycle detection. Docs.Decorators - External Collections (KREP-008)
ExternalRefpreviously only supportednameandnamespacefor scalar lookups. They now support fullmatchLabelsandmatchExpressionsselectors, so a singleexternalRefcan match multiple resources dynamically. Selector values accept CEL expressions. DocsReactive Watches on External References and Decorators (KREP-003)
kro now watches external references - both scalar and collections — and re-reconciles instances instantly when an external resource is created, updated, or deleted. (Docs)
omit()CEL Function (CELOmitFunction)A new CEL
omit()function lets you conditionally remove fields from rendered templates. Use${schema.spec.kmsKeyID != "" ? schema.spec.kmsKeyID : omit()}and the field is dropped entirely from the SSA payload - important for APIs that distinguish between field absence and an empty value.omit()is rejected on required metadata fields (name,namespace,apiVersion,kind). Alpha, default off. DocsInstance Status Condition Events (⚠️ feature-gated:
InstanceConditionEvents)kro can now emit Kubernetes Events when instance status conditions transition between reconciliation cycles. Events show the transition as
"False → True: ResourcesReady"and are typed Normal for transitions to True, Warning for everything else. Visible viakubectl describeon any instance. Alpha, default off. DocsCEL Libraries Enrichment
The CEL environment gained nine new capabilities:
json.marshal()andjson.unmarshal()for working with JSON payloads directly in expressionsmap.merge()to combine two maps with second-map-wins semanticslists.setAtIndex(),lists.insertAtIndex(),lists.removeAtIndex()for immutable list mutations; k8s Lists library forlists.concat()and friends"500m","2Gi") nativelycel.bind(varName, init, body)to name intermediate values and reduce repetitionTwoVarComprehensions(transformMap,transformList) andsortByfor stable ordering by arbitrary expressionsrandom.seededInt(min, max, seed)for deterministic integer generation from resource UIDsGraph Revisions (KREP-013)
RGD specs are now versioned. Each spec change creates an immutable
GraphRevisionsnapshot (kubectl get gr) that is compiled and validated independently before instances can use it. If a new spec breaks compilation, instances block with a clear status instead of failing silently — you see exactly which revision failed and why viakubectl describe gr. kro retains the last 5 revisions per RGD (configurable), giving you an audit trail of every spec change. More importantly, Graph Revisions lay the foundation for progressive rollouts and revision pinning in future releases. Docs. Docs✨ Features
includeWhento reference other resources by @a-hilaly in #1104TwoVarComprehensionsin CEL environment by @jakobmoellerdev in #1136sortBycomprehension by @jakobmoellerdev in #1136GraphRevisionsfrom the RGD controller by @a-hilaly in #1200spec.snapshot.namefor orphan adoption by @a-hilaly in #1206internal.kro.run/prefix by @michaelhtm in #1094🐛 Bug Fixes
oneOfstring|number schemas inUnstructuredToValby @a-hilaly in #1179⚡ Performance
🔧 Refactoring
📖 Documentation
schema.specby @NickKeller in #1072omit()by @a-hilaly in #1121🧪 Testing
🧹 Chores
New Contributors
Full Changelog: kubernetes-sigs/kro@v0.8.5...v0.9.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.