Documentation ¶
Overview ¶
Package config describes the configuration of the beacon server.
Index ¶
Constants ¶
View Source
const ( // DefaultOriginationInterval is the default interval between originating // beacons in a core BS. DefaultOriginationInterval = 5 * time.Second // DefaultPropagationInterval is the default interval between propagating beacons. DefaultPropagationInterval = 5 * time.Second // DefaultRegistrationInterval is the default interval between registering segments. DefaultRegistrationInterval = 5 * time.Second // DefaultQueryInterval is the default interval after which the segment // cache expires. DefaultQueryInterval = 5 * time.Minute // DefaultMaxASValidity is the default validity period for renewed AS certificates. DefaultMaxASValidity = 3 * 24 * time.Hour )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BSConfig ¶
type BSConfig struct { // OriginationInterval is the interval between originating beacons in a core BS. OriginationInterval util.DurWrap `toml:"origination_interval,omitempty"` // PropagationInterval is the interval between propagating beacons. PropagationInterval util.DurWrap `toml:"propagation_interval,omitempty"` // RegistrationInterval is the interval between registering segments. RegistrationInterval util.DurWrap `toml:"registration_interval,omitempty"` // Policies contains the policy files. Policies Policies `toml:"policies,omitempty"` // EPIC specifies whether the EPIC authenticators should be added to the beacons. EPIC bool `toml:"epic,omitempty" default:"false"` }
BSConfig holds the configuration specific to the beacon server.
func (*BSConfig) ConfigName ¶
ConfigName is the toml key for the beacon server specific configuration.
func (*BSConfig) InitDefaults ¶
func (cfg *BSConfig) InitDefaults()
InitDefaults the default values for the durations that are equal to zero.
type CA ¶ added in v0.6.0
type CA struct { // MaxASValidity is the maximum AS certificate lifetime. MaxASValidity util.DurWrap `toml:"max_as_validity,omitempty"` // Mode defines whether the Control Service should handle certificate // issuance requests on its own, or whether to delegate handling to a // dedicated Certificate Authority. If it is the empty string, the // in-process mode is selected as the default. Mode CAMode `toml:"mode,omitempty"` // Service contains details about CA functionality delegation. Service CAService `toml:"service,omitempty"` }
CA is the CA configuration.
func (*CA) ConfigName ¶ added in v0.6.0
func (*CA) InitDefaults ¶ added in v0.7.0
func (cfg *CA) InitDefaults()
type CAService ¶ added in v0.7.0
type CAService struct { // create JWT tokens. SharedSecret string `toml:"shared_secret,omitempty"` // Address of the CA Service that handles the delegated certificate renewal requests. Address string `toml:"addr,omitempty"` // Lifetime contains the validity period of self-generated JWT authorization tokens. The format // is a Go duration. If not set, the application default is used instead (see the sample for // the value). Lifetime util.DurWrap `toml:"lifetime,omitempty"` // ClientID is the client identification string that should be used in self-generated JWT // authorization tokens. If not set, the SCION ID is used instead. ClientID string `toml:"client_id,omitempty"` }
CAService contains details about CA functionality delegation.
func (*CAService) ConfigName ¶ added in v0.7.0
func (*CAService) InitDefault ¶ added in v0.7.0
func (cfg *CAService) InitDefault()
type Config ¶
type Config struct { General env.General `toml:"general,omitempty"` Features env.Features `toml:"features,omitempty"` Logging log.Config `toml:"log,omitempty"` Metrics env.Metrics `toml:"metrics,omitempty"` API api.Config `toml:"api,omitempty"` Tracing env.Tracing `toml:"tracing,omitempty"` QUIC env.QUIC `toml:"quic,omitempty"` BeaconDB storage.DBConfig `toml:"beacon_db,omitempty"` TrustDB storage.DBConfig `toml:"trust_db,omitempty"` PathDB storage.DBConfig `toml:"path_db,omitempty"` BS BSConfig `toml:"beaconing,omitempty"` PS PSConfig `toml:"path,omitempty"` CA CA `toml:"ca,omitempty"` TrustEngine trustengine.Config `toml:"trustengine,omitempty"` }
Config is the control server configuration.
func (*Config) InitDefaults ¶
func (cfg *Config) InitDefaults()
InitDefaults initializes the default values for all parts of the config.
type PSConfig ¶
type PSConfig struct { // QueryInterval specifies after how much time segments // for a destination should be refetched. QueryInterval util.DurWrap `toml:"query_interval,omitempty"` // HiddenPathsCfg specifies the file name of the hidden path configuration. // If HiddenPathsCfg begins with http:// or https://, it will be fetched // over the network from the specified URL instead. HiddenPathsCfg string `toml:"hidden_paths_cfg,omitempty"` }
func (*PSConfig) ConfigName ¶
func (*PSConfig) InitDefaults ¶
func (cfg *PSConfig) InitDefaults()
type Policies ¶
type Policies struct { config.NoDefaulter config.NoValidator // Propagation contains the file path for the propagation policy. If this // is the empty string, the default policy is used. Propagation string `toml:"propagation,omitempty"` // CoreRegistration contains the file path for the core registration // policy. If this is the empty string, the default policy is used. In a // non-core beacon server, this field is ignored. CoreRegistration string `toml:"core_registration,omitempty"` // UpRegistration contains the file path for the up registration policy. If // this is the empty string, the default policy is used. In a core beacon // server, this field is ignored. UpRegistration string `toml:"up_registration,omitempty"` // DownRegistration contains the file path for the down registration policy. // If this is the empty string, the default policy is used. In a core beacon // server, this field is ignored. DownRegistration string `toml:"down_registration,omitempty"` }
Policies contains the file paths of the policies.
func (*Policies) ConfigName ¶
ConfigName is the toml key for the beacon server specific configuration.
Click to show internal directories.
Click to hide internal directories.