summaryrefslogtreecommitdiff
path: root/pkg/domain/entities/engine.go
blob: f45218d1468de0272eee701395a1fd3adbb5ed49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package entities

import (
	"context"
	"io"

	"github.com/containers/common/pkg/config"
	"github.com/opentracing/opentracing-go"
	"github.com/spf13/pflag"
)

// EngineMode is the connection type podman is using to access libpod
type EngineMode string

const (
	ABIMode    = EngineMode("abi")
	TunnelMode = EngineMode("tunnel")
)

// Convert EngineMode to String
func (m EngineMode) String() string {
	return string(m)
}

// PodmanConfig combines the defaults and settings from the file system with the
// flags given in os.Args. Some runtime state is also stored here.
type PodmanConfig struct {
	*config.Config
	*pflag.FlagSet

	CGroupUsage string           // rootless code determines Usage message
	ConmonPath  string           // --conmon flag will set Engine.ConmonPath
	CpuProfile  string           // Hidden: Should CPU profile be taken
	EngineMode  EngineMode       // ABI or Tunneling mode
	Identities  []string         // ssh identities for connecting to server
	MaxWorks    int              // maximum number of parallel threads
	RuntimePath string           // --runtime flag will set Engine.RuntimePath
	SpanCloser  io.Closer        // Close() for tracing object
	SpanCtx     context.Context  // context to use when tracing
	Span        opentracing.Span // tracing object
	Syslog      bool             // write to StdOut and Syslog, not supported when tunneling
	Trace       bool             // Hidden: Trace execution
	Uri         string           // URI to API Service

	Runroot       string
	StorageDriver string
	StorageOpts   []string
}