Feature Description
As of now, we do not update APIExports when the service-side CustomResourceDefinition is updated:
|
// ARS'es cannot be updated, their entire spec is immutable. For now we do not care about |
|
// CRDs being updated on the service cluster, but in the future (TODO) we must allow |
|
// service owners to somehow publish updated CRDs without changing their API version. |
To provide necessary lifecycle / day-2 operations for CRDs that evolve within their lifetime, the api-syncagent should be capable of processing changes to the CRDs.
Proposed Solution
The api-syncagent should process CRDs, create new APIResourceSchemas in kcp and update the APIExport to use the new schemas.
Ideally, we also make sure we don't sync up breaking changes, but I have no fleshed out idea what checks should happen in this case.
Alternative Solutions
No response
Want to contribute?
Additional Context
No response
Feature Description
As of now, we do not update
APIExportswhen the service-sideCustomResourceDefinitionis updated:api-syncagent/internal/controller/apiresourceschema/controller.go
Lines 141 to 143 in 20aaaa3
To provide necessary lifecycle / day-2 operations for CRDs that evolve within their lifetime, the api-syncagent should be capable of processing changes to the CRDs.
Proposed Solution
The api-syncagent should process CRDs, create new
APIResourceSchemasin kcp and update theAPIExportto use the new schemas.Ideally, we also make sure we don't sync up breaking changes, but I have no fleshed out idea what checks should happen in this case.
Alternative Solutions
No response
Want to contribute?
Additional Context
No response