mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 03:05:07 +03:00 
			
		
		
		
	move GenerateConfig to defaults, to adjust dependency ordering, needed for stuff later
This commit is contained in:
		
							parent
							
								
									2db46c1250
								
							
						
					
					
						commit
						2a7a53b6b6
					
				
					 3 changed files with 26 additions and 31 deletions
				
			
		| 
						 | 
				
			
			@ -20,8 +20,6 @@ import (
 | 
			
		|||
	"crypto/ed25519"
 | 
			
		||||
	"encoding/hex"
 | 
			
		||||
	"sync"
 | 
			
		||||
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/defaults"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NodeConfig is the main configuration structure, containing configuration
 | 
			
		||||
| 
						 | 
				
			
			@ -44,32 +42,6 @@ type NodeConfig struct {
 | 
			
		|||
	NodeInfo            map[string]interface{} `comment:"Optional node info. This must be a { \"key\": \"value\", ... } map\nor set as null. This is entirely optional but, if set, is visible\nto the whole network on request."`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Generates default configuration and returns a pointer to the resulting
 | 
			
		||||
// NodeConfig. This is used when outputting the -genconf parameter and also when
 | 
			
		||||
// using -autoconf.
 | 
			
		||||
func GenerateConfig() *NodeConfig {
 | 
			
		||||
	// Generate encryption keys.
 | 
			
		||||
	spub, spriv, err := ed25519.GenerateKey(nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	// Create a node configuration and populate it.
 | 
			
		||||
	cfg := NodeConfig{}
 | 
			
		||||
	cfg.Listen = []string{}
 | 
			
		||||
	cfg.AdminListen = defaults.GetDefaults().DefaultAdminListen
 | 
			
		||||
	cfg.PublicKey = hex.EncodeToString(spub[:])
 | 
			
		||||
	cfg.PrivateKey = hex.EncodeToString(spriv[:])
 | 
			
		||||
	cfg.Peers = []string{}
 | 
			
		||||
	cfg.InterfacePeers = map[string][]string{}
 | 
			
		||||
	cfg.AllowedPublicKeys = []string{}
 | 
			
		||||
	cfg.MulticastInterfaces = defaults.GetDefaults().DefaultMulticastInterfaces
 | 
			
		||||
	cfg.IfName = defaults.GetDefaults().DefaultIfName
 | 
			
		||||
	cfg.IfMTU = defaults.GetDefaults().DefaultIfMTU
 | 
			
		||||
	cfg.NodeInfoPrivacy = false
 | 
			
		||||
 | 
			
		||||
	return &cfg
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
package defaults
 | 
			
		||||
 | 
			
		||||
import "github.com/yggdrasil-network/yggdrasil-go/src/config"
 | 
			
		||||
 | 
			
		||||
// Defines which parameters are expected by default for configuration on a
 | 
			
		||||
// specific platform. These values are populated in the relevant defaults_*.go
 | 
			
		||||
// for the platform being targeted. They must be set.
 | 
			
		||||
| 
						 | 
				
			
			@ -18,3 +20,23 @@ type platformDefaultParameters struct {
 | 
			
		|||
	DefaultIfMTU  uint64
 | 
			
		||||
	DefaultIfName string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Generates default configuration and returns a pointer to the resulting
 | 
			
		||||
// NodeConfig. This is used when outputting the -genconf parameter and also when
 | 
			
		||||
// using -autoconf.
 | 
			
		||||
func GenerateConfig() *config.NodeConfig {
 | 
			
		||||
	// Create a node configuration and populate it.
 | 
			
		||||
	cfg := new(config.NodeConfig)
 | 
			
		||||
	cfg.NewKeys()
 | 
			
		||||
	cfg.Listen = []string{}
 | 
			
		||||
	cfg.AdminListen = GetDefaults().DefaultAdminListen
 | 
			
		||||
	cfg.Peers = []string{}
 | 
			
		||||
	cfg.InterfacePeers = map[string][]string{}
 | 
			
		||||
	cfg.AllowedPublicKeys = []string{}
 | 
			
		||||
	cfg.MulticastInterfaces = GetDefaults().DefaultMulticastInterfaces
 | 
			
		||||
	cfg.IfName = GetDefaults().DefaultIfName
 | 
			
		||||
	cfg.IfMTU = GetDefaults().DefaultIfMTU
 | 
			
		||||
	cfg.NodeInfoPrivacy = false
 | 
			
		||||
 | 
			
		||||
	return cfg
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue