forked from TrueCloudLab/frostfs-node
[#12] Serve gRPC session service in neofs-node app
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
f5a0e354ef
commit
c378c353d5
4 changed files with 35 additions and 10 deletions
|
@ -9,6 +9,7 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||||
crypto "github.com/nspcc-dev/neofs-crypto"
|
crypto "github.com/nspcc-dev/neofs-crypto"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
||||||
|
tokenStorage "github.com/nspcc-dev/neofs-node/pkg/services/session/storage"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,6 +27,8 @@ type cfg struct {
|
||||||
cfgAccounting cfgAccounting
|
cfgAccounting cfgAccounting
|
||||||
|
|
||||||
cfgContainer cfgContainer
|
cfgContainer cfgContainer
|
||||||
|
|
||||||
|
privateTokenStore *tokenStorage.TokenStore
|
||||||
}
|
}
|
||||||
|
|
||||||
type cfgGRPC struct {
|
type cfgGRPC struct {
|
||||||
|
|
|
@ -7,13 +7,10 @@ import (
|
||||||
|
|
||||||
containerGRPC "github.com/nspcc-dev/neofs-api-go/v2/container"
|
containerGRPC "github.com/nspcc-dev/neofs-api-go/v2/container"
|
||||||
objectGRPC "github.com/nspcc-dev/neofs-api-go/v2/object"
|
objectGRPC "github.com/nspcc-dev/neofs-api-go/v2/object"
|
||||||
"github.com/nspcc-dev/neofs-api-go/v2/session"
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
type sessionSvc struct{}
|
|
||||||
|
|
||||||
type containerSvc struct{}
|
type containerSvc struct{}
|
||||||
|
|
||||||
type objectSvc struct{}
|
type objectSvc struct{}
|
||||||
|
@ -22,10 +19,6 @@ func unimplementedErr(srv, call string) error {
|
||||||
return errors.Errorf("unimplemented API service call %s.%s", srv, call)
|
return errors.Errorf("unimplemented API service call %s.%s", srv, call)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *sessionSvc) Create(context.Context, *session.CreateRequest) (*session.CreateResponse, error) {
|
|
||||||
return nil, unimplementedErr("Session", "Create")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *containerSvc) Put(context.Context, *containerGRPC.PutRequest) (*containerGRPC.PutResponse, error) {
|
func (s *containerSvc) Put(context.Context, *containerGRPC.PutRequest) (*containerGRPC.PutResponse, error) {
|
||||||
return nil, unimplementedErr("Container", "Put")
|
return nil, unimplementedErr("Container", "Put")
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,7 @@ import (
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
object "github.com/nspcc-dev/neofs-api-go/v2/object/grpc"
|
object "github.com/nspcc-dev/neofs-api-go/v2/object/grpc"
|
||||||
session "github.com/nspcc-dev/neofs-api-go/v2/session/grpc"
|
|
||||||
objectGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/object/grpc"
|
objectGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/object/grpc"
|
||||||
sessionGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/session/grpc"
|
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/util/grace"
|
"github.com/nspcc-dev/neofs-node/pkg/util/grace"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -36,8 +34,8 @@ func init_(c *cfg) {
|
||||||
|
|
||||||
initAccountingService(c)
|
initAccountingService(c)
|
||||||
initContainerService(c)
|
initContainerService(c)
|
||||||
|
initSessionService(c)
|
||||||
|
|
||||||
session.RegisterSessionServiceServer(c.cfgGRPC.server, sessionGRPC.New(new(sessionSvc)))
|
|
||||||
object.RegisterObjectServiceServer(c.cfgGRPC.server, objectGRPC.New(new(objectSvc)))
|
object.RegisterObjectServiceServer(c.cfgGRPC.server, objectGRPC.New(new(objectSvc)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
31
cmd/neofs-node/session.go
Normal file
31
cmd/neofs-node/session.go
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/nspcc-dev/neofs-api-go/v2/session"
|
||||||
|
sessionGRPC "github.com/nspcc-dev/neofs-api-go/v2/session/grpc"
|
||||||
|
sessionTransportGRPC "github.com/nspcc-dev/neofs-node/pkg/network/transport/session/grpc"
|
||||||
|
sessionSvc "github.com/nspcc-dev/neofs-node/pkg/services/session"
|
||||||
|
"github.com/nspcc-dev/neofs-node/pkg/services/session/storage"
|
||||||
|
)
|
||||||
|
|
||||||
|
func initSessionService(c *cfg) {
|
||||||
|
c.privateTokenStore = storage.New()
|
||||||
|
|
||||||
|
metaHdr := new(session.ResponseMetaHeader)
|
||||||
|
xHdr := new(session.XHeader)
|
||||||
|
xHdr.SetKey("test X-Header key")
|
||||||
|
xHdr.SetValue("test X-Header value")
|
||||||
|
metaHdr.SetXHeaders([]*session.XHeader{xHdr})
|
||||||
|
|
||||||
|
sessionGRPC.RegisterSessionServiceServer(c.cfgGRPC.server,
|
||||||
|
sessionTransportGRPC.New(
|
||||||
|
sessionSvc.NewSignService(
|
||||||
|
c.key,
|
||||||
|
sessionSvc.NewExecutionService(
|
||||||
|
c.privateTokenStore,
|
||||||
|
metaHdr,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
Loading…
Reference in a new issue