8d1b9c4f04
Signed-off-by: Alejandro Mery <amery@jpi.io>
42 lines
809 B
Go
42 lines
809 B
Go
package dns
|
|
|
|
import (
|
|
"context"
|
|
"io/fs"
|
|
"net/netip"
|
|
)
|
|
|
|
// AddHost registers a machine
|
|
func (mgr *Manager) AddHost(_ context.Context, zone string, id int,
|
|
active bool, addrs ...netip.Addr) error {
|
|
//
|
|
if zone == "" || id <= 0 {
|
|
return fs.ErrInvalid
|
|
}
|
|
|
|
z, ok := mgr.zones[zone]
|
|
if !ok {
|
|
z = &Zone{
|
|
Name: zone,
|
|
Machines: make(map[int]*Machine),
|
|
}
|
|
|
|
mgr.zones[zone] = z
|
|
}
|
|
|
|
z.Machines[id] = &Machine{
|
|
ID: id,
|
|
Active: active,
|
|
Addrs: SortAddrSlice(addrs),
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// AddRegion specifies a new region and the zones it contains
|
|
func (mgr *Manager) AddRegion(_ context.Context, region string, zones ...string) error {
|
|
mgr.l.Debug().WithField("region", region).WithField("zones", zones).Print()
|
|
mgr.regions[region] = append(mgr.regions[region], zones...)
|
|
return nil
|
|
}
|