/
server.go
38 lines (33 loc) · 1 KB
/
server.go
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,
}
}