Commissaire Services¶
Commissaire Service is a framework for writing long running services for the Commissaire management system. It provides a standard way to connect to Commissaire’s message bus and provide/consume services.
Each service by default looks for a .conf
file named after itself
in /etc/commissaire
for its configuration. For example, the Storage
service looks for /etc/commissaire/storage.conf
. The default location
can be overridden with the -c/--config
command-line option for any of
the services.
For easier deployment on cloud services, each Commissaire service will also
look to etcd for configuration if certain environment variables are defined,
particularly ETCD_MACHINES
.
Recognized environment variables for retrieving configuration from etcd
are:
ETCD_MACHINES
: Comma-separated list ofetcd
service URLsETCD_TLSPEM
: Optional path to local TLS client certificate public key fileETCD_TLSKEY
: Optional path to local TLS client certificate private key fileETCD_CACERT
: Optional path to local TLS certificate authority public key fileETCD_USERNAME
: Optional username used for basic authETCD_PASSWORD
: Optional password used for basic auth
Example Use Cases¶
Commissaire Clusterexec¶
Commissaire’s Cluster Execution
service is a set of long running processes
which handle rolling operations over hosts in a cluster.
- Local configuration in file
/etc/commissaire/clusterexec.conf
- Remote configuration in
etcd
key/commissaire/config/clusterexec
Commissaire Container Manager¶
Commissaire’s Container Manager
service is a set of long running processes
which provide a consistant API to work with container managers.
- Local configuration in file
/etc/commissaire/containermgr.conf
- Remote configuration in
etcd
key/commissaire/config/containermgr
Commissaire Investigator¶
Commissaire’s Investigator
is a set of long running processes which
connect to and bootstrap new hosts wanting to be managed by Commissaire.
- Local configuration in file
/etc/commissaire/investigator.conf
- Remote configuration in
etcd
key/commissaire/config/investigator
Commissaire Watcher¶
Commissaire’s Watcher
is a set of long running processes which periodically
connects to hosts that have already been bootstrapped and checks their status.
- Local configuration in file
/etc/commissaire/watcher.conf
- Remote configuration in
etcd
key/commissaire/config/watcher
Commissaire Storage¶
Commissaire’s Storage
is a set of long running processes which broker
storage and retrieval requests of persistent data.
Additionally, this service publishes notifications on the bus when creating, updating or deleting stored records. Other services can listen for and react to these notifications to automatically update internal state or kick off a long-running operation.
- Local configuration in file
/etc/commissaire/storage.conf
- Remote configuration in
etcd
key/commissaire/config/storage