Documentation ¶
Index ¶
- Variables
- func AdjustOOMScore(pid int) error
- func AnonDialer(address string, timeout time.Duration) (net.Conn, error)
- func AnonReconnectDialer(address string, timeout time.Duration) (net.Conn, error)
- func BinaryName(runtime string) string
- func BinaryPath(runtime string) string
- func CanConnect(address string) bool
- func Command(ctx context.Context, config *CommandConfig) (*exec.Cmd, error)
- func Connect(address string, d func(string, time.Duration) (net.Conn, error)) (net.Conn, error)
- func NewSocket(address string) (*net.UnixListener, error)
- func ReadAddress(path string) (string, error)
- func RemoveSocket(address string) error
- func Run(name string, initFunc Init, opts ...BinaryOpts)
- func RunManager(ctx context.Context, manager Manager, opts ...BinaryOpts)
- func SocketAddress(ctx context.Context, socketPath, id string) (string, error)
- func SocketEaddrinuse(err error) bool
- func WriteAddress(path, address string) error
- func WritePidFile(path string, pid int) error
- type BinaryOpts
- type CommandConfig
- type Config
- type Init
- type Manager
- type Opts
- type OptsKey
- type Publisher
- type RemoteEventsPublisher
- type Shim
- type StartOpts
- type StopStatus
Constants ¶
This section is empty.
Variables ¶
var ErrNoAddress = errors.New("no shim address")
ErrNoAddress is returned when the address file has no content
Functions ¶
func AdjustOOMScore ¶ added in v1.3.0
AdjustOOMScore sets the OOM score for the process to the parents OOM score +1 to ensure that they parent has a lower* score than the shim if not already at the maximum OOM Score
func AnonDialer ¶
AnonDialer returns a dialer for a socket
func AnonReconnectDialer ¶ added in v1.3.0
AnonReconnectDialer returns a dialer for an existing socket on reconnection
func BinaryName ¶
BinaryName returns the shim binary name from the runtime name, empty string returns means runtime name is invalid
func BinaryPath ¶ added in v1.6.9
BinaryPath returns the full path for the shim binary from the runtime name, empty string returns means runtime name is invalid
func CanConnect ¶ added in v1.3.9
CanConnect returns true if the socket provided at the address is accepting new connections
func NewSocket ¶
func NewSocket(address string) (*net.UnixListener, error)
NewSocket returns a new socket
func ReadAddress ¶ added in v1.3.0
ReadAddress returns the shim's socket address from the path
func RemoveSocket ¶ added in v1.3.9
RemoveSocket removes the socket at the specified address if it exists on the filesystem
func Run ¶
func Run(name string, initFunc Init, opts ...BinaryOpts)
Run initializes and runs a shim server TODO(2.0): Remove function
func RunManager ¶ added in v1.6.9
func RunManager(ctx context.Context, manager Manager, opts ...BinaryOpts)
RunManager initialzes and runs a shim server TODO(2.0): Rename to Run
func SocketAddress ¶
SocketAddress returns a socket address
func SocketEaddrinuse ¶ added in v1.3.9
SocketEaddrinuse returns true if the provided error is caused by the EADDRINUSE error number
func WriteAddress ¶
WriteAddress writes a address file atomically
func WritePidFile ¶
WritePidFile writes a pid file atomically
Types ¶
type BinaryOpts ¶ added in v1.3.0
type BinaryOpts func(*Config)
BinaryOpts allows the configuration of a shims binary setup
type CommandConfig ¶ added in v1.6.9
type Config ¶ added in v1.3.0
type Config struct { // NoSubreaper disables setting the shim as a child subreaper NoSubreaper bool // NoReaper disables the shim binary from reaping any child process implicitly NoReaper bool // NoSetupLogger disables automatic configuration of logrus to use the shim FIFO NoSetupLogger bool }
Config of shim binary options provided by shim implementations
type Manager ¶ added in v1.6.9
type Manager interface { Name() string Start(ctx context.Context, id string, opts StartOpts) (string, error) Stop(ctx context.Context, id string) (StopStatus, error) }
Manager is the interface which manages the shim process
type RemoteEventsPublisher ¶ added in v1.3.0
type RemoteEventsPublisher struct {
// contains filtered or unexported fields
}
RemoteEventsPublisher forwards events to a ttrpc server
func NewPublisher ¶ added in v1.3.0
func NewPublisher(address string) (*RemoteEventsPublisher, error)
NewPublisher creates a new remote events publisher
func (*RemoteEventsPublisher) Close ¶ added in v1.3.0
func (l *RemoteEventsPublisher) Close() (err error)
Close closes the remote connection and closes the done channel
func (*RemoteEventsPublisher) Done ¶ added in v1.3.0
func (l *RemoteEventsPublisher) Done() <-chan struct{}
Done returns a channel which closes when done
type Shim ¶
type Shim interface { shimapi.TaskService Cleanup(ctx context.Context) (*shimapi.DeleteResponse, error) StartShim(ctx context.Context, opts StartOpts) (string, error) }
Shim server interface TODO(2.0): Remove unified shim interface