Skip to content
RunningLake
Contents: Start

RUNNING

The repository and change sets

Everything you declare is a file, and every change to those files is one change set that can be looked at before anything happens.

Configuration is files

A table, a pipeline, a layer, a schema, a volume and a grant are each a YAML file in your project’s repository. The files are your intent: what you want to be true. What RunningLake then holds in its database is what actually happened, and the two can differ for a while. rl status shows where an environment actually is, as opposed to what the repository says it should be.

The repository

Every project has a repository. On the hosted plans it is kept for you by RunningLake, so there is nothing to set up, and a change to an environment is committed there when it is applied. Each environment follows its own branch, and the files for one environment can be adjusted over the shared ones with an overlay for that environment.

A change set

A change set is one proposed change to one environment: the files that would be added, the ones that would be kept, and the ones that would go. You make one by planning your files against an environment, and you can plan as often as you like, because planning sends nothing that changes anything.

  • rl diff checks your files offline, exactly as the control plane would, and sends nothing.
  • rl plan shows what the files would change in one environment, as one change set.
  • rl deploy plans, then submits it. Run again with nothing left to change, it says there is nothing to submit and submits nothing. A submission carries a key, random unless you give one with -key, so to retry a submission that may have gone through, give the same key.

What happens to a submitted change set depends on the environment’s change policy. It is either applied straight away, or it is recorded as proposed and waits for an approval. See Review and approval.

One path for every client

The console, the API and rl all make the same kind of change set, so a change made in one is there to be seen, approved or rejected in the others. A Terraform provider would be one more client of that path; what is true about Terraform today says where that stands.

Where to go next