driver: add feature testing

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi
2019-04-10 18:57:54 -07:00
parent 68cad8e46b
commit 0788035da8
7 changed files with 77 additions and 6 deletions

View File

@ -12,9 +12,8 @@ import (
"github.com/tonistiigi/buildx/util/progress"
)
var buildkitImage = "moby/buildkit:master" // TODO: make this verified and configuratble
type Driver struct {
factory driver.Factory
driver.InitConfig
version dockertypes.Version
}
@ -46,3 +45,19 @@ func (d *Driver) Client(ctx context.Context) (*client.Client, error) {
return d.DockerAPI.DialHijack(ctx, "/grpc", "h2c", nil)
}))
}
func (d *Driver) Features() map[driver.Feature]bool {
return map[driver.Feature]bool{
driver.OCIExporter: false,
driver.DockerExporter: false,
driver.CacheExport: false,
driver.MultiPlatform: false,
}
}
func (d *Driver) Factory() driver.Factory {
return d.factory
}
func (d *Driver) IsDefaultMobyDriver() {}

View File

@ -39,7 +39,7 @@ func (*factory) Priority(cfg driver.InitConfig) int {
return prioritySupported
}
func (*factory) New(ctx context.Context, cfg driver.InitConfig) (driver.Driver, error) {
func (f *factory) New(ctx context.Context, cfg driver.InitConfig) (driver.Driver, error) {
if cfg.DockerAPI == nil {
return nil, errors.Errorf("docker driver requires docker API access")
}
@ -49,5 +49,5 @@ func (*factory) New(ctx context.Context, cfg driver.InitConfig) (driver.Driver,
return nil, errors.Wrapf(driver.ErrNotConnecting, err.Error())
}
return &Driver{InitConfig: cfg, version: v}, nil
return &Driver{factory: f, InitConfig: cfg, version: v}, nil
}