Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeDotLabels ¶
DeDotLabels returns a new mapstr.M containing a copy of the labels where the dots have been converted into nested structure, avoiding possible mapping errors
func ExtractContainerName ¶
ExtractContainerName strips the `/` characters that frequently appear in container names
func NewClient ¶
func NewClient(host string, httpClient *http.Client, httpHeaders map[string]string) (*client.Client, error)
NewClient builds and returns a new Docker client. On the first request the client will negotiate the API version with the server unless DOCKER_API_VERSION is set in the environment.
Types ¶
type Client ¶
type Client interface { ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error) ContainerInspect(ctx context.Context, container string) (types.ContainerJSON, error) Events(ctx context.Context, options types.EventsOptions) (<-chan events.Message, <-chan error) }
Client for docker interface
type Container ¶
type Container struct { ID string Name string Image string Labels map[string]string IPAddresses []string Ports []types.Port }
Container info retrieved by the watcher
type TLSConfig ¶
type TLSConfig struct { CA string `config:"certificate_authority"` Certificate string `config:"certificate"` Key string `config:"key"` }
TLSConfig for docker socket connection
type Watcher ¶
type Watcher interface { // Start watching docker API for new containers Start() error // Stop watching docker API for new containers Stop() // Container returns the running container with the given ID or nil if unknown Container(ID string) *Container // Containers returns the list of known containers Containers() map[string]*Container // ListenStart returns a bus listener to receive container started events, with a `container` key holding it ListenStart() bus.Listener // ListenStop returns a bus listener to receive container stopped events, with a `container` key holding it ListenStop() bus.Listener }
Watcher reads docker events and keeps a list of known containers
func NewWatcher ¶
NewWatcher returns a watcher running for the given settings