diff options
author | baude <bbaude@redhat.com> | 2019-05-28 09:21:22 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-05-30 09:41:17 -0500 |
commit | dc7ae3117146aa4e91d454b4b1afa03058638b13 (patch) | |
tree | 4ece06385c0b91373234050ec05ba995d3906a0d /pkg/adapter/client_unix.go | |
parent | 8a8db34131c213c3880940284c2fa278ae48cd7d (diff) | |
download | podman-dc7ae3117146aa4e91d454b4b1afa03058638b13.tar.gz podman-dc7ae3117146aa4e91d454b4b1afa03058638b13.tar.bz2 podman-dc7ae3117146aa4e91d454b4b1afa03058638b13.zip |
podman-remote.conf enablement
add the ability for the podman remote client to use a configuration file
which describes its connections. users can now define a connection the
configuration and then call it by name like:
podman-remote -c connection1
and the destination and user will be derived from the configuration
file. if no -c is provided, we look for a connection in the
configuration file designated as 'default'. If the configuration file
has only one connection, it will be deemed the 'default'.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/adapter/client_unix.go')
-rw-r--r-- | pkg/adapter/client_unix.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pkg/adapter/client_unix.go b/pkg/adapter/client_unix.go new file mode 100644 index 000000000..e0406567c --- /dev/null +++ b/pkg/adapter/client_unix.go @@ -0,0 +1,30 @@ +// +build linux darwin +// +build remoteclient + +package adapter + +import ( + "fmt" + + "github.com/containers/libpod/cmd/podman/remoteclientconfig" + "github.com/pkg/errors" +) + +// newBridgeConnection creates a bridge type endpoint with username, destination, and log-level +func newBridgeConnection(formattedBridge string, remoteConn *remoteclientconfig.RemoteConnection, logLevel string) (*Endpoint, error) { + endpoint := Endpoint{ + Type: BridgeConnection, + } + + if len(formattedBridge) < 1 && remoteConn == nil { + return nil, errors.New("bridge connections must either be created by string or remoteconnection") + } + if len(formattedBridge) > 0 { + endpoint.Connection = formattedBridge + return &endpoint, nil + } + endpoint.Connection = fmt.Sprintf( + `ssh -T %s@%s -- /usr/bin/varlink -A \'/usr/bin/podman --log-level=%s varlink \\\$VARLINK_ADDRESS\' bridge`, + remoteConn.Username, remoteConn.Destination, logLevel) + return &endpoint, nil +} |