Skip to content

Commit

Permalink
Fix openapi renderer (#621)
Browse files Browse the repository at this point in the history
Signed-off-by: Tamal Saha <[email protected]>
  • Loading branch information
tamalsaha authored Mar 3, 2025
1 parent ef36725 commit 80d02d1
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ require (
k8s.io/apiserver v0.32.2
k8s.io/cli-runtime v0.32.2
k8s.io/client-go v0.32.2
k8s.io/component-base v0.32.2
k8s.io/klog/v2 v2.130.1
k8s.io/kube-aggregator v0.32.2
k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7
Expand Down Expand Up @@ -144,7 +145,6 @@ require (
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/component-base v0.32.2 // indirect
k8s.io/kms v0.32.2 // indirect
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 // indirect
Expand Down
34 changes: 34 additions & 0 deletions openapi/render.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,15 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/apimachinery/pkg/util/version"
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
"k8s.io/apiserver/pkg/registry/rest"
genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options"
clientgoinformers "k8s.io/client-go/informers"
clientgoclientset "k8s.io/client-go/kubernetes"
restclient "k8s.io/client-go/rest"
utilversion "k8s.io/component-base/version"
"k8s.io/klog/v2"
"k8s.io/kube-openapi/pkg/builder"
"k8s.io/kube-openapi/pkg/common"
Expand Down Expand Up @@ -117,6 +119,7 @@ func RenderOpenAPISpec(cfg Config) (string, error) {
serverConfig.OpenAPIConfig.Info.InfoProps = cfg.Info
serverConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(cfg.GetOpenAPIDefinitions, openapinamer.NewDefinitionNamer(cfg.Scheme))
serverConfig.OpenAPIV3Config.Info.InfoProps = cfg.Info
serverConfig.EffectiveVersion = &effectiveVersion{}

genericServer, err := serverConfig.Complete().New("stash-server", genericapiserver.NewEmptyDelegate()) // completion is done in Complete, no need for a second time
if err != nil {
Expand Down Expand Up @@ -278,3 +281,34 @@ func RenderOpenAPISpec(cfg Config) (string, error) {
}
return string(data), nil
}

type effectiveVersion struct{}

var _ utilversion.EffectiveVersion = &effectiveVersion{}

func (e effectiveVersion) BinaryVersion() *version.Version {
return version.MustParse("v1.32.2")
}

func (e effectiveVersion) EmulationVersion() *version.Version {
return version.MustParse("v1.32.2")
}

func (e effectiveVersion) MinCompatibilityVersion() *version.Version {
return version.MustParse("v1.32.2")
}

func (e effectiveVersion) EqualTo(other utilversion.EffectiveVersion) bool {
// TODO implement me
panic("implement me")
}

func (e effectiveVersion) String() string {
// TODO implement me
panic("implement me")
}

func (e effectiveVersion) Validate() []error {
// TODO implement me
panic("implement me")
}

0 comments on commit 80d02d1

Please sign in to comment.