15
15
package apiserver
16
16
17
17
import (
18
+ "fmt"
19
+ "github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/apiserver/generic"
20
+ "github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/version"
18
21
"strings"
19
22
23
+ apimachineryversion "k8s.io/apimachinery/pkg/util/version"
20
24
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
21
25
genericapiserver "k8s.io/apiserver/pkg/server"
22
26
"k8s.io/client-go/informers"
23
- utilversion "k8s.io/component-base/version "
27
+ compatversion "k8s.io/component-base/compatibility "
24
28
25
- "github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/apiserver/generic"
26
29
generatedopenapi "github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/client/openapi"
27
- "github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/version"
28
30
)
29
31
30
32
// Config contains configuration for launching an instance of package-server.
@@ -40,7 +42,17 @@ type completedConfig struct {
40
42
41
43
// Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.
42
44
func (c * Config ) Complete (informers informers.SharedInformerFactory ) completedConfig {
43
- c .GenericConfig .EffectiveVersion = utilversion .NewEffectiveVersion (version .VersionInfo ().String ())
45
+ binVer , err := apimachineryversion .ParseSemantic (version .VersionInfo ().String ())
46
+ if err != nil {
47
+ panic (fmt .Errorf ("invalid version string: %w" , err ))
48
+ }
49
+
50
+ c .GenericConfig .EffectiveVersion = compatversion .NewEffectiveVersion (
51
+ binVer ,
52
+ false ,
53
+ nil ,
54
+ nil ,
55
+ )
44
56
45
57
// enable OpenAPI schemas
46
58
c .GenericConfig .OpenAPIConfig = genericapiserver .DefaultOpenAPIConfig (generatedopenapi .GetOpenAPIDefinitions , openapinamer .NewDefinitionNamer (generic .Scheme ))
0 commit comments