mirror of
https://github.com/docker/compose.git
synced 2025-07-25 22:54:54 +02:00
Also move client => api/client
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
This commit is contained in:
parent
d06aa2827f
commit
64a28f6636
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/compose-spec/compose-go/cli"
|
"github.com/compose-spec/compose-go/cli"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
func convertCommand() *cobra.Command {
|
func convertCommand() *cobra.Command {
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/progress"
|
"github.com/docker/compose-cli/progress"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
func listCommand() *cobra.Command {
|
func listCommand() *cobra.Command {
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
func logsCommand() *cobra.Command {
|
func logsCommand() *cobra.Command {
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
func psCommand() *cobra.Command {
|
func psCommand() *cobra.Command {
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/progress"
|
"github.com/docker/compose-cli/progress"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/aci"
|
"github.com/docker/compose-cli/aci"
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/context/store"
|
"github.com/docker/compose-cli/context/store"
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
)
|
)
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/context/store"
|
"github.com/docker/compose-cli/context/store"
|
||||||
"github.com/docker/compose-cli/ecs"
|
"github.com/docker/compose-cli/ecs"
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
|
@ -26,8 +26,8 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/api/containers"
|
"github.com/docker/compose-cli/api/containers"
|
||||||
"github.com/docker/compose-cli/client"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type execOpts struct {
|
type execOpts struct {
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/formatter"
|
"github.com/docker/compose-cli/formatter"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/go-multierror"
|
"github.com/hashicorp/go-multierror"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,8 +26,8 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/cli/mobycli"
|
"github.com/docker/compose-cli/cli/mobycli"
|
||||||
"github.com/docker/compose-cli/client"
|
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/api/containers"
|
"github.com/docker/compose-cli/api/containers"
|
||||||
"github.com/docker/compose-cli/client"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type logsOpts struct {
|
type logsOpts struct {
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
formatter2 "github.com/docker/compose-cli/formatter"
|
formatter2 "github.com/docker/compose-cli/formatter"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/api/containers"
|
"github.com/docker/compose-cli/api/containers"
|
||||||
"github.com/docker/compose-cli/client"
|
|
||||||
"github.com/docker/compose-cli/errdefs"
|
"github.com/docker/compose-cli/errdefs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -27,8 +27,8 @@ import (
|
|||||||
|
|
||||||
"github.com/docker/compose-cli/api/containers"
|
"github.com/docker/compose-cli/api/containers"
|
||||||
|
|
||||||
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/cli/options/run"
|
"github.com/docker/compose-cli/cli/options/run"
|
||||||
"github.com/docker/compose-cli/client"
|
|
||||||
"github.com/docker/compose-cli/progress"
|
"github.com/docker/compose-cli/progress"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/api/secrets"
|
"github.com/docker/compose-cli/api/secrets"
|
||||||
"github.com/docker/compose-cli/client"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type createSecretOptions struct {
|
type createSecretOptions struct {
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/go-multierror"
|
"github.com/hashicorp/go-multierror"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StartCommand starts containers
|
// StartCommand starts containers
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/go-multierror"
|
"github.com/hashicorp/go-multierror"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
type stopOpts struct {
|
type stopOpts struct {
|
||||||
|
@ -1,88 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2020 Docker, Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"github.com/docker/compose-cli/api/compose"
|
|
||||||
"github.com/docker/compose-cli/api/containers"
|
|
||||||
"github.com/docker/compose-cli/api/secrets"
|
|
||||||
"github.com/docker/compose-cli/backend"
|
|
||||||
apicontext "github.com/docker/compose-cli/context"
|
|
||||||
"github.com/docker/compose-cli/context/cloud"
|
|
||||||
"github.com/docker/compose-cli/context/store"
|
|
||||||
)
|
|
||||||
|
|
||||||
// New returns a backend client associated with current context
|
|
||||||
func New(ctx context.Context) (*Client, error) {
|
|
||||||
currentContext := apicontext.CurrentContext(ctx)
|
|
||||||
s := store.ContextStore(ctx)
|
|
||||||
|
|
||||||
cc, err := s.Get(currentContext)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
service, err := backend.Get(ctx, cc.Type())
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Client{
|
|
||||||
backendType: cc.Type(),
|
|
||||||
bs: service,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCloudService returns a backend CloudService (typically login, create context)
|
|
||||||
func GetCloudService(ctx context.Context, backendType string) (cloud.Service, error) {
|
|
||||||
return backend.GetCloudService(ctx, backendType)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Client is a multi-backend client
|
|
||||||
type Client struct {
|
|
||||||
backendType string
|
|
||||||
bs backend.Service
|
|
||||||
}
|
|
||||||
|
|
||||||
// ContainerService returns the backend service for the current context
|
|
||||||
func (c *Client) ContainerService() containers.Service {
|
|
||||||
if cs := c.bs.ContainerService(); cs != nil {
|
|
||||||
return cs
|
|
||||||
}
|
|
||||||
|
|
||||||
return &containerService{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ComposeService returns the backend service for the current context
|
|
||||||
func (c *Client) ComposeService() compose.Service {
|
|
||||||
if cs := c.bs.ComposeService(); cs != nil {
|
|
||||||
return cs
|
|
||||||
}
|
|
||||||
|
|
||||||
return &composeService{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SecretsService returns the backend service for the current context
|
|
||||||
func (c *Client) SecretsService() secrets.Service {
|
|
||||||
if ss := c.bs.SecretsService(); ss != nil {
|
|
||||||
return ss
|
|
||||||
}
|
|
||||||
|
|
||||||
return &secretsService{}
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2020 Docker, Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"io"
|
|
||||||
|
|
||||||
"github.com/compose-spec/compose-go/types"
|
|
||||||
|
|
||||||
"github.com/docker/compose-cli/api/compose"
|
|
||||||
"github.com/docker/compose-cli/errdefs"
|
|
||||||
)
|
|
||||||
|
|
||||||
type composeService struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
// Up executes the equivalent to a `compose up`
|
|
||||||
func (c *composeService) Up(context.Context, *types.Project) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Down executes the equivalent to a `compose down`
|
|
||||||
func (c *composeService) Down(context.Context, string) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Logs executes the equivalent to a `compose logs`
|
|
||||||
func (c *composeService) Logs(context.Context, string, io.Writer) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ps executes the equivalent to a `compose ps`
|
|
||||||
func (c *composeService) Ps(context.Context, string) ([]compose.ServiceStatus, error) {
|
|
||||||
return nil, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// List executes the equivalent to a `docker stack ls`
|
|
||||||
func (c *composeService) List(context.Context, string) ([]compose.Stack, error) {
|
|
||||||
return nil, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convert translate compose model into backend's native format
|
|
||||||
func (c *composeService) Convert(context.Context, *types.Project) ([]byte, error) {
|
|
||||||
return nil, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
@ -1,71 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2020 Docker, Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"github.com/docker/compose-cli/api/containers"
|
|
||||||
"github.com/docker/compose-cli/errdefs"
|
|
||||||
)
|
|
||||||
|
|
||||||
type containerService struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
// List returns all the containers
|
|
||||||
func (c *containerService) List(context.Context, bool) ([]containers.Container, error) {
|
|
||||||
return nil, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start starts a stopped container
|
|
||||||
func (c *containerService) Start(context.Context, string) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Stop stops the running container
|
|
||||||
func (c *containerService) Stop(context.Context, string, *uint32) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *containerService) Kill(ctx context.Context, containerID string, signal string) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Run creates and starts a container
|
|
||||||
func (c *containerService) Run(context.Context, containers.ContainerConfig) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Exec executes a command inside a running container
|
|
||||||
func (c *containerService) Exec(context.Context, string, containers.ExecRequest) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Logs returns all the logs of a container
|
|
||||||
func (c *containerService) Logs(context.Context, string, containers.LogsRequest) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete removes containers
|
|
||||||
func (c *containerService) Delete(context.Context, string, containers.DeleteRequest) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inspect get a specific container
|
|
||||||
func (c *containerService) Inspect(context.Context, string) (containers.Container, error) {
|
|
||||||
return containers.Container{}, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2020 Docker, Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"github.com/docker/compose-cli/api/secrets"
|
|
||||||
"github.com/docker/compose-cli/errdefs"
|
|
||||||
)
|
|
||||||
|
|
||||||
type secretsService struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *secretsService) CreateSecret(context.Context, secrets.Secret) (string, error) {
|
|
||||||
return "", errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *secretsService) InspectSecret(context.Context, string) (secrets.Secret, error) {
|
|
||||||
return secrets.Secret{}, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *secretsService) ListSecrets(context.Context) ([]secrets.Secret, error) {
|
|
||||||
return nil, errdefs.ErrNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *secretsService) DeleteSecret(context.Context, string, bool) error {
|
|
||||||
return errdefs.ErrNotImplemented
|
|
||||||
}
|
|
@ -24,7 +24,7 @@ import (
|
|||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/config"
|
"github.com/docker/compose-cli/config"
|
||||||
apicontext "github.com/docker/compose-cli/context"
|
apicontext "github.com/docker/compose-cli/context"
|
||||||
"github.com/docker/compose-cli/context/store"
|
"github.com/docker/compose-cli/context/store"
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/client"
|
"github.com/docker/compose-cli/api/client"
|
||||||
"github.com/docker/compose-cli/config"
|
"github.com/docker/compose-cli/config"
|
||||||
containersv1 "github.com/docker/compose-cli/protos/containers/v1"
|
containersv1 "github.com/docker/compose-cli/protos/containers/v1"
|
||||||
contextsv1 "github.com/docker/compose-cli/protos/contexts/v1"
|
contextsv1 "github.com/docker/compose-cli/protos/contexts/v1"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user