diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-02-24 03:13:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-24 03:13:25 +0100 |
commit | cc4adddeb77ef38ecd36be04e95685b2e7b8b86c (patch) | |
tree | 9dffece816ad32c2c0b7651cb7c88be70954a88f /pkg/adapter/client.go | |
parent | 8e4be923b83aadfaa58569326119890ed9c1d459 (diff) | |
parent | 4bf973a9f61eae3b02925a42ccfa784baeb917dc (diff) | |
download | podman-cc4adddeb77ef38ecd36be04e95685b2e7b8b86c.tar.gz podman-cc4adddeb77ef38ecd36be04e95685b2e7b8b86c.tar.bz2 podman-cc4adddeb77ef38ecd36be04e95685b2e7b8b86c.zip |
Merge pull request #2413 from baude/remotepodstop
Enable more podman-remote pod commands
Diffstat (limited to 'pkg/adapter/client.go')
-rw-r--r-- | pkg/adapter/client.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/pkg/adapter/client.go b/pkg/adapter/client.go new file mode 100644 index 000000000..6512a5952 --- /dev/null +++ b/pkg/adapter/client.go @@ -0,0 +1,47 @@ +// +build remoteclient + +package adapter + +import ( + "os" + + "github.com/sirupsen/logrus" + "github.com/varlink/go/varlink" +) + +// DefaultAddress is the default address of the varlink socket +const DefaultAddress = "unix:/run/podman/io.podman" + +// Connect provides a varlink connection +func (r RemoteRuntime) Connect() (*varlink.Connection, error) { + var err error + var connection *varlink.Connection + if bridge := os.Getenv("PODMAN_VARLINK_BRIDGE"); bridge != "" { + logrus.Infof("Connecting with varlink bridge") + logrus.Debugf("%s", bridge) + connection, err = varlink.NewBridge(bridge) + } else { + address := os.Getenv("PODMAN_VARLINK_ADDRESS") + if address == "" { + address = DefaultAddress + } + logrus.Infof("Connecting with varlink address") + logrus.Debugf("%s", address) + connection, err = varlink.NewConnection(address) + } + if err != nil { + return nil, err + } + return connection, nil +} + +// RefreshConnection is used to replace the current r.Conn after things like +// using an upgraded varlink connection +func (r RemoteRuntime) RefreshConnection() error { + newConn, err := r.Connect() + if err != nil { + return err + } + r.Conn = newConn + return nil +} |