migrated to external IP allocator
This commit is contained in:
parent
8672452033
commit
e2449b425e
15 changed files with 478 additions and 194 deletions
|
|
@ -7,12 +7,13 @@ import (
|
|||
"net/http"
|
||||
"time"
|
||||
|
||||
"git.giftfish.de/ston1th/haproxy-lb/pkg/alloc"
|
||||
"git.giftfish.de/ston1th/haproxy-lb/pkg/api/types"
|
||||
serverv1 "git.giftfish.de/ston1th/haproxy-lb/pkg/api/v1/server"
|
||||
"git.giftfish.de/ston1th/haproxy-lb/pkg/config"
|
||||
"git.giftfish.de/ston1th/haproxy-lb/pkg/db"
|
||||
|
||||
"git.giftfish.de/ston1th/netalloc"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/gorilla/mux"
|
||||
)
|
||||
|
|
@ -23,9 +24,8 @@ type Server struct {
|
|||
mux *mux.Router
|
||||
log logr.Logger
|
||||
|
||||
Data *types.ContextData
|
||||
cidrs []string
|
||||
gw string
|
||||
Data *types.ContextData
|
||||
cidr string
|
||||
|
||||
init chan struct{}
|
||||
stop chan struct{}
|
||||
|
|
@ -46,11 +46,10 @@ func (nf *notFoundHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
// NewHTTPServer returns a new HTTPServer
|
||||
func NewServer(c *config.Config, log logr.Logger) (*Server, error) {
|
||||
s := &Server{
|
||||
mux: mux.NewRouter(),
|
||||
log: log,
|
||||
cidrs: c.VIP.VirtualIPs,
|
||||
gw: c.VIP.Gateway,
|
||||
Data: &types.ContextData{},
|
||||
mux: mux.NewRouter(),
|
||||
log: log,
|
||||
cidr: c.VIP.Prefix,
|
||||
Data: &types.ContextData{},
|
||||
|
||||
init: make(chan struct{}),
|
||||
stop: make(chan struct{}),
|
||||
|
|
@ -107,15 +106,15 @@ func NewServer(c *config.Config, log logr.Logger) (*Server, error) {
|
|||
|
||||
func (s *Server) UpdateDB(db *db.DB) error {
|
||||
s.Data.DB = db
|
||||
if s.Data.Alloc == nil {
|
||||
alloc, err := alloc.NewAlloc(db, s.cidrs, s.gw)
|
||||
if s.Data.Net == nil {
|
||||
na, err := netalloc.NewGenericAlloc(db, s.cidr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
s.Data.Alloc = alloc
|
||||
s.Data.Net = na
|
||||
close(s.init)
|
||||
} else {
|
||||
s.Data.Alloc.UpdateDB(db)
|
||||
s.Data.Net.SetStore(db)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue