Skip to content

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:

A screenshot shows the "New service" dropdown menu in the "Services" tab.

  • By using the text editor in the cnc.yml tab to edit the YAML configuration file directly:

A screenshot shows the text editor in the cnc.yml tab of an environment page.

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.

A screenshot shows the "Provisioning task log" in the "Provisioning tasks" tab.

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.

A screenshot shows an environment creation window with the "Clone From Environment" option.

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).