feat: Production ready feast operator with v1 apiversion by jyejare · Pull Request #5743 · feast-dev/feast
@jyejare rather than using rename + patch approach, I think we should use kubebuilder standard approach for API version upgrades, where we keep both v1 and v1aplha1 like:
api/
├── v1/
│ ├── featurestore_types.go (+kubebuilder:storageversion)
│ ├── groupversion_info.go
│ └── zz_generated.deepcopy.go
└── v1alpha1/
├── featurestore_types.go (+kubebuilder:deprecatedversion)
├── groupversion_info.go
└── zz_generated.deepcopy.go
and CRD will look like:
versions:
- name: v1
storage: true # Primary storage version
# Full schema...
- name: v1alpha1
storage: false # Deprecated, not stored
deprecated: true
deprecationWarning: "feast.dev/v1alpha1 FeatureStore is deprecated, use feast.dev/v1 instead"
# Full schema (for validation)