mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
grpc: register BuildKit controller to /grpc
Signed-off-by: Tibor Vass <tibor@docker.com>
This commit is contained in:
parent
e8382ece65
commit
05c5d20a2c
3 changed files with 25 additions and 0 deletions
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/docker/docker/pkg/stringid"
|
"github.com/docker/docker/pkg/stringid"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/sync/errgroup"
|
"golang.org/x/sync/errgroup"
|
||||||
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ImageComponent provides an interface for working with images
|
// ImageComponent provides an interface for working with images
|
||||||
|
@ -40,6 +41,13 @@ func NewBackend(components ImageComponent, builder Builder, fsCache *fscache.FSC
|
||||||
return &Backend{imageComponent: components, builder: builder, fsCache: fsCache, buildkit: buildkit}, nil
|
return &Backend{imageComponent: components, builder: builder, fsCache: fsCache, buildkit: buildkit}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RegisterGRPC registers buildkit controller to the grpc server.
|
||||||
|
func (b *Backend) RegisterGRPC(s *grpc.Server) {
|
||||||
|
if b.buildkit != nil {
|
||||||
|
b.buildkit.RegisterGRPC(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Build builds an image from a Source
|
// Build builds an image from a Source
|
||||||
func (b *Backend) Build(ctx context.Context, config backend.BuildConfig) (string, error) {
|
func (b *Backend) Build(ctx context.Context, config backend.BuildConfig) (string, error) {
|
||||||
options := config.Options
|
options := config.Options
|
||||||
|
|
|
@ -31,6 +31,7 @@ import (
|
||||||
"github.com/moby/buildkit/util/tracing"
|
"github.com/moby/buildkit/util/tracing"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/sync/errgroup"
|
"golang.org/x/sync/errgroup"
|
||||||
|
"google.golang.org/grpc"
|
||||||
grpcmetadata "google.golang.org/grpc/metadata"
|
grpcmetadata "google.golang.org/grpc/metadata"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -104,6 +105,11 @@ func New(opt Opt) (*Builder, error) {
|
||||||
return b, nil
|
return b, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RegisterGRPC registers controller to the grpc server.
|
||||||
|
func (b *Builder) RegisterGRPC(s *grpc.Server) {
|
||||||
|
b.controller.Register(s)
|
||||||
|
}
|
||||||
|
|
||||||
// Cancel cancels a build using ID
|
// Cancel cancels a build using ID
|
||||||
func (b *Builder) Cancel(ctx context.Context, id string) error {
|
func (b *Builder) Cancel(ctx context.Context, id string) error {
|
||||||
b.mu.Lock()
|
b.mu.Lock()
|
||||||
|
|
|
@ -21,6 +21,7 @@ import (
|
||||||
checkpointrouter "github.com/docker/docker/api/server/router/checkpoint"
|
checkpointrouter "github.com/docker/docker/api/server/router/checkpoint"
|
||||||
"github.com/docker/docker/api/server/router/container"
|
"github.com/docker/docker/api/server/router/container"
|
||||||
distributionrouter "github.com/docker/docker/api/server/router/distribution"
|
distributionrouter "github.com/docker/docker/api/server/router/distribution"
|
||||||
|
grpcrouter "github.com/docker/docker/api/server/router/grpc"
|
||||||
"github.com/docker/docker/api/server/router/image"
|
"github.com/docker/docker/api/server/router/image"
|
||||||
"github.com/docker/docker/api/server/router/network"
|
"github.com/docker/docker/api/server/router/network"
|
||||||
pluginrouter "github.com/docker/docker/api/server/router/plugin"
|
pluginrouter "github.com/docker/docker/api/server/router/plugin"
|
||||||
|
@ -481,6 +482,16 @@ func initRouter(opts routerOptions) {
|
||||||
distributionrouter.NewRouter(opts.daemon.ImageService()),
|
distributionrouter.NewRouter(opts.daemon.ImageService()),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
grpcBackends := []grpcrouter.Backend{}
|
||||||
|
for _, b := range []interface{}{opts.daemon, opts.buildBackend} {
|
||||||
|
if b, ok := b.(grpcrouter.Backend); ok {
|
||||||
|
grpcBackends = append(grpcBackends, b)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(grpcBackends) > 0 {
|
||||||
|
routers = append(routers, grpcrouter.NewRouter(grpcBackends...))
|
||||||
|
}
|
||||||
|
|
||||||
if opts.daemon.NetworkControllerEnabled() {
|
if opts.daemon.NetworkControllerEnabled() {
|
||||||
routers = append(routers, network.NewRouter(opts.daemon, opts.cluster))
|
routers = append(routers, network.NewRouter(opts.daemon, opts.cluster))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue