Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Proxy ¶
type Proxy interface { Update(addresses []string) SetAPIServerPort(port int, isIPv6 bool) error SetSupervisorDefault(address string) IsSupervisorLBEnabled() bool SupervisorURL() string SupervisorAddresses() []string APIServerURL() string IsAPIServerLBEnabled() bool SetHealthCheck(address string, healthCheck func() bool) }
func NewSupervisorProxy ¶
func NewSupervisorProxy(ctx context.Context, lbEnabled bool, dataDir, supervisorURL string, lbServerPort int, isIPv6 bool) (Proxy, error)
NewSupervisorProxy sets up a new proxy for retrieving supervisor and apiserver addresses. If lbEnabled is true, a load-balancer is started on the requested port to connect to the supervisor address, and the address of this local load-balancer is returned instead of the actual supervisor and apiserver addresses. NOTE: This is a proxy in the API sense - it returns either actual server URLs, or the URL of the local load-balancer. It is not actually responsible for proxying requests at the network level; this is handled by the load-balancers that the proxy optionally steers connections towards.
Click to show internal directories.
Click to hide internal directories.