Documentation ¶
Index ¶
- Constants
- func Detach(redirectStdout, redirectStderr string)
- type CmdPreparer
- type CommandFunc
- type Commander
- type ConnectionHandler
- type Connector
- type ContainerDaemon
- type LibContainerUser
- type Listener
- type PTYOpener
- type Process
- type ProcessSignaller
- type ProcessSpecPreparer
- type RequestMessage
- type ResponseMessage
- type RlimitsEnvEncoder
- type RlimitsManager
- func (*RlimitsManager) Apply(rlimits garden.ResourceLimits) error
- func (*RlimitsManager) DecodeLimits(encodedLimits string) garden.ResourceLimits
- func (*RlimitsManager) EncodeLimits(rlimits garden.ResourceLimits) string
- func (mgr *RlimitsManager) Init() error
- func (mgr *RlimitsManager) MaxNoFile() (uint64, error)
- type Runner
- type SignalSpec
- type Signaller
- type Spawn
- type Spawner
- type StreamingFile
- type Term
- type TermPkg
- type User
Constants ¶
View Source
const ( ProcessRequest = iota ProcessResponse SignalRequest SignalResponse )
View Source
const ( RLIMIT_CPU = syscall.RLIMIT_CPU // 0 RLIMIT_FSIZE = syscall.RLIMIT_FSIZE // 1 RLIMIT_DATA = syscall.RLIMIT_DATA // 2 RLIMIT_STACK = syscall.RLIMIT_STACK // 3 RLIMIT_CORE = syscall.RLIMIT_CORE // 4 RLIMIT_RSS = 5 // 5 RLIMIT_NPROC = 6 // 6 RLIMIT_NOFILE = syscall.RLIMIT_NOFILE // 7 RLIMIT_MEMLOCK = 8 // 8 RLIMIT_AS = syscall.RLIMIT_AS // 9 RLIMIT_LOCKS = 10 // 10 RLIMIT_SIGPENDING = 11 // 11 RLIMIT_MSGQUEUE = 12 // 12 RLIMIT_NICE = 13 // 13 RLIMIT_RTPRIO = 14 // 14 RLIMIT_INFINITY = ^uint64(0) )
View Source
const DefaultRootPATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
View Source
const DefaultUserPath = "/usr/local/bin:/usr/bin:/bin"
View Source
const UnknownExitStatus = 255
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CmdPreparer ¶
type CmdPreparer interface {
PrepareCmd(garden.ProcessSpec) (*exec.Cmd, error)
}
type CommandFunc ¶
type ConnectionHandler ¶
type ConnectionHandler interface {
Handle(decoder *json.Decoder) (*ResponseMessage, error)
}
type Connector ¶
type Connector interface {
Connect(msg *RequestMessage) (*ResponseMessage, error)
}
type ContainerDaemon ¶
type ContainerDaemon struct { CmdPreparer CmdPreparer Spawner Spawner Signaller Signaller }
func (*ContainerDaemon) Handle ¶
func (cd *ContainerDaemon) Handle(decoder *json.Decoder) (response *ResponseMessage, err error)
func (*ContainerDaemon) Run ¶
func (cd *ContainerDaemon) Run(listener Listener) error
type LibContainerUser ¶
type LibContainerUser struct{}
type Listener ¶
type Listener interface { Listen(ch ConnectionHandler) error Close() error }
type Process ¶
type ProcessSignaller ¶
type ProcessSpecPreparer ¶
type ProcessSpecPreparer struct { Users User Rlimits RlimitsEnvEncoder Reexec Commander AlwaysDropCapabilities bool }
func (*ProcessSpecPreparer) PrepareCmd ¶
func (p *ProcessSpecPreparer) PrepareCmd(spec garden.ProcessSpec) (*exec.Cmd, error)
type RequestMessage ¶
type RequestMessage struct { Type int Data json.RawMessage }
type ResponseMessage ¶
type ResponseMessage struct { Type int Files []StreamingFile `json:"-"` Pid int ErrMessage string }
type RlimitsEnvEncoder ¶
type RlimitsEnvEncoder interface {
EncodeLimits(garden.ResourceLimits) string
}
type RlimitsManager ¶
type RlimitsManager struct{}
func (*RlimitsManager) Apply ¶
func (*RlimitsManager) Apply(rlimits garden.ResourceLimits) error
func (*RlimitsManager) DecodeLimits ¶
func (*RlimitsManager) DecodeLimits(encodedLimits string) garden.ResourceLimits
func (*RlimitsManager) EncodeLimits ¶
func (*RlimitsManager) EncodeLimits(rlimits garden.ResourceLimits) string
func (*RlimitsManager) Init ¶
func (mgr *RlimitsManager) Init() error
func (*RlimitsManager) MaxNoFile ¶
func (mgr *RlimitsManager) MaxNoFile() (uint64, error)
type SignalSpec ¶
type StreamingFile ¶
type StreamingFile interface { io.ReadWriteCloser Fd() uintptr }
type Term ¶
type Term interface { GetWinsize(fd uintptr) (*term.Winsize, error) SetWinsize(fd uintptr, size *term.Winsize) error SetRawTerminal(fd uintptr) (*term.State, error) RestoreTerminal(fd uintptr, state *term.State) error }
wraps docker/docker/pkg/term for mockability
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
This file was generated by counterfeiter
|
This file was generated by counterfeiter |
Click to show internal directories.
Click to hide internal directories.