1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
package controlapi
import (
"errors"
"github.com/moby/swarmkit/v2/ca"
"github.com/moby/swarmkit/v2/manager/allocator/networkallocator"
"github.com/moby/swarmkit/v2/manager/drivers"
"github.com/moby/swarmkit/v2/manager/state/raft"
"github.com/moby/swarmkit/v2/manager/state/store"
)
var (
errInvalidArgument = errors.New("invalid argument")
)
// Server is the Cluster API gRPC server.
type Server struct {
store *store.MemoryStore
raft *raft.Node
securityConfig *ca.SecurityConfig
netvalidator networkallocator.DriverValidator
dr *drivers.DriverProvider
}
// NewServer creates a Cluster API server.
func NewServer(store *store.MemoryStore, raft *raft.Node, securityConfig *ca.SecurityConfig, nv networkallocator.DriverValidator, dr *drivers.DriverProvider) *Server {
if nv == nil {
nv = networkallocator.InertProvider{}
}
return &Server{
store: store,
dr: dr,
raft: raft,
securityConfig: securityConfig,
netvalidator: nv,
}
}
|