From cb14c05e74406228ab484abacf3d319aae2f2b02 Mon Sep 17 00:00:00 2001 From: Djordje Lukic Date: Tue, 26 May 2020 10:27:18 +0200 Subject: [PATCH] Move the context server into own package It had notthing to do in the cli package --- cli/cmd/serve.go | 27 +++------------------------ server/contexts.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 server/contexts.go diff --git a/cli/cmd/serve.go b/cli/cmd/serve.go index 35fb60da7..6058ac174 100644 --- a/cli/cmd/serve.go +++ b/cli/cmd/serve.go @@ -5,14 +5,12 @@ import ( "github.com/pkg/errors" "github.com/sirupsen/logrus" + "github.com/spf13/cobra" - "github.com/docker/api/context/store" containersv1 "github.com/docker/api/protos/containers/v1" contextsv1 "github.com/docker/api/protos/contexts/v1" "github.com/docker/api/server" "github.com/docker/api/server/proxy" - - "github.com/spf13/cobra" ) type serveOpts struct { @@ -47,9 +45,10 @@ func runServe(ctx context.Context, opts serveOpts) error { defer listener.Close() p := proxy.NewContainerAPI() + contextsService := server.NewContexts() containersv1.RegisterContainersServer(s, p) - contextsv1.RegisterContextsServer(s, &cliServer{}) + contextsv1.RegisterContextsServer(s, contextsService) go func() { <-ctx.Done() @@ -62,23 +61,3 @@ func runServe(ctx context.Context, opts serveOpts) error { // start the GRPC server to serve on the listener return s.Serve(listener) } - -type cliServer struct { -} - -func (cs *cliServer) List(ctx context.Context, request *contextsv1.ListRequest) (*contextsv1.ListResponse, error) { - s := store.ContextStore(ctx) - contexts, err := s.List() - if err != nil { - logrus.Error(err) - return &contextsv1.ListResponse{}, err - } - result := &contextsv1.ListResponse{} - for _, c := range contexts { - result.Contexts = append(result.Contexts, &contextsv1.Context{ - Name: c.Name, - ContextType: c.Type, - }) - } - return result, nil -} diff --git a/server/contexts.go b/server/contexts.go new file mode 100644 index 000000000..2c6e88d86 --- /dev/null +++ b/server/contexts.go @@ -0,0 +1,35 @@ +package server + +import ( + "context" + + "github.com/docker/api/context/store" + contextsv1 "github.com/docker/api/protos/contexts/v1" +) + +type cliServer struct { +} + +// NewContexts returns a contexts server +func NewContexts() contextsv1.ContextsServer { + return &cliServer{} +} + +func (cs *cliServer) List(ctx context.Context, request *contextsv1.ListRequest) (*contextsv1.ListResponse, error) { + s := store.ContextStore(ctx) + contexts, err := s.List() + if err != nil { + return &contextsv1.ListResponse{}, err + } + + result := &contextsv1.ListResponse{} + + for _, c := range contexts { + result.Contexts = append(result.Contexts, &contextsv1.Context{ + Name: c.Name, + ContextType: c.Type, + }) + } + + return result, nil +}