Update traefik dependencies (docker/docker and related) (#1823)
Update traefik dependencies (docker/docker and related) - Update dependencies - Fix compilation problems - Remove vdemeester/docker-events (in docker api now) - Remove `integration/vendor` - Use `testImport` - update some deps. - regenerate the lock from scratch (after a `glide cc`)
This commit is contained in:
parent
7d178f49b4
commit
b7daa2f3a4
1301 changed files with 21476 additions and 150099 deletions
115
vendor/github.com/docker/libcompose/docker/client/client.go
generated
vendored
Normal file
115
vendor/github.com/docker/libcompose/docker/client/client.go
generated
vendored
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
cliconfig "github.com/docker/cli/cli/config"
|
||||
"github.com/docker/docker/client"
|
||||
"github.com/docker/docker/pkg/homedir"
|
||||
"github.com/docker/go-connections/sockets"
|
||||
"github.com/docker/go-connections/tlsconfig"
|
||||
"github.com/docker/libcompose/version"
|
||||
)
|
||||
|
||||
const (
|
||||
// DefaultAPIVersion is the default docker API version set by libcompose
|
||||
DefaultAPIVersion = "v1.20"
|
||||
defaultTrustKeyFile = "key.json"
|
||||
defaultCaFile = "ca.pem"
|
||||
defaultKeyFile = "key.pem"
|
||||
defaultCertFile = "cert.pem"
|
||||
)
|
||||
|
||||
var (
|
||||
dockerCertPath = os.Getenv("DOCKER_CERT_PATH")
|
||||
)
|
||||
|
||||
func init() {
|
||||
if dockerCertPath == "" {
|
||||
dockerCertPath = cliconfig.Dir()
|
||||
}
|
||||
}
|
||||
|
||||
// Options holds docker client options (host, tls, ..)
|
||||
type Options struct {
|
||||
TLS bool
|
||||
TLSVerify bool
|
||||
TLSOptions tlsconfig.Options
|
||||
TrustKey string
|
||||
Host string
|
||||
APIVersion string
|
||||
}
|
||||
|
||||
// Create creates a docker client based on the specified options.
|
||||
func Create(c Options) (client.APIClient, error) {
|
||||
if c.Host == "" {
|
||||
if os.Getenv("DOCKER_API_VERSION") == "" {
|
||||
os.Setenv("DOCKER_API_VERSION", DefaultAPIVersion)
|
||||
}
|
||||
client, err := client.NewEnvClient()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return client, nil
|
||||
}
|
||||
|
||||
apiVersion := c.APIVersion
|
||||
if apiVersion == "" {
|
||||
apiVersion = DefaultAPIVersion
|
||||
}
|
||||
|
||||
if c.TLSOptions.CAFile == "" {
|
||||
c.TLSOptions.CAFile = filepath.Join(dockerCertPath, defaultCaFile)
|
||||
}
|
||||
if c.TLSOptions.CertFile == "" {
|
||||
c.TLSOptions.CertFile = filepath.Join(dockerCertPath, defaultCertFile)
|
||||
}
|
||||
if c.TLSOptions.KeyFile == "" {
|
||||
c.TLSOptions.KeyFile = filepath.Join(dockerCertPath, defaultKeyFile)
|
||||
}
|
||||
if c.TrustKey == "" {
|
||||
c.TrustKey = filepath.Join(homedir.Get(), ".docker", defaultTrustKeyFile)
|
||||
}
|
||||
if c.TLSVerify {
|
||||
c.TLS = true
|
||||
}
|
||||
if c.TLS {
|
||||
c.TLSOptions.InsecureSkipVerify = !c.TLSVerify
|
||||
}
|
||||
|
||||
var httpClient *http.Client
|
||||
if c.TLS {
|
||||
config, err := tlsconfig.Client(c.TLSOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tr := &http.Transport{
|
||||
TLSClientConfig: config,
|
||||
}
|
||||
proto, addr, _, err := client.ParseHost(c.Host)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := sockets.ConfigureTransport(tr, proto, addr); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
httpClient = &http.Client{
|
||||
Transport: tr,
|
||||
}
|
||||
}
|
||||
|
||||
customHeaders := map[string]string{}
|
||||
customHeaders["User-Agent"] = fmt.Sprintf("Libcompose-Client/%s (%s)", version.VERSION, runtime.GOOS)
|
||||
|
||||
client, err := client.NewClient(c.Host, apiVersion, httpClient, customHeaders)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return client, nil
|
||||
}
|
||||
35
vendor/github.com/docker/libcompose/docker/client/client_factory.go
generated
vendored
Normal file
35
vendor/github.com/docker/libcompose/docker/client/client_factory.go
generated
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"github.com/docker/docker/client"
|
||||
"github.com/docker/libcompose/project"
|
||||
)
|
||||
|
||||
// Factory is a factory to create docker clients.
|
||||
type Factory 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 project.Service) client.APIClient
|
||||
}
|
||||
|
||||
type defaultFactory struct {
|
||||
client client.APIClient
|
||||
}
|
||||
|
||||
// NewDefaultFactory creates and returns the default client factory that uses
|
||||
// github.com/docker/docker client.
|
||||
func NewDefaultFactory(opts Options) (Factory, error) {
|
||||
client, err := Create(opts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &defaultFactory{
|
||||
client: client,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *defaultFactory) Create(service project.Service) client.APIClient {
|
||||
return s.client
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue