All StratusLab services must follow a common configuration scheme where the core of the configuration is stored in the Couchbase database. Only the Couchbase configuration parameters are read from a file on the local filesystem.
This scheme allows the overall system to scale with multiple service instances while maintaining consistent configurations between them.
Couchbase Connection Parameters¶
The Couchbase connection parameters must reside in a file on the
physical machine to bootstrap the configuration mechanism. This file
/etc/stratuslab/couchbase.cfg is in the standard “ini” format:
[DEFAULT] hosts=host1,host2,host3 bucket=bucket1 password=bucket1_password [service] hosts=host4 bucket=other_bucket password=other_password cfg_docid=docid
Each section corresponds to the parameters for a particular service. The
name of the section is defined by the service. If parameters are not
defined in a specific section, then the ones in the
will be used. Services may have a default value for the
Service Instance Configuration¶
After reading the Couchbase connection parameters, the service should
read its configuration from a document in Couchbase. The document
identifier containing the configuration is defined by the service, but
may be overridden by the
cfg_docid parameter in the local
To use Couchbase efficiently, these configuration files should be in JSON format. This allows them to be pulled into native data structures easily for our preferred implementation languages.