github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/domain/entities/engine.go (about)

     1  package entities
     2  
     3  import (
     4  	"github.com/containers/common/pkg/config"
     5  	"github.com/spf13/pflag"
     6  )
     7  
     8  // EngineMode is the connection type podman is using to access libpod
     9  type EngineMode string
    10  
    11  // EngineSetup calls out whether a "normal" or specialized engine should be created
    12  type EngineSetup string
    13  
    14  const (
    15  	ABIMode    = EngineMode("abi")
    16  	TunnelMode = EngineMode("tunnel")
    17  
    18  	MigrateMode  = EngineSetup("migrate")
    19  	NoFDsMode    = EngineSetup("disablefds")
    20  	NormalMode   = EngineSetup("normal")
    21  	RenumberMode = EngineSetup("renumber")
    22  	ResetMode    = EngineSetup("reset")
    23  )
    24  
    25  // Convert EngineMode to String
    26  func (m EngineMode) String() string {
    27  	return string(m)
    28  }
    29  
    30  // PodmanConfig combines the defaults and settings from the file system with the
    31  // flags given in os.Args. Some runtime state is also stored here.
    32  type PodmanConfig struct {
    33  	*config.Config
    34  	*pflag.FlagSet
    35  
    36  	CgroupUsage    string     // rootless code determines Usage message
    37  	ConmonPath     string     // --conmon flag will set Engine.ConmonPath
    38  	CPUProfile     string     // Hidden: Should CPU profile be taken
    39  	EngineMode     EngineMode // ABI or Tunneling mode
    40  	Identity       string     // ssh identity for connecting to server
    41  	MaxWorks       int        // maximum number of parallel threads
    42  	MemoryProfile  string     // Hidden: Should memory profile be taken
    43  	NoOut          bool       // Don't output to stdout
    44  	RegistriesConf string     // allows for specifying a custom registries.conf
    45  	Remote         bool       // Connection to Podman API Service will use RESTful API
    46  	RuntimePath    string     // --runtime flag will set Engine.RuntimePath
    47  	RuntimeFlags   []string   // global flags for the container runtime
    48  	Syslog         bool       // write to StdOut and Syslog, not supported when tunneling
    49  	Trace          bool       // Hidden: Trace execution
    50  	URI            string     // URI to RESTful API Service
    51  
    52  	Runroot       string
    53  	StorageDriver string
    54  	StorageOpts   []string
    55  }