Documentation
¶
Overview ¶
Package docker provides a Docker driver for Fn. Provides an implementation of
github.com/fnproject/fn/api/agent/drivers.Driver
that knows how to run Docker images.
Index ¶
Constants ¶
View Source
const ( LimitPerSec = 10 LimitBurst = 20 )
Variables ¶
View Source
var (
ErrorPoolEmpty = errors.New("docker pre fork pool empty")
)
Functions ¶
func RegisterViews ¶
RegisterViews creates and registers views with provided tag keys
Types ¶
type Auther ¶
type Auther interface {
// DockerAuth should return docker auth credentials that will authenticate
// against a docker registry for a given drivers.ContainerTask.Image(). An
// error may be returned which will cause the task not to be run, this can be
// useful for an implementer to do things like testing auth configurations
// before returning them; e.g. if the implementer would like to impose
// certain restrictions on images or if credentials must be acquired right
// before runtime and there's an error doing so. If these credentials don't
// work, the docker pull will fail and the task will be set to error status.
DockerAuth() (*docker.AuthConfiguration, error)
}
A drivers.ContainerTask should implement the Auther interface if it would like to use not-necessarily-public docker images for any or all task invocations.
type DockerDriver ¶
type DockerDriver struct {
// contains filtered or unexported fields
}
func (*DockerDriver) Close ¶
func (drv *DockerDriver) Close() error
func (*DockerDriver) CreateCookie ¶
func (drv *DockerDriver) CreateCookie(ctx context.Context, task drivers.ContainerTask) (drivers.Cookie, error)
func (*DockerDriver) PrepareCookie ¶
Obsoleted.
type DockerPool ¶
type DockerPool interface {
// fetch a pre-allocated free id from the pool
// may return too busy error.
AllocPoolId() (string, error)
// Release the id back to the pool
FreePoolId(id string)
// stop and terminate the pool
Close() error
// returns inuse versus free
Usage() DockerPoolStats
}
func NewDockerPool ¶
func NewDockerPool(conf drivers.Config, driver *DockerDriver) DockerPool
type DockerPoolStats ¶
type DockerPoolStats struct {
// contains filtered or unexported fields
}
type PoolTaskStateType ¶
type PoolTaskStateType int
const ( PoolTaskStateInit PoolTaskStateType = iota // initializing PoolTaskStateReady // ready to be run )
Click to show internal directories.
Click to hide internal directories.