mirror of
https://github.com/cirruslabs/orchard.git
synced 2026-10-17 20:25:50 +02:00
* 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
45 lines
845 B
Go
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()
|
|
}
|
|
}
|