Overview
Coherence is configured with a superset of cnc.yml
, the configuration language of the CNC framework. Coherence offers further configuration options at both the environment and service level using the x-coherence
YAML block.
How to configure your services
There are two ways to configure your services in Coherence.
- By accessing the Services tab in the Coherence UI:
- By using the text editor in the cnc.yml tab to edit the YAML configuration file directly:
Although you can use either method, many advanced features aren't available through the UI and must be configured in the YAML. Let us know if an important feature is missing for you!
Service options
When you define your services and databases in the Coherence UI, the YAML configuration file named cnc.yml
is automatically generated and populates the cnc.yml
tab. This file is essential for managing your application infrastructure, such as service definitions, resource allocations, and environment settings. Some settings are not yet in the UI, please let us know if an important one is missing for you!
You will also need to configure your environment variables.
Configuration vs. provisioning
Once you've configured your environment and services, navigate to the Provisioning tasks tab and submit a provisioning task to apply the changes to your cloud account. If any errors occur when applying the changes to your cloud, they will be shown on the completed tasks.
Provisioning tasks in Coherence work in the same way that the cnc provision
command works for CNC.
Environment cloning
Once you have a working environment, you can clone it in full or in part by selecting the Clone From Environment option when creating a new environment.
Then, set a default environment to clone for branch previews on the Application Settings page.
CNC vs. Coherence
Coherence adds the x-coherence
block to the cnc.yml
:
-
At the environment level of the YAML, this will be used for settings that aren't relevant in CNC, like Build machine type (since you decide which machine to install and run CNC on).
-
At the service level, this will be used for settings that aren't relevant in CNC, like Track branch name and Repo ID (since you decide what code is present when you run the CNC commands).