summaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
Diffstat (limited to 'libpod')
-rw-r--r--libpod/runc.go117
1 files changed, 0 insertions, 117 deletions
diff --git a/libpod/runc.go b/libpod/runc.go
deleted file mode 100644
index efbb51b24..000000000
--- a/libpod/runc.go
+++ /dev/null
@@ -1,117 +0,0 @@
-package libpod
-
-import (
- "os"
- "os/exec"
- "strings"
-
- "github.com/sirupsen/logrus"
-)
-
-type runcGlobalOptions struct {
- log string
- logFormat string
- root string
- criu string
- systemdCgroup bool
-}
-type runcExecOptions struct {
- consoleSocket string
- cwd string
- env []string
- tty bool
- user string
- processPath string
- detach bool
- pidFile string
- processLabel string
- apparmor string
- noNewPrivs bool
- capAdd []string
-}
-
-func parseGlobalOptionsToArgs(opts runcGlobalOptions) []string {
- args := []string{}
- if opts.log != "" {
- args = append(args, "--log", opts.log)
- }
- if opts.logFormat != "" {
- args = append(args, "--log-format", opts.logFormat)
- }
- if opts.root != "" {
- args = append(args, "--root", opts.root)
- }
- if opts.criu != "" {
- args = append(args, "--criu", opts.criu)
- }
- if opts.systemdCgroup {
- args = append(args, "--systemd-cgroup")
- }
- return args
-}
-
-// RuncExec executes 'runc --options exec --options cmd'
-func (r *OCIRuntime) RuncExec(container *Container, command []string, globalOpts runcGlobalOptions, execOpts runcExecOptions) error {
- args := []string{}
- args = append(args, parseGlobalOptionsToArgs(globalOpts)...)
- // Add subcommand
- args = append(args, "exec")
- // Now add subcommand args
-
- if execOpts.consoleSocket != "" {
- args = append(args, "--console-socket", execOpts.consoleSocket)
- }
- if execOpts.cwd != "" {
- args = append(args, "--cwd", execOpts.cwd)
- }
-
- if len(execOpts.env) > 0 {
- for _, envInput := range execOpts.env {
- args = append(args, "--env", envInput)
- }
- }
- if execOpts.tty {
- args = append(args, "--tty")
- }
- if execOpts.user != "" {
- args = append(args, "--user", execOpts.user)
-
- }
- if execOpts.processPath != "" {
- args = append(args, "--process", execOpts.processPath)
- }
- if execOpts.detach {
- args = append(args, "--detach")
- }
- if execOpts.pidFile != "" {
- args = append(args, "--pid-file", execOpts.pidFile)
- }
- if execOpts.processLabel != "" {
- args = append(args, "--process-label", execOpts.processLabel)
- }
- if execOpts.apparmor != "" {
- args = append(args, "--apparmor", execOpts.apparmor)
- }
- if execOpts.noNewPrivs {
- args = append(args, "--no-new-privs")
- }
- if len(execOpts.capAdd) > 0 {
- for _, capAddValue := range execOpts.capAdd {
- args = append(args, "--cap", capAddValue)
- }
- }
-
- // Append Cid
- args = append(args, container.ID())
- // Append Cmd
- args = append(args, command...)
-
- logrus.Debug("Executing runc command: %s %s", r.path, strings.Join(args, " "))
- cmd := exec.Command(r.path, args...)
- cmd.Stdout = os.Stdout
- cmd.Stderr = os.Stderr
- cmd.Stdin = os.Stdin
- cmd.Start()
- err := cmd.Wait()
- return err
-}