CLI Overview

Why use Coalesce CLI?

Coalesce provides a CLI (Command Line Interface, or coa) to enable automated CI/CD workflows for Coalesce projects. The CLI coa is intended for users with stringent on-premise data requirements and connects directly to Snowflake from your local environment instead of using the Coalesce cloud backend to route Snowflake SQL commands and data.

The CLI and SaaS app can be used in tandem. For example, users may prefer our SaaS app for development and switch to our CLI for production, or choose to deploy using the GUI and refresh the data warehouse via the CLI.

🚧

CLI Outbound Connection

Coalesce CLI uses an outbound connection to Coalesce metadata for tracking environment state and execution results.

How does Coalesce CLI work?

  1. The user commits their Coalesce project to a git repository using the SaaS app.
  2. The git repository is cloned to a local machine on which coa is installed.
  3. The user executes code locally with coa commands. coa reads the files from the locally cloned git commit and deploys the metadata configuration to an environment.
  4. The deploy saves the metadata configuration to the environment, so that future refreshes use the current state of the data warehouse stored in the metadata.

The team will run the refresh every hour, only issuing a deploy when a structural change to the data warehouse is needed.

REST API

Coalesce also offers a rest API for some of the functionality provided by coa, the CLI tool. The rest API can be a useful option for those that do not want to maintain on-premise infrastructure, but it does connect directly to your Snowflake environment from the Coalesce Cloud backend.