bootstrap

package
v0.0.0-...-fe632b3 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2020 License: Apache-2.0 Imports: 66 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ConfigMapKey should match the expected MeshConfig file name
	ConfigMapKey = "mesh"

	// DefaultMCPMaxMsgSize is the default maximum message size
	DefaultMCPMaxMsgSize = 1024 * 1024 * 4
)

Variables

View Source
var (
	// FilepathWalkInterval dictates how often the file system is walked for config
	FilepathWalkInterval = 100 * time.Millisecond

	// PilotCertDir is the default location for mTLS certificates used by pilot
	// Visible for tests - at runtime can be set by PILOT_CERT_DIR environment variable.
	PilotCertDir = "/etc/certs/"

	// DefaultPlugins is the default list of plugins to enable, when no plugin(s)
	// is specified through the command line
	DefaultPlugins = []string{
		plugin.Authn,
		plugin.Authz,
		plugin.Health,
		plugin.Mixer,
	}
)

Functions

func GetMeshConfig

func GetMeshConfig(kube kubernetes.Interface, namespace, name string) (*v1.ConfigMap, *meshconfig.MeshConfig, error)

GetMeshConfig fetches the ProxyMesh configuration from Kubernetes ConfigMap.

Types

type ConfigArgs

type ConfigArgs struct {
	ClusterRegistriesNamespace string
	KubeConfig                 string
	ControllerOptions          kube.ControllerOptions
	FileDir                    string
	DisableInstallCRDs         bool

	// Controller if specified, this controller overrides the other config settings.
	Controller model.ConfigStoreCache
}

ConfigArgs provide configuration options for the configuration controller. If FileDir is set, that directory will be monitored for CRD yaml files and will update the controller as those files change (This is used for testing purposes). Otherwise, a CRD client is created based on the configuration.

type ConsulArgs

type ConsulArgs struct {
	Config    string
	ServerURL string
	Interval  time.Duration
}

ConsulArgs provides configuration for the Consul service registry.

type MeshArgs

type MeshArgs struct {
	ConfigFile      string
	MixerAddress    string
	RdsRefreshDelay *types.Duration
}

MeshArgs provide configuration options for the mesh. If ConfigFile is provided, an attempt will be made to load the mesh from the file. Otherwise, a default mesh will be used with optional overrides.

type PilotArgs

type PilotArgs struct {
	DiscoveryOptions     envoy.DiscoveryServiceOptions
	Namespace            string
	Mesh                 MeshArgs
	Config               ConfigArgs
	Service              ServiceArgs
	MeshConfig           *meshconfig.MeshConfig
	NetworksConfigFile   string
	CtrlZOptions         *ctrlz.Options
	Plugins              []string
	MCPServerAddrs       []string
	MCPCredentialOptions *creds.Options
	MCPMaxMessageSize    int
	KeepaliveOptions     *istiokeepalive.Options
	// ForceStop is set as true when used for testing to make the server stop quickly
	ForceStop bool
}

PilotArgs provides all of the configuration parameters for the Pilot discovery service.

type Server

type Server struct {
	HTTPListeningAddr       net.Addr
	GRPCListeningAddr       net.Addr
	SecureGRPCListeningAddr net.Addr
	MonitorListeningAddr    net.Addr

	// TODO(nmittler): Consider alternatives to exposing these directly
	EnvoyXdsServer    *envoyv2.DiscoveryServer
	ServiceController *aggregate.Controller
	// contains filtered or unexported fields
}

Server contains the runtime configuration for the Pilot discovery service.

func NewServer

func NewServer(args PilotArgs) (*Server, error)

NewServer creates a new Server instance based on the provided arguments.

func (*Server) Start

func (s *Server) Start(stop <-chan struct{}) error

Start starts all components of the Pilot discovery service on the port specified in DiscoveryServiceOptions. If Port == 0, a port number is automatically chosen. Content serving is started by this method, but is executed asynchronously. Serving can be canceled at any time by closing the provided stop channel.

type ServiceArgs

type ServiceArgs struct {
	Registries []string
	Consul     ConsulArgs
}

ServiceArgs provides the composite configuration for all service registries in the system.

Jump to

Keyboard shortcuts

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