edgerouter

package
v1.1.14 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultHeartbeatIntervalSeconds   = 60
	MinHeartbeatIntervalSeconds       = 10
	MaxHeartbeatIntervalSeconds       = 60
	DefaultSessionValidateChunkSize   = 1000
	DefaultSessionValidateMinInterval = "250ms"
	DefaultSessionValidateMaxInterval = "1500ms"

	FlagsCfgMapKey = "@flags"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiProxy

type ApiProxy struct {
	Enabled  bool
	Listener string
	Upstream string
}

type Config

type Config struct {
	FilePath                   string
	Enabled                    bool
	ApiProxy                   ApiProxy
	EdgeListeners              []*edge_ctrl_pb.Listener
	Csr                        Csr
	HeartbeatIntervalSeconds   int
	SessionValidateChunkSize   uint32
	SessionValidateMinInterval time.Duration
	SessionValidateMaxInterval time.Duration
	Tcfg                       transport.Configuration
	ForceExtendEnrollment      bool

	RouterConfig             *router.Config
	EnrollmentIdentityConfig *identity.Config

	Db             string
	DbSaveInterval time.Duration
}

func NewConfig

func NewConfig(routerConfig *router.Config) *Config

func (*Config) LoadConfig

func (config *Config) LoadConfig(configMap map[interface{}]interface{}) error

func (*Config) LoadConfigFromMap

func (config *Config) LoadConfigFromMap(configMap map[interface{}]interface{}) error

func (*Config) LoadConfigFromMapForEnrollment

func (config *Config) LoadConfigFromMapForEnrollment(cfgmap map[interface{}]interface{}) interface{}

LoadConfigFromMapForEnrollment loads a minimal subset of the router configuration to allow for enrollment. This process should be used to load edge enabled routers as well as non-edge routers.

type Csr

type Csr struct {
	Sans               *Sans  `yaml:"sans"`
	Country            string `yaml:"country"`
	Locality           string `yaml:"locality"`
	Organization       string `yaml:"organization"`
	OrganizationalUnit string `yaml:"organizationalUnit"`
	Province           string `yaml:"province"`
}

type Memory

type Memory struct {
	Path     string        `yaml:"path"`
	Interval time.Duration `yaml:"intervalMs"`
}

type Sans

type Sans struct {
	DnsAddresses       []string `yaml:"dns" mapstructure:"dns"`
	IpAddresses        []string `yaml:"ip" mapstructure:"ip"`
	IpAddressesParsed  []net.IP
	EmailAddresses     []string `yaml:"email" mapstructure:"email"`
	UriAddresses       []string `yaml:"uri" mapstructure:"uri"`
	UriAddressesParsed []*url.URL
}

Jump to

Keyboard shortcuts

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