Documentation ¶
Overview ¶
ContainerPilot is an init system for cloud-native distributed applications that automates the process of service discovery, configuration, and lifecycle management inside the container, so you can focus on your apps.
Directories ¶
Path | Synopsis |
---|---|
Package client provides a HTTP client used to send commands to the ContainerPilot control socket
|
Package client provides a HTTP client used to send commands to the ContainerPilot control socket |
Package commands provides a wrapper around os/exec to consistently manage process execution, cancellation of their child processes, timeouts, logging, arg parsing, and correct shutdown.
|
Package commands provides a wrapper around os/exec to consistently manage process execution, cancellation of their child processes, timeouts, logging, arg parsing, and correct shutdown. |
Package config is the top-level configuration parsing package
|
Package config is the top-level configuration parsing package |
decode
Package decode contains helper functions for turning mapstructure interfaces into simpler structs for configs
|
Package decode contains helper functions for turning mapstructure interfaces into simpler structs for configs |
logger
Package logger manages the configuration of logging
|
Package logger manages the configuration of logging |
services
Package services contains miscellaneous configuration validation for service names and IP addresses registered with Consul
|
Package services contains miscellaneous configuration validation for service names and IP addresses registered with Consul |
template
Package template provides rendering for the configuration files and the extra functions for use by the golang templating engine.
|
Package template provides rendering for the configuration files and the extra functions for use by the golang templating engine. |
timing
Package timing provides functions for parsing time configurations into time.Duration instances
|
Package timing provides functions for parsing time configurations into time.Duration instances |
Package control provides a HTTP server listening on the unix domain socket for use as a control plane, as well as all the HTTP endpoints.
|
Package control provides a HTTP server listening on the unix domain socket for use as a control plane, as well as all the HTTP endpoints. |
Package core contains the main control loop.
|
Package core contains the main control loop. |
Package discovery manages the configuration of the Consul clients and the functions used to update/query Consul with service discovery data.
|
Package discovery manages the configuration of the Consul clients and the functions used to update/query Consul with service discovery data. |
Package events contains the internal message bus used to broadcast events between goroutines representing jobs, watches, etc.
|
Package events contains the internal message bus used to broadcast events between goroutines representing jobs, watches, etc. |
Package jobs manages the configuration and execution of the jobs
|
Package jobs manages the configuration and execution of the jobs |
Package subcommands provides all the alternative top-level functions that run one-off commands that don't run the main event loop.
|
Package subcommands provides all the alternative top-level functions that run one-off commands that don't run the main event loop. |
Package sup provides the child process reaper for PID1
|
Package sup provides the child process reaper for PID1 |
Package telemetry provides a Prometheus client and the configuration for metrics collectors
|
Package telemetry provides a Prometheus client and the configuration for metrics collectors |
Package version only provides some package variables set at build time
|
Package version only provides some package variables set at build time |
Package watches manages the configuration and running of Consul service monitoring
|
Package watches manages the configuration and running of Consul service monitoring |
Click to show internal directories.
Click to hide internal directories.