diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-03-19 18:19:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-19 18:19:43 +0100 |
commit | 093d9ef67341f474078bff1cba713caa0b10a692 (patch) | |
tree | bf5409bc6bc6ceeeb496ef7d7a140f2f24486835 /pkg/domain/infra/runtime_tunnel.go | |
parent | b43e249b1d9a8d63335e7c3ac88d6ac68b21e366 (diff) | |
parent | fbe743501e2a3ea28fe446754b9b12988b4e7a0e (diff) | |
download | podman-093d9ef67341f474078bff1cba713caa0b10a692.tar.gz podman-093d9ef67341f474078bff1cba713caa0b10a692.tar.bz2 podman-093d9ef67341f474078bff1cba713caa0b10a692.zip |
Merge pull request #5546 from jwhonce/wip/entities
V2 podman command
Diffstat (limited to 'pkg/domain/infra/runtime_tunnel.go')
-rw-r--r-- | pkg/domain/infra/runtime_tunnel.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkg/domain/infra/runtime_tunnel.go b/pkg/domain/infra/runtime_tunnel.go new file mode 100644 index 000000000..8a606deaf --- /dev/null +++ b/pkg/domain/infra/runtime_tunnel.go @@ -0,0 +1,35 @@ +// +build !ABISupport + +package infra + +import ( + "context" + "fmt" + + "github.com/containers/libpod/pkg/bindings" + "github.com/containers/libpod/pkg/domain/entities" + "github.com/containers/libpod/pkg/domain/infra/tunnel" +) + +func NewContainerEngine(mode entities.EngineMode, opts entities.EngineOptions) (entities.ContainerEngine, error) { + switch mode { + case entities.ABIMode: + return nil, fmt.Errorf("direct runtime not supported") + case entities.TunnelMode: + ctx, err := bindings.NewConnection(context.Background(), opts.Uri.String(), opts.Identities...) + return &tunnel.ContainerEngine{ClientCxt: ctx}, err + } + return nil, fmt.Errorf("runtime mode '%v' is not supported", mode) +} + +// NewImageEngine factory provides a libpod runtime for image-related operations +func NewImageEngine(mode entities.EngineMode, opts entities.EngineOptions) (entities.ImageEngine, error) { + switch mode { + case entities.ABIMode: + return nil, fmt.Errorf("direct image runtime not supported") + case entities.TunnelMode: + ctx, err := bindings.NewConnection(context.Background(), opts.Uri.String(), opts.Identities...) + return &tunnel.ImageEngine{ClientCxt: ctx}, err + } + return nil, fmt.Errorf("runtime mode '%v' is not supported", mode) +} |