summaryrefslogtreecommitdiff
path: root/cmd/podman/main_remote_supported.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-08-06 19:06:54 -0500
committerbaude <bbaude@redhat.com>2019-08-08 20:05:08 -0500
commitb31130a79d51ad68e9d332eafd712abf7266e22c (patch)
treea29a15944ededee93b2e958ac1cc0a47485b2a9e /cmd/podman/main_remote_supported.go
parent4349f42d66d91fa48cde6aa6ed499eaa41d3e2b5 (diff)
downloadpodman-b31130a79d51ad68e9d332eafd712abf7266e22c.tar.gz
podman-b31130a79d51ad68e9d332eafd712abf7266e22c.tar.bz2
podman-b31130a79d51ad68e9d332eafd712abf7266e22c.zip
enable windows remote client
rework an error path so that users can run the windows remote client. also, create the basedir path for the podman-remote.conf file if it does not exist already. Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podman/main_remote_supported.go')
-rw-r--r--cmd/podman/main_remote_supported.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/cmd/podman/main_remote_supported.go b/cmd/podman/main_remote_supported.go
new file mode 100644
index 000000000..bb567c273
--- /dev/null
+++ b/cmd/podman/main_remote_supported.go
@@ -0,0 +1,57 @@
+// +build remoteclient
+// +build linux darwin
+
+package main
+
+import (
+ "fmt"
+ "os"
+ "path/filepath"
+
+ "github.com/containers/libpod/pkg/util"
+ "github.com/pkg/errors"
+ "github.com/sirupsen/logrus"
+)
+
+func setSyslog() error {
+ var err error
+ cfgHomeDir := os.Getenv("XDG_CONFIG_HOME")
+ if cfgHomeDir == "" {
+ if cfgHomeDir, err = util.GetRootlessConfigHomeDir(); err != nil {
+ return err
+ }
+ if err = os.Setenv("XDG_CONFIG_HOME", cfgHomeDir); err != nil {
+ return errors.Wrapf(err, "cannot set XDG_CONFIG_HOME")
+ }
+ }
+ path := filepath.Join(cfgHomeDir, "containers")
+
+ // Log to file if not using syslog
+
+ if _, err := os.Stat(path); os.IsNotExist(err) {
+ if err := os.MkdirAll(path, 0750); err != nil {
+ fmt.Fprintf(os.Stderr, "%v", err)
+ return err
+ }
+ }
+
+ // Update path to include file name
+ path = filepath.Join(path, "podman.log")
+
+ // Create the log file if doesn't exist. And append to it if it already exists.
+ file, err := os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0640)
+ if err != nil {
+ // Cannot open log file. Logging to stderr
+ fmt.Fprintf(os.Stderr, "%v", err)
+ return err
+ } else {
+ formatter := new(logrus.TextFormatter)
+ formatter.FullTimestamp = true
+ logrus.SetFormatter(formatter)
+ logrus.SetOutput(file)
+ }
+
+ // Note this message is only logged if --log-level >= Info!
+ logrus.Infof("Logging level set to %s", logrus.GetLevel().String())
+ return nil
+}