Documentation ¶
Index ¶
- func GetControllerConfig(st *state.State) (controller.Config, error)
- func Manifold(config ManifoldConfig) dependency.Manifold
- func NewTLSConfig(st *state.State, getCertificate func() *tls.Certificate) (*tls.Config, error)
- func NewWorkerShim(config Config) (worker.Worker, error)
- type Config
- type ManifoldConfig
- type Worker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetControllerConfig ¶
func GetControllerConfig(st *state.State) (controller.Config, error)
GetControllerConfig gets the controller config from a *State - it exists so we can test the manifold without a StateSuite.
func Manifold ¶
func Manifold(config ManifoldConfig) dependency.Manifold
Manifold returns a dependency.Manifold that will run an HTTP server worker. The manifold outputs an *apiserverhttp.Mux, for other workers to register handlers against.
func NewTLSConfig ¶
NewTLSConfig returns the TLS configuration for the HTTP server to use based on controller configuration stored in the state database.
func NewWorkerShim ¶
NewWorkerShim calls through to NewWorker, and exists only to adapt to the signature of ManifoldConfig.NewWorker.
Types ¶
type Config ¶
type Config struct { AgentName string Clock clock.Clock TLSConfig *tls.Config Mux *apiserverhttp.Mux MuxShutdownWait time.Duration LogDir string PrometheusRegisterer prometheus.Registerer Hub *pubsub.StructuredHub APIPort int APIPortOpenDelay time.Duration ControllerAPIPort int }
Config is the configuration required for running an API server worker.
type ManifoldConfig ¶
type ManifoldConfig struct { CertWatcherName string HubName string MuxName string StateName string // We don't use these in the worker, but we want to prevent the // httpserver from starting until they're running so that all of // their handlers are registered. RaftTransportName string APIServerName string AgentName string Clock clock.Clock MuxShutdownWait time.Duration LogDir string PrometheusRegisterer prometheus.Registerer GetControllerConfig func(*state.State) (controller.Config, error) NewTLSConfig func(*state.State, func() *tls.Certificate) (*tls.Config, error) NewWorker func(Config) (worker.Worker, error) }
ManifoldConfig holds the information necessary to run an HTTP server in a dependency.Engine.
func (ManifoldConfig) Validate ¶
func (config ManifoldConfig) Validate() error
Validate validates the manifold configuration.
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
func (*Worker) URL ¶
URL returns the base URL of the HTTP server of the form https://ipaddr:port with no trailing slash.