Documentation
¶
Index ¶
- func DeDotLabels(labels map[string]string, dedot bool) mapstr.M
- func ExtractContainerName(names []string) string
- func NewClient(host string, httpClient *http.Client, httpHeaders map[string]string, ...) (*client.Client, error)
- type Client
- type Container
- type TLSConfig
- type Watcher
- type WatcherConstructor
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, logger *logp.Logger) (*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) ([]container.Summary, error)
ContainerInspect(ctx context.Context, container string) (container.InspectResponse, error)
Events(ctx context.Context, options events.ListOptions) (<-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 []container.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