Documentation ¶
Index ¶
- Constants
- Variables
- func GetMixerSAN(domain, ns string) []string
- func GetPilotSAN(domain, ns string) []string
- func NewProxy(config meshconfig.ProxyConfig, node string, logLevel string, pilotSAN []string) proxy.Proxy
- type CertSource
- type DiscoveryService
- func (ds *DiscoveryService) AvailabilityZone(request *restful.Request, response *restful.Response)
- func (ds *DiscoveryService) ClearCache()
- func (ds *DiscoveryService) ClearCacheStats(_ *restful.Request, _ *restful.Response)
- func (ds *DiscoveryService) GetCacheStats(_ *restful.Request, response *restful.Response)
- func (ds *DiscoveryService) ListAllEndpoints(_ *restful.Request, response *restful.Response)
- func (ds *DiscoveryService) Register(container *restful.Container)
- type DiscoveryServiceOptions
- type Watcher
Constants ¶
const ( ServiceCluster = "service-cluster" ServiceNode = "service-node" )
Request parameters for discovery services
const (
// EpochFileTemplate is a template for the root config JSON
EpochFileTemplate = "envoy-rev%d.json"
)
const ( // MaxClusterNameLength is the maximum cluster name length MaxClusterNameLength = 189 // TODO: use MeshConfig.StatNameLength instead )
Variables ¶
var ( // V2ClearCache is a function to be called when the v1 cache is cleared. This is used to // avoid adding a circular dependency from v1 to v2. V2ClearCache func() )
Functions ¶
func GetMixerSAN ¶
GetMixerSAN returns the SAN used for mixer mTLS
func GetPilotSAN ¶
GetPilotSAN returns the SAN used for pilot mTLS
func NewProxy ¶
func NewProxy(config meshconfig.ProxyConfig, node string, logLevel string, pilotSAN []string) proxy.Proxy
NewProxy creates an instance of the proxy control commands
Types ¶
type CertSource ¶
type CertSource struct { // Directory containing certificates Directory string // Files for certificates Files []string }
CertSource is file source for certificates
type DiscoveryService ¶
type DiscoveryService struct { model.Environment RestContainer *restful.Container // contains filtered or unexported fields }
DiscoveryService publishes services, clusters, and routes for all proxies
func NewDiscoveryService ¶
func NewDiscoveryService(ctl model.Controller, configCache model.ConfigStoreCache, environment model.Environment, o DiscoveryServiceOptions) (*DiscoveryService, error)
NewDiscoveryService creates an Envoy discovery service on a given port
func (*DiscoveryService) AvailabilityZone ¶
func (ds *DiscoveryService) AvailabilityZone(request *restful.Request, response *restful.Response)
AvailabilityZone responds to requests for an AZ for the given cluster node
func (*DiscoveryService) ClearCache ¶
func (ds *DiscoveryService) ClearCache()
ClearCache is wrapper for clearCache method, used when new controller gets instantiated dynamically
func (*DiscoveryService) ClearCacheStats ¶
func (ds *DiscoveryService) ClearCacheStats(_ *restful.Request, _ *restful.Response)
ClearCacheStats clear the statistics for cached discovery responses.
func (*DiscoveryService) GetCacheStats ¶
func (ds *DiscoveryService) GetCacheStats(_ *restful.Request, response *restful.Response)
GetCacheStats returns the statistics for cached discovery responses.
func (*DiscoveryService) ListAllEndpoints ¶
func (ds *DiscoveryService) ListAllEndpoints(_ *restful.Request, response *restful.Response)
ListAllEndpoints responds with all Services and is not restricted to a single service-key
func (*DiscoveryService) Register ¶
func (ds *DiscoveryService) Register(container *restful.Container)
Register adds routes a web service container. This is visible for testing purposes only.
type DiscoveryServiceOptions ¶
type DiscoveryServiceOptions struct { // The listening address for HTTP. If the port in the address is empty or "0" (as in "127.0.0.1:" or "[::1]:0") // a port number is automatically chosen. HTTPAddr string // The listening address for GRPC. If the port in the address is empty or "0" (as in "127.0.0.1:" or "[::1]:0") // a port number is automatically chosen. GrpcAddr string // The listening address for secure GRPC. If the port in the address is empty or "0" (as in "127.0.0.1:" or "[::1]:0") // a port number is automatically chosen. SecureGrpcAddr string // The listening address for the monitoring port. If the port in the address is empty or "0" (as in "127.0.0.1:" or "[::1]:0") // a port number is automatically chosen. MonitoringAddr string EnableProfiling bool EnableCaching bool WebhookEndpoint string }
DiscoveryServiceOptions contains options for create a new discovery service instance.
type Watcher ¶
type Watcher interface { // Run the watcher loop (blocking call) Run(context.Context) // Reload the agent with the latest configuration Reload() }
Watcher triggers reloads on changes to the proxy config
func NewWatcher ¶
func NewWatcher(config meshconfig.ProxyConfig, agent proxy.Agent, role model.Proxy, certs []CertSource, pilotSAN []string) Watcher
NewWatcher creates a new watcher instance from a proxy agent and a set of monitored certificate paths (directories with files in them)