package api

import "github.com/docker/swarm/api"

Index

Constants

const (
	// APIVERSION is the default API version supported by swarm manager
	APIVERSION = "1.30"
)
const DefaultDockerPort = ":2375"

DefaultDockerPort is the default port to listen on for incoming connections.

Variables

var (
	ShouldRefreshOnNodeFilter  = false
	ContainerNameRefreshFilter = ""
)

Functions

func MatchImageOSError

func MatchImageOSError(errMsg string) string

MatchImageOSError matches a daemon error message that states that an image cannot be built on a node because the image has a base image that uses the wrong operating system. This function pulls out the required OS from the error message.

func NewPrimary

func NewPrimary(cluster cluster.Cluster, tlsConfig *tls.Config, status StatusHandler, debug, enableCors bool) *mux.Router

NewPrimary creates a new API router.

Types

type ContainerSorter

type ContainerSorter []*cluster.Container

ContainerSorter implements the Sort interface to sort Docker containers. It is not guaranteed to be a stable sort.

func (ContainerSorter) Len

func (s ContainerSorter) Len() int

Len returns the number of containers to be sorted.

func (ContainerSorter) Less

func (s ContainerSorter) Less(i, j int) bool

Less reports whether the container with index i should sort before the container with index j. Containers are sorted chronologically by when they were created.

func (ContainerSorter) Swap

func (s ContainerSorter) Swap(i, j int)

Swap exchanges the container elements with indices i and j.

type ImageSorter

type ImageSorter []types.ImageSummary

ImageSorter implements the Sort interface to sort Docker Images. It is not guaranteed to be a stable sort.

func (ImageSorter) Len

func (s ImageSorter) Len() int

Len returns the number of images to be sorted.

func (ImageSorter) Less

func (s ImageSorter) Less(i, j int) bool

Less reports whether the Image with index i should sort before the Image with index j. Images are sorted chronologically by when they were created.

func (ImageSorter) Swap

func (s ImageSorter) Swap(i, j int)

Swap exchanges the container elements with indices i and j.

type Replica

type Replica struct {
	// contains filtered or unexported fields
}

Replica is an API replica that reserves proxy to the primary.

func NewReplica

func NewReplica(handler http.Handler, tlsConfig *tls.Config, addr string) *Replica

NewReplica creates a new API replica.

func (*Replica) ServeHTTP

func (p *Replica) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP is the http.Handler.

func (*Replica) SetPrimary

func (p *Replica) SetPrimary(primary string)

SetPrimary sets the address of the primary Swarm manager

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server is a Docker API server.

func NewServer

func NewServer(hosts []string, tlsConfig *tls.Config) *Server

NewServer creates an api.Server.

func (*Server) ListenAndServe

func (s *Server) ListenAndServe() error

ListenAndServe starts an HTTP server on each host to listen on its TCP or Unix network address and calls Serve on each host's server to handle requests on incoming connections.

The expected format for a host string is [protocol://]address. The protocol must be either "tcp" or "unix", with "tcp" used by default if not specified.

func (*Server) SetHandler

func (s *Server) SetHandler(handler http.Handler)

SetHandler is used to overwrite the HTTP handler for the API. This can be the api router or a reverse proxy.

type StatusHandler

type StatusHandler interface {
	// Info provides key/values to be added to docker info.
	Status() [][2]string
}

StatusHandler allows the API to display extra information on docker info.

type WriteFlusher

type WriteFlusher struct {
	sync.Mutex
	// contains filtered or unexported fields
}

A WriteFlusher provides synchronized write access to the writer's underlying data stream and ensures that each write is flushed immediately.

func NewWriteFlusher

func NewWriteFlusher(w io.Writer) *WriteFlusher

NewWriteFlusher creates a new WriteFlusher for the writer.

func (*WriteFlusher) Flush

func (wf *WriteFlusher) Flush()

Flush flushes the stream immediately.

func (*WriteFlusher) Write

func (wf *WriteFlusher) Write(b []byte) (n int, err error)

Write writes the bytes to a stream and flushes the stream.

Source Files

flusher.go handlers.go primary.go replica.go server.go server_unix.go sorter.go status.go utils.go

Directories

PathSynopsis
api/mockclient
api/nopclient
Version
v1.2.9 (latest)
Published
Jun 1, 2018
Platform
linux/amd64
Imports
33 packages
Last checked
3 weeks ago

Tools for package owners.