config

package
v0.0.27 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewConfigMapProvider added in v0.0.11

func NewConfigMapProvider(cfg *rest.Config, obj client.ObjectKey) koanf.Provider

NewConfigMapProvider returns a new configmap provider.

Types

type Config

type Config struct {
	// Manager is the configuration for the controller manager.
	Manager ManagerConfig `koanf:"manager"`
	// Storage is the configuration for the storage provider.
	Storage StorageConfig `koanf:"storage"`
	// Host is the configuration for the host webmesh node.
	Host host.Config `koanf:"host"`
}

Config is the configuration for the the webmesh-cni controllers.

func NewDefaultConfig added in v0.0.8

func NewDefaultConfig() Config

NewDefaultConfig returns a new default configuration for the webmesh-cni controllers.

func (*Config) BindFlags

func (c *Config) BindFlags(fs *pflag.FlagSet)

func (*Config) Validate

func (c *Config) Validate() error

type ConfigMapProvider added in v0.0.11

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

ConfigMapProvider is a provider for koanf that reads in configurations from the given config map.

func (*ConfigMapProvider) Read added in v0.0.11

func (c *ConfigMapProvider) Read() (map[string]any, error)

Read returns the parsed configuration as a nested map[string]interface{}. It is important to note that the string keys should not be flat delimited keys like `parent.child.key`, but nested like `{parent: {child: {key: 1}}}`.

func (*ConfigMapProvider) ReadBytes added in v0.0.11

func (c *ConfigMapProvider) ReadBytes() ([]byte, error)

Read returns the entire configuration as raw []bytes to be parsed. with a Parser.

type ManagerConfig

type ManagerConfig struct {
	// RemoteEndpointDetection enables remote endpoint detection for peer containers.
	RemoteEndpointDetection bool `koanf:"remote-endpoint-detection"`
	// MetricsAddress is the address to bind the metrics server to.
	MetricsAddress string `koanf:"metrics-address"`
	// ProbeAddress is the address to bind the health probe server to.
	ProbeAddress string `koanf:"probe-address"`
	// ReconcileTimeout is the timeout for reconciling a container's interface.
	ReconcileTimeout time.Duration `koanf:"reconcile-timeout"`
	// MaxConcurrentReconciles is the maximum number of concurrent reconciles.
	// Most of the reconcilers take exclusive locks, so this will only apply
	// to reconcilers as a whole.
	MaxConcurrentReconciles int `koanf:"max-concurrent-reconciles"`
	// ShutdownTimeout is the timeout for shutting down the node.
	ShutdownTimeout time.Duration `koanf:"shutdown-timeout"`
	// ClusterDNSSelector is the selector used for trying to find pods that provide DNS
	// for the cluster.
	ClusterDNSSelector map[string]string `koanf:"cluster-dns-selector,omitempty"`
	// ClusterDNSNamespace is the namespace to search for cluster DNS pods.
	ClusterDNSNamespace string `koanf:"cluster-dns-namespace,omitempty"`
	// ClusterDNSPortSelector is the name of the port assumed to be the DNS port.
	ClusterDNSPortSelector string `koanf:"cluster-dns-port-selector,omitempty"`
	// EnableMetadataServer enables a metadata server on the node that containers
	// can use to query information about themselves.
	EnableMetadataServer bool `koanf:"enable-metadata-server"`
	// MetadataAddress is the address to bind the metadata server to.
	MetadataAddress string `koanf:"metadata-address"`
	// EnableMetadataIDTokens enables ID token endpoints on the metadata server
	// for helping facilitate authentication between containers.
	EnableMetadataIDTokens bool `koanf:"enable-metadata-id-tokens"`
}

ManagerConfig is the configuration for the controller manager.

func (*ManagerConfig) BindFlags

func (c *ManagerConfig) BindFlags(prefix string, fs *pflag.FlagSet)

func (*ManagerConfig) Validate

func (c *ManagerConfig) Validate() error

type StorageConfig

type StorageConfig struct {
	// LeaderElectionLeaseDuration is the duration that non-leader candidates
	// will wait to force acquire leadership.
	LeaderElectLeaseDuration time.Duration `koanf:"leader-elect-lease-duration"`
	// LeaderElectRenewDeadline is the duration that the acting master will retry
	// refreshing leadership before giving up.
	LeaderElectRenewDeadline time.Duration `koanf:"leader-elect-renew-deadline"`
	// LeaderElectRetryPeriod is the duration the LeaderElector clients should wait
	// between tries of actions.
	LeaderElectRetryPeriod time.Duration `koanf:"leader-elect-retry-period"`
	// CacheSyncTimeout is the amount of time to wait for the client cache to sync
	// before starting the controller.
	CacheSyncTimeout time.Duration `koanf:"cache-sync-timeout"`
}

StorageConfig is the configuration for the storage provider.

func (*StorageConfig) BindFlags

func (c *StorageConfig) BindFlags(prefix string, fs *pflag.FlagSet)

Jump to

Keyboard shortcuts

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