Advanced Service Configuration
For advanced requirements, Indigo provides a mechanism for unlimited control over the service configurations, by giving direct access to the underlying service config files.
Indigo allows you to provide custom configuration overrides, at the filesystem level. Do so requires a general understanding of how Indigo manages service configuration.
- Indigo ships with clean configurations for each service, stored inside the application bundle (
- when you include a service in a stack, Indigo saves a copy of each config into a central location (
- Indigo then merges any service configurations found inside the stack configuration file
- finally, Indigo customises these stack config files for each stack as needed (using
.indigostack files are actually bundles, and if correctly-named directories are found inside the bundle, Indigo will recursively merge them over the top of its own configuration.
An example scenario
As an example, a
workproject.indigostack bundle could contain the following manually-added directory structures and files:
php_B058/etc/conf.d/php+pcre.inifor advanced PHP configuration
php_A969/etc/php.inito configure a higher
memory_limitfor another PHP service
system/nginx_reverse_proxy/conf/sites-enabled/custom.confto customise the system stack’s reverse proxy configuration
Using a PHP service as an example:
A. Prepare the new config
- locate the source configuration files for the service. These are inside the Indigo app bundle at
- copy that file to your Desktop, together with its containing folder(s). The result should be something like
- edit the config file (in this example
php.ini) however you wish
- additionally, it’s possible to add totally new config files. These need to appear in the file system locations that the service would normally expect to find them.
B. Rename new config parent directory
- Indigo gives each service a unique ID when it is added to a stack. To find this, in Indigo right-click the service in the rack and select “Show Compiled in Finder”
- take note of the service folder name eg
- rename the folder on your desktop to match ie from
C. Move the new config into your indigostack file
- in Indigo, right-click on the stack and select “Show in Finder” to locate its
- show the contents of the
.indigostackfile: right-click it in the Finder and select “Show Package Contents”
- move the new config from your Desktop into your
- Indigo should notice the change and automatically rebuild your stack. If not, in Indigo right-click the stack and select “Rebuild…”