Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GlobalConfig ¶
type GlobalConfig struct { // KDS Configuration KDS *KdsServerConfig `yaml:"kds,omitempty"` }
Global configuration
func DefaultGlobalConfig ¶
func DefaultGlobalConfig() *GlobalConfig
func (*GlobalConfig) Sanitize ¶
func (g *GlobalConfig) Sanitize()
func (*GlobalConfig) Validate ¶
func (g *GlobalConfig) Validate() error
type KdsClientConfig ¶
type KdsClientConfig struct { // Interval for refreshing state of the world RefreshInterval time.Duration `yaml:"refreshInterval" envconfig:"kuma_multizone_zone_kds_refresh_interval"` // RootCAFile defines a path to a file with PEM-encoded Root CA. Client will verify the server by using it. RootCAFile string `yaml:"rootCaFile" envconfig:"kuma_multizone_zone_kds_root_ca_file"` // MaxMsgSize defines a maximum size of the message that is exchanged using KDS. // In practice this means a limit on full list of one resource type. MaxMsgSize uint32 `yaml:"maxMsgSize" envconfig:"kuma_multizone_zone_kds_max_msg_size"` }
func (KdsClientConfig) Sanitize ¶
func (k KdsClientConfig) Sanitize()
func (KdsClientConfig) Validate ¶
func (k KdsClientConfig) Validate() error
type KdsServerConfig ¶
type KdsServerConfig struct { // Port of a gRPC server that serves Kuma Discovery Service (KDS). GrpcPort uint32 `yaml:"grpcPort" envconfig:"kuma_multizone_global_kds_grpc_port"` // Interval for refreshing state of the world RefreshInterval time.Duration `yaml:"refreshInterval" envconfig:"kuma_multizone_global_kds_refresh_interval"` // Interval for flushing Zone Insights (stats of multi-zone communication) ZoneInsightFlushInterval time.Duration `yaml:"zoneInsightFlushInterval" envconfig:"kuma_multizone_global_kds_zone_insight_flush_interval"` // TlsCertFile defines a path to a file with PEM-encoded TLS cert. TlsCertFile string `yaml:"tlsCertFile" envconfig:"kuma_multizone_global_kds_tls_cert_file"` // TlsKeyFile defines a path to a file with PEM-encoded TLS key. TlsKeyFile string `yaml:"tlsKeyFile" envconfig:"kuma_multizone_global_kds_tls_key_file"` // MaxMsgSize defines a maximum size of the message that is exchanged using KDS. // In practice this means a limit on full list of one resource type. MaxMsgSize uint32 `yaml:"maxMsgSize" envconfig:"kuma_multizone_global_kds_max_msg_size"` }
func (*KdsServerConfig) Sanitize ¶
func (c *KdsServerConfig) Sanitize()
func (*KdsServerConfig) Validate ¶
func (c *KdsServerConfig) Validate() (errs error)
type MultizoneConfig ¶
type MultizoneConfig struct { Global *GlobalConfig `yaml:"global,omitempty"` Zone *ZoneConfig `yaml:"zone,omitempty"` }
Multizone configuration
func DefaultMultizoneConfig ¶
func DefaultMultizoneConfig() *MultizoneConfig
func (*MultizoneConfig) Sanitize ¶
func (m *MultizoneConfig) Sanitize()
func (*MultizoneConfig) Validate ¶
func (m *MultizoneConfig) Validate() error
type ZoneConfig ¶
type ZoneConfig struct { // Kuma Zone name used to mark the zone dataplane resources Name string `yaml:"name,omitempty" envconfig:"kuma_multizone_zone_name"` // GlobalAddress URL of Global Kuma CP GlobalAddress string `yaml:"globalAddress,omitempty" envconfig:"kuma_multizone_zone_global_address"` // KDS Configuration KDS *KdsClientConfig `yaml:"kds,omitempty"` }
Zone configuration
func DefaultZoneConfig ¶
func DefaultZoneConfig() *ZoneConfig
func (*ZoneConfig) Sanitize ¶
func (r *ZoneConfig) Sanitize()
func (*ZoneConfig) Validate ¶
func (r *ZoneConfig) Validate() error
Click to show internal directories.
Click to hide internal directories.