kuma_cp

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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"`
	// Envoy SDS server configuration
	SdsServer *sds.SdsServerConfig `yaml:"sdsServer,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"`
}

func DefaultConfig

func DefaultConfig() Config

func (*Config) Sanitize

func (c *Config) Sanitize()

func (*Config) Validate

func (c *Config) Validate() error

type DataplaneMetrics

type DataplaneMetrics struct {
	Enabled           bool `yaml:"enabled" envconfig:"kuma_metrics_dataplane_enabled"`
	SubscriptionLimit int  `yaml:"subscriptionLimit" envconfig:"kuma_metrics_dataplane_subscription_limit"`
}

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"`
}

func (*Defaults) Sanitize

func (d *Defaults) Sanitize()

func (*Defaults) Validate

func (d *Defaults) Validate() error

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"`
}

func (*Metrics) Sanitize

func (m *Metrics) Sanitize()

func (*Metrics) Validate

func (m *Metrics) Validate() error

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 {
	Enabled           bool `yaml:"enabled" envconfig:"kuma_metrics_zone_enabled"`
	SubscriptionLimit int  `yaml:"subscriptionLimit" envconfig:"kuma_metrics_zone_subscription_limit"`
}

func (*ZoneMetrics) Sanitize

func (d *ZoneMetrics) Sanitize()

func (*ZoneMetrics) Validate

func (d *ZoneMetrics) Validate() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL