Files
orchard/internal/controller/option.go
T
Nikolay Edigaryev cb39836ee0 Resources support (#63)
* Resources support

* Ability to provide VM and worker resources via the CLI

* orchard dev: always listen on :6120

* orchard dev: support --resources

* REST API: provide resource defaults when creating VM

* OpenAPI: document "resources" field

* orchard dev: serve Swagger API documentation on /v1/

* Integration guide
2023-03-27 17:30:54 +04:00

45 lines
845 B
Go

package controller
import (
"crypto/tls"
"go.uber.org/zap"
)
type Option func(*Controller)
func WithDataDir(dataDir *DataDir) Option {
return func(controller *Controller) {
controller.dataDir = dataDir
}
}
func WithListenAddr(listenAddr string) Option {
return func(controller *Controller) {
controller.listenAddr = listenAddr
}
}
func WithTLSConfig(tlsConfig *tls.Config) Option {
return func(controller *Controller) {
controller.tlsConfig = tlsConfig
}
}
func WithInsecureAuthDisabled() Option {
return func(controller *Controller) {
controller.insecureAuthDisabled = true
}
}
func WithSwaggerDocs() Option {
return func(controller *Controller) {
controller.enableSwaggerDocs = true
}
}
func WithLogger(logger *zap.Logger) Option {
return func(controller *Controller) {
controller.logger = logger.Sugar()
}
}