Documentation ¶
Index ¶
Constants ¶
const ( MetricsNamespace = "netscale" MetricsSubsystem = "orchestration" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Ingress *ingress.Ingress WarpRouting ingress.WarpRoutingConfig // Extra settings used to configure this instance but that are not eligible for remotely management // ie. (--protocol, --loglevel, ...) ConfigurationFlags map[string]string }
Config is the original config as read and parsed by netscale.
type Orchestrator ¶
type Orchestrator struct {
// contains filtered or unexported fields
}
Orchestrator manages configurations so they can be updatable during runtime properties are static, so it can be read without lock currentVersion and config are read/write infrequently, so their access are synchronized with RWMutex access to proxy is synchronized with atmoic.Value, because it uses copy-on-write to provide scalable frequently read when update is infrequent
func NewOrchestrator ¶
func (*Orchestrator) GetConfigJSON ¶
func (o *Orchestrator) GetConfigJSON() ([]byte, error)
GetConfigJSON returns the current json serialization of the config as the edge understands it
func (*Orchestrator) GetOriginProxy ¶
func (o *Orchestrator) GetOriginProxy() (connection.OriginProxy, error)
GetOriginProxy returns an interface to proxy to origin. It satisfies connection.ConfigManager interface
func (*Orchestrator) GetVersionedConfigJSON ¶
func (o *Orchestrator) GetVersionedConfigJSON() ([]byte, error)
GetVersionedConfigJSON returns the current version and configuration as JSON
func (*Orchestrator) UpdateConfig ¶
func (o *Orchestrator) UpdateConfig(version int32, config []byte) *tunnelpogs.UpdateConfigurationResponse
UpdateConfig creates a new proxy with the new ingress rules