fix(api): skip OpenAPI post-processor for non-apps group versions (#2212)
## What this PR does The OpenAPI `PostProcessSpec` callback is invoked for every registered group-version (apps, core, version, etc.), but the Application schema cloning logic only applies to `apps.cozystack.io`. When called for other GVs the base Application schemas are absent, producing a spurious error on every API server start: ``` ERROR klog Failed to build OpenAPI v3 for group version, "base Application* schemas not found" ``` This PR changes the post-processor (both v2 and v3) to return early when the base schemas are not found, instead of returning an error. ### Release note ```release-note [platform] Fix spurious "base Application* schemas not found" error logged on cozystack-api startup ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved error handling for missing OpenAPI schema components. The system now gracefully continues processing instead of halting when certain base schemas are unavailable. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
commit
ffd6e628e2
1 changed files with 4 additions and 4 deletions
|
|
@ -224,8 +224,8 @@ func buildPostProcessV3(kindSchemas map[string]string) func(*spec3.OpenAPI) (*sp
|
|||
base, ok1 := doc.Components.Schemas[baseRef]
|
||||
list, ok2 := doc.Components.Schemas[baseListRef]
|
||||
stat, ok3 := doc.Components.Schemas[baseStatusRef]
|
||||
if !(ok1 && ok2 && ok3) && len(kindSchemas) > 0 {
|
||||
return doc, fmt.Errorf("base Application* schemas not found")
|
||||
if !(ok1 && ok2 && ok3) {
|
||||
return doc, nil // not the apps GV — nothing to patch
|
||||
}
|
||||
|
||||
// Clone base schemas for each kind
|
||||
|
|
@ -339,8 +339,8 @@ func buildPostProcessV2(kindSchemas map[string]string) func(*spec.Swagger) (*spe
|
|||
base, ok1 := defs[baseRef]
|
||||
list, ok2 := defs[baseListRef]
|
||||
stat, ok3 := defs[baseStatusRef]
|
||||
if !(ok1 && ok2 && ok3) && len(kindSchemas) > 0 {
|
||||
return sw, fmt.Errorf("base Application* schemas not found")
|
||||
if !(ok1 && ok2 && ok3) {
|
||||
return sw, nil // not the apps GV — nothing to patch
|
||||
}
|
||||
|
||||
for kind, raw := range kindSchemas {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue