f-21: code: add default interface

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
GnomeZworc 2026-04-21 21:38:46 +02:00
commit 7dd795f4aa
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632
3 changed files with 7 additions and 3 deletions

View file

@ -1,6 +1,8 @@
database:
path: "/var/lib/two/data/"
default_interface: br-000000
interfaces:
vms: br-000000
internet: br-000000

View file

@ -20,7 +20,8 @@ type Config struct {
Count int `mapstructure:"count"`
BufferSize int `mapstructure:"buffer_size"`
} `mapstructure:"worker"`
Interfaces map[string]string `mapstructure:"interfaces"`
DefaultInterface string `mapstructure:"default_interface"`
Interfaces map[string]string `mapstructure:"interfaces"`
}
func LoadConfig(path string) (*Config, error) {
@ -35,6 +36,7 @@ func LoadConfig(path string) (*Config, error) {
v.SetDefault("prometheus.port", 9090)
v.SetDefault("worker.count", 4)
v.SetDefault("worker.buffer_size", 100)
v.SetDefault("default_interface", "br-000000")
v.ReadInConfig()

View file

@ -23,7 +23,7 @@ type CreateSubnetCommand struct {
func (c CreateSubnetCommand) Execute(db *badger.DB, cfg *configuration.Config) error {
localIface, ok := cfg.Interfaces[c.IfaceType]
if !ok {
return fmt.Errorf("unknown iface_type %q: not found in config", c.IfaceType)
localIface = cfg.DefaultInterface
}
kv.AddInDB(db, "subnet/"+c.Name+"/state", "creating")
kv.AddInDB(db, "subnet/"+c.Name+"/vpc", c.VPC)