APIConfiguration Version Management Strategy #556
Tharsanan1
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Context
Following our discussion on resource type configuration and naming conventions, there's been a question about how we should manage versions as our specs evolve. Specifically:
This proposal outlines a versioning strategy based on Kubernetes community best practices.
Proposed Approach: Version on Breaking Changes Only
I propose following the Kubernetes API versioning model where versions are bumped only for breaking/incompatible changes, not for every spec modification.
What This Means in Practice
No version bump needed for:
Version bump required for:
Version Format
We'll use the standard Kubernetes versioning scheme:
v1alpha1,v1alpha2v1beta1,v1beta2v1,v2Examples
✅ Adding an optional field — same version
❌ Renaming a field — requires version bump
❌ Adding a required field — requires version bump
Quick Decision Guide
Maturity Graduation
When a resource is ready to move to the next stability level, we bump the version accordingly:
Each maturity level sets different expectations:
Migration & Deprecation
When we do bump versions:
References
Beta Was this translation helpful? Give feedback.
All reactions