Skip to content

Channel presets

Name your release channels, map each to a deploy environment and image tag, choose shared or own databases, and see why a schema-removing migration waits.

Updated View as MarkdownOpen in ChatGPTOpen in Claude

A channel preset gives a project a set of release channels, each with a name you choose, a deploy environment, an image tag and a way of holding its data. Merges are collected first. A build then moves up through the channels only when each channel’s checks pass.

The nightly, weekly, monthly preset

Today there is one preset, nightly-weekly-monthly. It sets four channels.

Channel name Takes builds Deploys to environment Image tag Database
merged Every merge that passes checks None, it only collects merges None Shared
nightly The night’s build, each day at 02:00 UTC preview preview Shared
weekly A week’s build, Tuesdays at 02:00 UTC, after 24 hours on nightly latest latest Shared
monthly A month’s build, the first Tuesday at 02:00 UTC, after 168 hours on weekly stable stable Shared

Set it from the command line with an agent token for the team, or as a person who manages policy:

overlane channel preset nightly-weekly-monthly --dry-run
overlane channel preset nightly-weekly-monthly

channel preset shows each channel as a line such as “Deploys to latest as latest, shared database”. The Releases screen in the web app shows the same line under each channel, and the same choice under Channels, Channel preset.

Channel to environment and image tag

Each channel names one environment of the project and one image tag. When a build reaches the channel, Overlane deploys it to that environment and the build carries that tag in your registry. A channel with no environment only collects merges.

The mapping does not depend on what the environment runs. Any environment of the project can sit behind a channel. Two channels cannot share a name, an image tag or an environment.

Shared and own database

Each channel holds its data one of two ways.

  • Own database. The channel has its own database. A build brings its migrations when it arrives, and they run at once.
  • Shared database. Every shared channel uses one database. An additive migration, such as a new table or a nullable column, runs at once. A migration that removes or renames something waits.

Why a migration waits

On a shared database, a channel that still runs older code needs the current schema. If a build on the weekly channel removes a column, the monthly channel is still running code that reads it. Running the removal would break the monthly channel.

So Overlane holds the step. The Releases screen lists it under Waiting migrations with the channel names it waits on, such as “Waiting on monthly”. When no shared channel runs the old code any longer, for example after the newer build reaches monthly, the step runs on its own. Add the new shape first, move the code over, then remove the old shape in a later build.

Deploy targets

A channel’s environment can sit on a Cloudflare Worker, a Vercel project, a Netlify site, a Fly app, an AWS Lambda function or a container image with its Postgres database. A container target’s channels name the tag each environment follows, such as production=stable.

See Environments and previews for adding a target and an environment, and Releases for signed releases of the Overlane plugin.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.