containerpilot: github.com/joyent/containerpilot Files | Directories

Command containerpilot

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.

Package Files

main.go

Directories

PathSynopsis
clientPackage client provides a HTTP client used to send commands to the ContainerPilot control socket
commandsPackage commands provides a wrapper around os/exec to consistently manage process execution, cancellation of their child processes, timeouts, logging, arg parsing, and correct shutdown.
configPackage config is the top-level configuration parsing package
config/decodePackage decode contains helper functions for turning mapstructure interfaces into simpler structs for configs
config/loggerPackage logger manages the configuration of logging
config/servicesPackage services contains miscellaneous configuration validation for service names and IP addresses registered with Consul
config/templatePackage template provides rendering for the configuration files and the extra functions for use by the golang templating engine.
config/timingPackage timing provides functions for parsing time configurations into time.Duration instances
controlPackage control provides a HTTP server listening on the unix domain socket for use as a control plane, as well as all the HTTP endpoints.
corePackage core contains the main control loop.
discoveryPackage discovery manages the configuration of the Consul clients and the functions used to update/query Consul with service discovery data.
eventsPackage events contains the internal message bus used to broadcast events between goroutines representing jobs, watches, etc.
jobsPackage jobs manages the configuration and execution of the jobs
subcommandsPackage subcommands provides all the alternative top-level functions that run one-off commands that don't run the main event loop.
supPackage sup provides the child process reaper for PID1
telemetryPackage telemetry provides a Prometheus client and the configuration for metrics collectors
tests
tests/mocks
versionPackage version only provides some package variables set at build time
watchesPackage watches manages the configuration and running of Consul service monitoring

Package main imports 5 packages (graph). Updated 2019-05-11. Refresh now. Tools for package owners.