configurator

package
v0.8.4-rc.1 Latest Latest
Warning

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

Go to latest
Published: May 10, 2021 License: Apache-2.0 Imports: 30 Imported by: 4

Documentation

Overview

Package configurator is a generated GoMock package.

Package configurator implements the Configurator interface that provides APIs to retrieve OSM control plane configurations.

Index

Constants

View Source
const (
	// PermissiveTrafficPolicyModeKey is the key name used for permissive mode in the ConfigMap
	PermissiveTrafficPolicyModeKey = "permissive_traffic_policy_mode"
)
View Source
const (
	// ValidatingWebhookName is the name of the validating webhook used for validating osm-config
	ValidatingWebhookName = "osm-config-webhook.k8s.io"
)

Variables

View Source
var (

	// ValidEnvoyLogLevels is a list of envoy log levels
	ValidEnvoyLogLevels = []string{"trace", "debug", "info", "warning", "warn", "error", "critical", "off"}
)

Functions

func GetBoolValueForKey added in v0.6.0

func GetBoolValueForKey(configMap *v1.ConfigMap, key string) (bool, error)

GetBoolValueForKey returns the boolean value for a key and an error in case of errors

func GetIntValueForKey added in v0.6.0

func GetIntValueForKey(configMap *v1.ConfigMap, key string) (int, error)

GetIntValueForKey returns the integer value for a key and an error in case of errors

func GetStringValueForKey added in v0.6.0

func GetStringValueForKey(configMap *v1.ConfigMap, key string) (string, error)

GetStringValueForKey returns the string value for a key and an error in case of errors

func NewValidatingWebhook added in v0.7.0

func NewValidatingWebhook(kubeClient kubernetes.Interface, certManager certificate.Manager, osmNamespace, webhookConfigName string, stop <-chan struct{}) error

NewValidatingWebhook starts a new web server handling requests from the ValidatingWebhookConfiguration

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is the k8s client struct for the OSM Config.

func (*Client) GetConfigMap

func (c *Client) GetConfigMap() ([]byte, error)

GetConfigMap returns the ConfigMap in pretty JSON.

func (*Client) GetConfigResyncInterval added in v0.8.1

func (c *Client) GetConfigResyncInterval() time.Duration

GetConfigResyncInterval returns the duration for resync interval. If error or non-parsable value, returns 0 duration

func (*Client) GetEnvoyLogLevel added in v0.3.0

func (c *Client) GetEnvoyLogLevel() string

GetEnvoyLogLevel returns the envoy log level

func (*Client) GetInboundExternalAuthConfig added in v0.8.4

func (c *Client) GetInboundExternalAuthConfig() ExternAuthConfig

GetInboundExternalAuthConfig returns the External Authentication configuration for incoming traffic, if any

func (*Client) GetOSMNamespace

func (c *Client) GetOSMNamespace() string

GetOSMNamespace returns the namespace in which the OSM controller pod resides.

func (*Client) GetOutboundIPRangeExclusionList added in v0.7.0

func (c *Client) GetOutboundIPRangeExclusionList() []string

GetOutboundIPRangeExclusionList returns the list of IP ranges of the form x.x.x.x/y to exclude from outbound sidecar interception

func (*Client) GetServiceCertValidityPeriod added in v0.4.2

func (c *Client) GetServiceCertValidityPeriod() time.Duration

GetServiceCertValidityPeriod returns the validity duration for service certificates, and a default in case of invalid duration

func (*Client) GetTracingEndpoint added in v0.4.0

func (c *Client) GetTracingEndpoint() string

GetTracingEndpoint returns the listener's collector endpoint

func (*Client) GetTracingHost added in v0.4.0

func (c *Client) GetTracingHost() string

GetTracingHost is the host to which we send tracing spans

func (*Client) GetTracingPort added in v0.4.0

func (c *Client) GetTracingPort() uint32

GetTracingPort returns the tracing listener port

func (*Client) IsDebugServerEnabled added in v0.4.2

func (c *Client) IsDebugServerEnabled() bool

IsDebugServerEnabled determines whether osm debug HTTP server is enabled

func (*Client) IsEgressEnabled

func (c *Client) IsEgressEnabled() bool

IsEgressEnabled determines whether egress is globally enabled in the mesh or not.

func (*Client) IsPermissiveTrafficPolicyMode

func (c *Client) IsPermissiveTrafficPolicyMode() bool

IsPermissiveTrafficPolicyMode tells us whether the OSM Control Plane is in permissive mode, where all existing traffic is allowed to flow as it is, or it is in SMI Spec mode, in which only traffic between source/destinations referenced in SMI policies is allowed.

func (*Client) IsPrivilegedInitContainer added in v0.8.0

func (c *Client) IsPrivilegedInitContainer() bool

IsPrivilegedInitContainer returns whether init containers should be privileged

func (*Client) IsPrometheusScrapingEnabled

func (c *Client) IsPrometheusScrapingEnabled() bool

IsPrometheusScrapingEnabled determines whether Prometheus is enabled for scraping metrics

func (*Client) IsTracingEnabled added in v0.4.0

func (c *Client) IsTracingEnabled() bool

IsTracingEnabled returns whether tracing is enabled

func (*Client) UseHTTPSIngress

func (c *Client) UseHTTPSIngress() bool

UseHTTPSIngress determines whether traffic between ingress and backend pods should use HTTPS protocol

type Configurator

type Configurator interface {
	// GetOSMNamespace returns the namespace in which OSM controller pod resides
	GetOSMNamespace() string

	// GetConfigMap returns the ConfigMap in pretty JSON (human readable)
	GetConfigMap() ([]byte, error)

	// IsPermissiveTrafficPolicyMode determines whether we are in "allow-all" mode or SMI policy (block by default) mode
	IsPermissiveTrafficPolicyMode() bool

	// IsEgressEnabled determines whether egress is globally enabled in the mesh or not
	IsEgressEnabled() bool

	// IsDebugServerEnabled determines whether osm debug HTTP server is enabled
	IsDebugServerEnabled() bool

	// IsPrometheusScrapingEnabled determines whether Prometheus is enabled for scraping metrics
	IsPrometheusScrapingEnabled() bool

	// IsTracingEnabled returns whether tracing is enabled
	IsTracingEnabled() bool

	// GetTracingHost is the host to which we send tracing spans
	GetTracingHost() string

	// GetTracingPort returns the tracing listener port
	GetTracingPort() uint32

	// GetTracingEndpoint returns the collector endpoint
	GetTracingEndpoint() string

	// UseHTTPSIngress determines whether protocol used for traffic from ingress to backend pods should be HTTPS.
	UseHTTPSIngress() bool

	// GetEnvoyLogLevel returns the envoy log level
	GetEnvoyLogLevel() string

	// GetServiceCertValidityPeriod returns the validity duration for service certificates
	GetServiceCertValidityPeriod() time.Duration

	// GetOutboundIPRangeExclusionList returns the list of IP ranges of the form x.x.x.x/y to exclude from outbound sidecar interception
	GetOutboundIPRangeExclusionList() []string

	// IsPrivilegedInitContainer determines whether init containers should be privileged
	IsPrivilegedInitContainer() bool

	// GetConfigResyncInterval returns the duration for resync interval.
	// If error or non-parsable value, returns 0 duration
	GetConfigResyncInterval() time.Duration

	// GetInboundExternalAuthConfig returns the External Authentication configuration for incoming traffic, if any
	GetInboundExternalAuthConfig() ExternAuthConfig
}

Configurator is the controller interface for K8s namespaces

func NewConfigurator

func NewConfigurator(kubeClient kubernetes.Interface, stop <-chan struct{}, osmNamespace, osmConfigMapName string) Configurator

NewConfigurator implements configurator.Configurator and creates the Kubernetes client to manage namespaces.

type ExternAuthConfig added in v0.8.4

type ExternAuthConfig struct {
	Enable           bool
	Address          string
	Port             uint16
	StatPrefix       string
	AuthzTimeout     time.Duration
	FailureModeAllow bool
}

ExternAuthConfig implements a generic subset of External Authz to configure external authorization in envoy's format

type MockConfigurator added in v0.4.0

type MockConfigurator struct {
	// contains filtered or unexported fields
}

MockConfigurator is a mock of Configurator interface

func NewMockConfigurator added in v0.4.0

func NewMockConfigurator(ctrl *gomock.Controller) *MockConfigurator

NewMockConfigurator creates a new mock instance

func (*MockConfigurator) EXPECT added in v0.4.0

EXPECT returns an object that allows the caller to indicate expected use

func (*MockConfigurator) GetConfigMap added in v0.4.0

func (m *MockConfigurator) GetConfigMap() ([]byte, error)

GetConfigMap mocks base method

func (*MockConfigurator) GetConfigResyncInterval added in v0.8.1

func (m *MockConfigurator) GetConfigResyncInterval() time.Duration

GetConfigResyncInterval mocks base method

func (*MockConfigurator) GetEnvoyLogLevel added in v0.4.0

func (m *MockConfigurator) GetEnvoyLogLevel() string

GetEnvoyLogLevel mocks base method

func (*MockConfigurator) GetInboundExternalAuthConfig added in v0.8.4

func (m *MockConfigurator) GetInboundExternalAuthConfig() ExternAuthConfig

GetInboundExternalAuthConfig mocks base method

func (*MockConfigurator) GetOSMNamespace added in v0.4.0

func (m *MockConfigurator) GetOSMNamespace() string

GetOSMNamespace mocks base method

func (*MockConfigurator) GetOutboundIPRangeExclusionList added in v0.7.0

func (m *MockConfigurator) GetOutboundIPRangeExclusionList() []string

GetOutboundIPRangeExclusionList mocks base method

func (*MockConfigurator) GetServiceCertValidityPeriod added in v0.4.2

func (m *MockConfigurator) GetServiceCertValidityPeriod() time.Duration

GetServiceCertValidityPeriod mocks base method

func (*MockConfigurator) GetTracingEndpoint added in v0.4.0

func (m *MockConfigurator) GetTracingEndpoint() string

GetTracingEndpoint mocks base method

func (*MockConfigurator) GetTracingHost added in v0.4.0

func (m *MockConfigurator) GetTracingHost() string

GetTracingHost mocks base method

func (*MockConfigurator) GetTracingPort added in v0.4.0

func (m *MockConfigurator) GetTracingPort() uint32

GetTracingPort mocks base method

func (*MockConfigurator) IsDebugServerEnabled added in v0.4.2

func (m *MockConfigurator) IsDebugServerEnabled() bool

IsDebugServerEnabled mocks base method

func (*MockConfigurator) IsEgressEnabled added in v0.4.0

func (m *MockConfigurator) IsEgressEnabled() bool

IsEgressEnabled mocks base method

func (*MockConfigurator) IsPermissiveTrafficPolicyMode added in v0.4.0

func (m *MockConfigurator) IsPermissiveTrafficPolicyMode() bool

IsPermissiveTrafficPolicyMode mocks base method

func (*MockConfigurator) IsPrivilegedInitContainer added in v0.8.0

func (m *MockConfigurator) IsPrivilegedInitContainer() bool

IsPrivilegedInitContainer mocks base method

func (*MockConfigurator) IsPrometheusScrapingEnabled added in v0.4.0

func (m *MockConfigurator) IsPrometheusScrapingEnabled() bool

IsPrometheusScrapingEnabled mocks base method

func (*MockConfigurator) IsTracingEnabled added in v0.4.0

func (m *MockConfigurator) IsTracingEnabled() bool

IsTracingEnabled mocks base method

func (*MockConfigurator) UseHTTPSIngress added in v0.4.0

func (m *MockConfigurator) UseHTTPSIngress() bool

UseHTTPSIngress mocks base method

type MockConfiguratorMockRecorder added in v0.4.0

type MockConfiguratorMockRecorder struct {
	// contains filtered or unexported fields
}

MockConfiguratorMockRecorder is the mock recorder for MockConfigurator

func (*MockConfiguratorMockRecorder) GetConfigMap added in v0.4.0

func (mr *MockConfiguratorMockRecorder) GetConfigMap() *gomock.Call

GetConfigMap indicates an expected call of GetConfigMap

func (*MockConfiguratorMockRecorder) GetConfigResyncInterval added in v0.8.1

func (mr *MockConfiguratorMockRecorder) GetConfigResyncInterval() *gomock.Call

GetConfigResyncInterval indicates an expected call of GetConfigResyncInterval

func (*MockConfiguratorMockRecorder) GetEnvoyLogLevel added in v0.4.0

func (mr *MockConfiguratorMockRecorder) GetEnvoyLogLevel() *gomock.Call

GetEnvoyLogLevel indicates an expected call of GetEnvoyLogLevel

func (*MockConfiguratorMockRecorder) GetInboundExternalAuthConfig added in v0.8.4

func (mr *MockConfiguratorMockRecorder) GetInboundExternalAuthConfig() *gomock.Call

GetInboundExternalAuthConfig indicates an expected call of GetInboundExternalAuthConfig

func (*MockConfiguratorMockRecorder) GetOSMNamespace added in v0.4.0

func (mr *MockConfiguratorMockRecorder) GetOSMNamespace() *gomock.Call

GetOSMNamespace indicates an expected call of GetOSMNamespace

func (*MockConfiguratorMockRecorder) GetOutboundIPRangeExclusionList added in v0.7.0

func (mr *MockConfiguratorMockRecorder) GetOutboundIPRangeExclusionList() *gomock.Call

GetOutboundIPRangeExclusionList indicates an expected call of GetOutboundIPRangeExclusionList

func (*MockConfiguratorMockRecorder) GetServiceCertValidityPeriod added in v0.4.2

func (mr *MockConfiguratorMockRecorder) GetServiceCertValidityPeriod() *gomock.Call

GetServiceCertValidityPeriod indicates an expected call of GetServiceCertValidityPeriod

func (*MockConfiguratorMockRecorder) GetTracingEndpoint added in v0.4.0

func (mr *MockConfiguratorMockRecorder) GetTracingEndpoint() *gomock.Call

GetTracingEndpoint indicates an expected call of GetTracingEndpoint

func (*MockConfiguratorMockRecorder) GetTracingHost added in v0.4.0

func (mr *MockConfiguratorMockRecorder) GetTracingHost() *gomock.Call

GetTracingHost indicates an expected call of GetTracingHost

func (*MockConfiguratorMockRecorder) GetTracingPort added in v0.4.0

func (mr *MockConfiguratorMockRecorder) GetTracingPort() *gomock.Call

GetTracingPort indicates an expected call of GetTracingPort

func (*MockConfiguratorMockRecorder) IsDebugServerEnabled added in v0.4.2

func (mr *MockConfiguratorMockRecorder) IsDebugServerEnabled() *gomock.Call

IsDebugServerEnabled indicates an expected call of IsDebugServerEnabled

func (*MockConfiguratorMockRecorder) IsEgressEnabled added in v0.4.0

func (mr *MockConfiguratorMockRecorder) IsEgressEnabled() *gomock.Call

IsEgressEnabled indicates an expected call of IsEgressEnabled

func (*MockConfiguratorMockRecorder) IsPermissiveTrafficPolicyMode added in v0.4.0

func (mr *MockConfiguratorMockRecorder) IsPermissiveTrafficPolicyMode() *gomock.Call

IsPermissiveTrafficPolicyMode indicates an expected call of IsPermissiveTrafficPolicyMode

func (*MockConfiguratorMockRecorder) IsPrivilegedInitContainer added in v0.8.0

func (mr *MockConfiguratorMockRecorder) IsPrivilegedInitContainer() *gomock.Call

IsPrivilegedInitContainer indicates an expected call of IsPrivilegedInitContainer

func (*MockConfiguratorMockRecorder) IsPrometheusScrapingEnabled added in v0.4.0

func (mr *MockConfiguratorMockRecorder) IsPrometheusScrapingEnabled() *gomock.Call

IsPrometheusScrapingEnabled indicates an expected call of IsPrometheusScrapingEnabled

func (*MockConfiguratorMockRecorder) IsTracingEnabled added in v0.4.0

func (mr *MockConfiguratorMockRecorder) IsTracingEnabled() *gomock.Call

IsTracingEnabled indicates an expected call of IsTracingEnabled

func (*MockConfiguratorMockRecorder) UseHTTPSIngress added in v0.4.0

func (mr *MockConfiguratorMockRecorder) UseHTTPSIngress() *gomock.Call

UseHTTPSIngress indicates an expected call of UseHTTPSIngress

Jump to

Keyboard shortcuts

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