diff options
author | baude <bbaude@redhat.com> | 2019-01-02 14:56:19 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-01-07 12:43:57 -0600 |
commit | 41fb81d074f57bcf562e7dee78a78896e9a0bc64 (patch) | |
tree | cfb79058783d99bcfd58c1e8d46e70686c5ab834 /libpod/adapter/runtime.go | |
parent | e796f522f6b74a9fef16976709e773f6395ef5e2 (diff) | |
download | podman-41fb81d074f57bcf562e7dee78a78896e9a0bc64.tar.gz podman-41fb81d074f57bcf562e7dee78a78896e9a0bc64.tar.bz2 podman-41fb81d074f57bcf562e7dee78a78896e9a0bc64.zip |
Add ability to build golang remote client
Add the ability to build a remote client in golang that uses all
the same front-end cli code and output code. The initial limitations
here are that it can only be a local client while the bridge and
resolver code is being written for the golang varlink client.
Tests and docs will be added in subsequent PRs.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'libpod/adapter/runtime.go')
-rw-r--r-- | libpod/adapter/runtime.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libpod/adapter/runtime.go b/libpod/adapter/runtime.go new file mode 100644 index 000000000..b6db51071 --- /dev/null +++ b/libpod/adapter/runtime.go @@ -0,0 +1,26 @@ +// +build !remoteclient + +package adapter + +import ( + "github.com/containers/libpod/cmd/podman/libpodruntime" + "github.com/containers/libpod/libpod" + "github.com/urfave/cli" +) + +// LocalRuntime describes a typical libpod runtime +type LocalRuntime struct { + Runtime *libpod.Runtime + Remote bool +} + +// GetRuntime returns a LocalRuntime struct with the actual runtime embedded in it +func GetRuntime(c *cli.Context) (*LocalRuntime, error) { + runtime, err := libpodruntime.GetRuntime(c) + if err != nil { + return nil, err + } + return &LocalRuntime{ + Runtime: runtime, + }, nil +} |