-
Notifications
You must be signed in to change notification settings - Fork 8
/
builder_misc.go
49 lines (43 loc) · 1.68 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
44
45
46
47
48
49
package builder
import (
"io"
"github.com/tilt-dev/tilt-apiserver/pkg/server/apiserver"
"github.com/tilt-dev/tilt-apiserver/pkg/server/start"
openapicommon "k8s.io/kube-openapi/pkg/common"
)
// WithBindPort registers a default port to serve on.
// This port can still be overidden with flags.
func (a *Server) WithBindPort(port int) *Server {
a.serving.BindPort = port
return a
}
// WithConnProvider registers a provider of connections.
//
// If this is set, the server will use this listener and dialer instead of a network host/port.
//
// Mostly useful for testing.
func (a *Server) WithConnProvider(connProvider apiserver.ConnProvider) *Server {
a.connProvider = connProvider
return a
}
// WithOpenAPIDefinitions registers resource OpenAPI definitions generated by openapi-gen.
//
// export K8sAPIS=k8s.io/apimachinery/pkg/api/resource,\
// k8s.io/apimachinery/pkg/apis/meta/v1,\
// k8s.io/apimachinery/pkg/runtime,\
// k8s.io/apimachinery/pkg/version
// export MY_APIS=my-go-pkg/pkg/apis/my-group/my-version
// export OPENAPI=my-go-pkg/pkg/generated/openapi
// openapi-gen --input-dirs $K8SAPIS,$MY_APIS --output-package $OPENAPI \
// -O zz_generated.openapi --output-base ../../.. --go-header-file ./hack/boilerplate.go.txt
func (a *Server) WithOpenAPIDefinitions(
name, version string, openAPI openapicommon.GetOpenAPIDefinitions) *Server {
a.recommendedConfigFns = append(a.recommendedConfigFns, start.SetOpenAPIDefinitionFn(a.scheme, name, version, openAPI))
return a
}
// WithOutputWriter redirects output from both stdout and stderr to a custom writer.
func (a *Server) WithOutputWriter(out io.Writer) *Server {
a.stdout = out
a.stderr = out
return a
}