Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultConfig = func() Config { return Config{ Environment: core.UniversalEnvironment, Mode: core.Standalone, Store: store.DefaultStoreConfig(), XdsServer: xds.DefaultXdsServerConfig(), MonitoringAssignmentServer: mads.DefaultMonitoringAssignmentServerConfig(), ApiServer: api_server.DefaultApiServerConfig(), BootstrapServer: bootstrap.DefaultBootstrapServerConfig(), Runtime: runtime.DefaultRuntimeConfig(), Defaults: &Defaults{ SkipMeshCreation: false, }, Metrics: &Metrics{ Dataplane: &DataplaneMetrics{ SubscriptionLimit: 2, IdleTimeout: 5 * time.Minute, }, Zone: &ZoneMetrics{ SubscriptionLimit: 10, IdleTimeout: 5 * time.Minute, }, Mesh: &MeshMetrics{ MinResyncTimeout: 1 * time.Second, MaxResyncTimeout: 20 * time.Second, }, }, Reports: &Reports{ Enabled: false, }, General: DefaultGeneralConfig(), GuiServer: gui_server.DefaultGuiServerConfig(), DNSServer: dns_server.DefaultDNSServerConfig(), Multizone: multizone.DefaultMultizoneConfig(), Diagnostics: diagnostics.DefaultDiagnosticsConfig(), DpServer: dp_server.DefaultDpServerConfig(), Access: access.DefaultAccessConfig(), Experimental: ExperimentalConfig{ MeshGateway: false, }, } }
Functions ¶
func PrintDeprecations ¶ added in v1.8.1
Types ¶
type Config ¶
type Config struct { // General configuration General *GeneralConfig `yaml:"general,omitempty"` // Environment Type, can be either "kubernetes" or "universal" Environment core.EnvironmentType `yaml:"environment,omitempty" envconfig:"kuma_environment"` // Mode Mode core.CpMode `yaml:"mode" envconfig:"kuma_mode"` // Resource Store configuration Store *store.StoreConfig `yaml:"store,omitempty"` // Configuration of Bootstrap Server, which provides bootstrap config to Dataplanes BootstrapServer *bootstrap.BootstrapServerConfig `yaml:"bootstrapServer,omitempty"` // Envoy XDS server configuration XdsServer *xds.XdsServerConfig `yaml:"xdsServer,omitempty"` // Monitoring Assignment Discovery Service (MADS) server configuration MonitoringAssignmentServer *mads.MonitoringAssignmentServerConfig `yaml:"monitoringAssignmentServer,omitempty"` // API Server configuration ApiServer *api_server.ApiServerConfig `yaml:"apiServer,omitempty"` // Environment-specific configuration Runtime *runtime.RuntimeConfig // Default Kuma entities configuration Defaults *Defaults `yaml:"defaults,omitempty"` // Metrics configuration Metrics *Metrics `yaml:"metrics,omitempty"` // Reports configuration Reports *Reports `yaml:"reports,omitempty"` // GUI Server Config GuiServer *gui_server.GuiServerConfig `yaml:"guiServer,omitempty"` // Multizone Config Multizone *multizone.MultizoneConfig `yaml:"multizone,omitempty"` // DNS Server Config DNSServer *dns_server.DNSServerConfig `yaml:"dnsServer,omitempty"` // Diagnostics configuration Diagnostics *diagnostics.DiagnosticsConfig `yaml:"diagnostics,omitempty"` // Dataplane Server configuration DpServer *dp_server.DpServerConfig `yaml:"dpServer"` // Access Control configuration Access access.AccessConfig `yaml:"access"` // Configuration of experimental features Experimental ExperimentalConfig `yaml:"experimental"` }
func (Config) GetEnvoyAdminPort ¶ added in v1.8.1
type DataplaneMetrics ¶
type DataplaneMetrics struct { SubscriptionLimit int `yaml:"subscriptionLimit" envconfig:"kuma_metrics_dataplane_subscription_limit"` IdleTimeout time.Duration `yaml:"idleTimeout" envconfig:"kuma_metrics_dataplane_idle_timeout"` }
func (*DataplaneMetrics) Sanitize ¶
func (d *DataplaneMetrics) Sanitize()
func (*DataplaneMetrics) Validate ¶
func (d *DataplaneMetrics) Validate() error
type Defaults ¶
type Defaults struct {
SkipMeshCreation bool `yaml:"skipMeshCreation" envconfig:"kuma_defaults_skip_mesh_creation"`
}
type ExperimentalConfig ¶ added in v1.8.1
type ExperimentalConfig struct { // If true, experimental built-in gateway is enabled. MeshGateway bool `yaml:"gateway" envconfig:"KUMA_EXPERIMENTAL_MESHGATEWAY"` }
type GeneralConfig ¶
type GeneralConfig struct { // DNSCacheTTL represents duration for how long Kuma CP will cache result of resolving dataplane's domain name DNSCacheTTL time.Duration `yaml:"dnsCacheTTL" envconfig:"kuma_general_dns_cache_ttl"` // TlsCertFile defines a path to a file with PEM-encoded TLS cert that will be used across all the Kuma Servers. TlsCertFile string `yaml:"tlsCertFile" envconfig:"kuma_general_tls_cert_file"` // TlsKeyFile defines a path to a file with PEM-encoded TLS key that will be used across all the Kuma Servers. TlsKeyFile string `yaml:"tlsKeyFile" envconfig:"kuma_general_tls_key_file"` // WorkDir defines a path to the working directory WorkDir string `yaml:"workDir" envconfig:"kuma_general_work_dir"` }
func DefaultGeneralConfig ¶
func DefaultGeneralConfig() *GeneralConfig
func (*GeneralConfig) Sanitize ¶
func (g *GeneralConfig) Sanitize()
func (*GeneralConfig) Validate ¶
func (g *GeneralConfig) Validate() error
type MeshMetrics ¶
type MeshMetrics struct { // MinResyncTimeout is a minimal time that should pass between MeshInsight resync MinResyncTimeout time.Duration `yaml:"minResyncTimeout" envconfig:"kuma_metrics_mesh_min_resync_timeout"` // MaxResyncTimeout is a maximum time that MeshInsight could spend without resync MaxResyncTimeout time.Duration `yaml:"maxResyncTimeout" envconfig:"kuma_metrics_mesh_max_resync_timeout"` }
func (*MeshMetrics) Sanitize ¶
func (d *MeshMetrics) Sanitize()
func (*MeshMetrics) Validate ¶
func (d *MeshMetrics) Validate() error
type Metrics ¶
type Metrics struct { Dataplane *DataplaneMetrics `yaml:"dataplane"` Zone *ZoneMetrics `yaml:"zone"` Mesh *MeshMetrics `yaml:"mesh"` }
type Reports ¶
type Reports struct { // If true then usage stats will be reported Enabled bool `yaml:"enabled" envconfig:"kuma_reports_enabled"` }
type ZoneMetrics ¶
type ZoneMetrics struct { SubscriptionLimit int `yaml:"subscriptionLimit" envconfig:"kuma_metrics_zone_subscription_limit"` IdleTimeout time.Duration `yaml:"idleTimeout" envconfig:"kuma_metrics_zone_idle_timeout"` }
func (*ZoneMetrics) Sanitize ¶
func (d *ZoneMetrics) Sanitize()
func (*ZoneMetrics) Validate ¶
func (d *ZoneMetrics) Validate() error
Click to show internal directories.
Click to hide internal directories.