Documentation ¶
Overview ¶
The config package contains structures related to the configuration of an Yggdrasil node.
The configuration contains, amongst other things, encryption keys which are used to derive a node's identity, information about peerings and node information that is shared with the network. There are also some module-specific options related to TUN, multicast and the admin socket.
In order for a node to maintain the same identity across restarts, you should persist the configuration onto the filesystem or into some configuration storage so that the encryption keys (and therefore the node ID) do not change.
Note that Yggdrasil will automatically populate sane defaults for any configuration option that is not provided.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MulticastInterfaceConfig ¶ added in v0.4.0
type NodeConfig ¶
type NodeConfig struct { Peers []string `` /* 286-byte string literal not displayed */ InterfacePeers map[string][]string `` /* 267-byte string literal not displayed */ Listen []string `` /* 343-byte string literal not displayed */ AdminListen string `` /* 263-byte string literal not displayed */ MulticastInterfaces []MulticastInterfaceConfig `` /* 602-byte string literal not displayed */ AllowedPublicKeys []string `` /* 256-byte string literal not displayed */ PublicKey string `comment:"Your public key. Your peers may ask you for this to put\ninto their AllowedPublicKeys configuration."` PrivateKey string `comment:"Your private key. DO NOT share this with anyone!"` IfName string `` /* 138-byte string literal not displayed */ IfMTU uint64 `` /* 170-byte string literal not displayed */ NodeInfoPrivacy bool `` /* 314-byte string literal not displayed */ NodeInfo map[string]interface{} `` /* 177-byte string literal not displayed */ }
NodeConfig is the main configuration structure, containing configuration options that are necessary for an Yggdrasil node to run. You will need to supply one of these structs to the Yggdrasil core when starting a node.
func (*NodeConfig) NewKeys ¶ added in v0.4.0
func (cfg *NodeConfig) NewKeys()
NewSigningKeys replaces the signing keypair in the NodeConfig with a new signing keypair. The signing keys are used by the switch to derive the structure of the spanning tree.