-
Notifications
You must be signed in to change notification settings - Fork 0
/
builder_misc.go
43 lines (38 loc) · 1.37 KB
/
builder_misc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package builder
import (
"github.com/henderiw/apiserver-builder/pkg/cmd/apiserverbuilder"
"k8s.io/apiextensions-apiserver/pkg/apiserver"
"k8s.io/apiserver/pkg/endpoints/openapi"
"k8s.io/apiserver/pkg/server"
openapicommon "k8s.io/kube-openapi/pkg/common"
)
func (r *Server) WithOpenAPIDefinitions(
name, version string,
defs openapicommon.GetOpenAPIDefinitions) *Server {
// set both openAPI definitions
apiserverbuilder.RecommendedConfigFns = append(apiserverbuilder.RecommendedConfigFns, func(config *server.RecommendedConfig) *server.RecommendedConfig {
config.OpenAPIConfig = server.DefaultOpenAPIConfig(defs, openapi.NewDefinitionNamer(apiserver.Scheme))
config.OpenAPIConfig.Info.Title = name
config.OpenAPIConfig.Info.Version = version
config.OpenAPIV3Config = server.DefaultOpenAPIConfig(defs, openapi.NewDefinitionNamer(apiserver.Scheme))
config.OpenAPIV3Config.Info.Title = name
config.OpenAPIV3Config.Info.Version = version
return config
})
return r
}
// WithoutEtcd removes etcd related settings from apiserver.
func (r *Server) WithoutEtcd() *Server {
return r.WithOptionsFns(func(o *ServerOptions) *ServerOptions {
o.RecommendedOptions.Etcd = nil
return o
})
}
func (r *Server) WithServerName(serverName string) *Server {
r.ServerName = serverName
return r
}
func (r *Server) WithEtcdPath(etcdPath string) *Server {
r.EtcdPath = etcdPath
return r
}