Auto-negotiate Docker API Version
This commit is contained in:
parent
d271750062
commit
baba5da88b
3 changed files with 1 additions and 11 deletions
|
|
@ -21,9 +21,6 @@ import (
|
||||||
"github.com/traefik/traefik/v3/pkg/safe"
|
"github.com/traefik/traefik/v3/pkg/safe"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DockerAPIVersion is a constant holding the version of the Provider API traefik will use.
|
|
||||||
const DockerAPIVersion = "1.24"
|
|
||||||
|
|
||||||
const dockerName = "docker"
|
const dockerName = "docker"
|
||||||
|
|
||||||
var _ provider.Provider = (*Provider)(nil)
|
var _ provider.Provider = (*Provider)(nil)
|
||||||
|
|
@ -54,7 +51,6 @@ func (p *Provider) Init() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Provider) createClient(ctx context.Context) (*client.Client, error) {
|
func (p *Provider) createClient(ctx context.Context) (*client.Client, error) {
|
||||||
p.ClientConfig.apiVersion = DockerAPIVersion
|
|
||||||
return createClient(ctx, p.ClientConfig)
|
return createClient(ctx, p.ClientConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,6 @@ import (
|
||||||
"github.com/traefik/traefik/v3/pkg/safe"
|
"github.com/traefik/traefik/v3/pkg/safe"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SwarmAPIVersion is a constant holding the version of the Provider API traefik will use.
|
|
||||||
const SwarmAPIVersion = "1.24"
|
|
||||||
|
|
||||||
const swarmName = "swarm"
|
const swarmName = "swarm"
|
||||||
|
|
||||||
var _ provider.Provider = (*SwarmProvider)(nil)
|
var _ provider.Provider = (*SwarmProvider)(nil)
|
||||||
|
|
@ -58,7 +55,6 @@ func (p *SwarmProvider) Init() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *SwarmProvider) createClient(ctx context.Context) (*client.Client, error) {
|
func (p *SwarmProvider) createClient(ctx context.Context) (*client.Client, error) {
|
||||||
p.ClientConfig.apiVersion = SwarmAPIVersion
|
|
||||||
return createClient(ctx, p.ClientConfig)
|
return createClient(ctx, p.ClientConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -100,8 +100,6 @@ func parseContainer(container containertypes.InspectResponse) dockerData {
|
||||||
}
|
}
|
||||||
|
|
||||||
type ClientConfig struct {
|
type ClientConfig struct {
|
||||||
apiVersion string
|
|
||||||
|
|
||||||
Username string `description:"Username for Basic HTTP authentication." json:"username,omitempty" toml:"username,omitempty" yaml:"username,omitempty"`
|
Username string `description:"Username for Basic HTTP authentication." json:"username,omitempty" toml:"username,omitempty" yaml:"username,omitempty"`
|
||||||
Password string `description:"Password for Basic HTTP authentication." json:"password,omitempty" toml:"password,omitempty" yaml:"password,omitempty"`
|
Password string `description:"Password for Basic HTTP authentication." json:"password,omitempty" toml:"password,omitempty" yaml:"password,omitempty"`
|
||||||
Endpoint string `description:"Docker server endpoint. Can be a TCP or a Unix socket endpoint." json:"endpoint,omitempty" toml:"endpoint,omitempty" yaml:"endpoint,omitempty"`
|
Endpoint string `description:"Docker server endpoint. Can be a TCP or a Unix socket endpoint." json:"endpoint,omitempty" toml:"endpoint,omitempty" yaml:"endpoint,omitempty"`
|
||||||
|
|
@ -124,7 +122,7 @@ func createClient(ctx context.Context, cfg ClientConfig) (*client.Client, error)
|
||||||
|
|
||||||
opts = append(opts,
|
opts = append(opts,
|
||||||
client.WithHTTPHeaders(httpHeaders),
|
client.WithHTTPHeaders(httpHeaders),
|
||||||
client.WithVersion(cfg.apiVersion))
|
client.WithAPIVersionNegotiation())
|
||||||
|
|
||||||
return client.NewClientWithOpts(opts...)
|
return client.NewClientWithOpts(opts...)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue