123456789101112131415161718192021222324252627282930313233343536 |
- package project
- import (
- "github.com/docker/engine-api/client"
- composeclient "github.com/docker/libcompose/docker/client"
- )
- // ClientFactory is a factory to create docker clients.
- type ClientFactory interface {
- // Create constructs a Docker client for the given service. The passed in
- // config may be nil in which case a generic client for the project should
- // be returned.
- Create(service Service) client.APIClient
- }
- type defaultClientFactory struct {
- client client.APIClient
- }
- // NewDefaultClientFactory creates and returns the default client factory that uses
- // github.com/docker/engine-api client.
- func NewDefaultClientFactory(opts composeclient.Options) (ClientFactory, error) {
- client, err := composeclient.Create(opts)
- if err != nil {
- return nil, err
- }
- return &defaultClientFactory{
- client: client,
- }, nil
- }
- func (s *defaultClientFactory) Create(service Service) client.APIClient {
- return s.client
- }
|