docker

package
v0.3.641 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2019 License: Apache-2.0 Imports: 28 Imported by: 8

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 (
	FnAgentClassifierLabel = "fn-agent-classifier"
	FnAgentInstanceLabel   = "fn-agent-instance"
)
View Source
const (
	LimitPerSec = 10
	LimitBurst  = 20
)

Variables

View Source
var (
	ErrorPoolEmpty = errors.New("docker pre fork pool empty")
)

Functions

func RecordWaitContainerResult

func RecordWaitContainerResult(ctx context.Context, exitCode int)

func RegisterViews

func RegisterViews(tagKeys []string, latencyDist []float64)

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 NewDocker

func NewDocker(conf drivers.Config) *DockerDriver

implements drivers.Driver

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

func (drv *DockerDriver) PrepareCookie(ctx context.Context, cookie drivers.Cookie) error

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
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL