Skip to main content
Every project has one person who really knows how to deploy it: the order of the commands, the CLIs that need to be installed, the six environment variables, the section of the README that says “then run this script”. When that person is on holiday, nobody deploys. Keel moves that knowledge out of people’s heads and into a file. A keel.yaml at the root of the repository describes each deployment: the container image the steps run in, the ordered steps, and the typed, validated variables the steps need. From that file Keel renders a proper form, stores each target’s values encrypted, runs the steps in Docker with live logs, and captures outputs when a run succeeds. The people who press the button do not need the tools, the credentials, or the repository. They need a browser.
keel.yaml

The building blocks

Deployments

Defined in keel.yaml the way services are defined in a compose file. Each names its environment, its steps, and its variables.

Variables

Declared like Terraform inputs: typed, validated, optionally secret. Keel renders the form, so email fields, dropdowns, and number ranges come for free.

Targets

A concrete place a deployment goes: a client, an environment, a region. Each keeps its own encrypted values and its own run history.

Runs

Execute the steps inside the environment container with the repository mounted and every variable exported. Live logs, per-step status, cancellation, secret masking.

Outputs

Environment variables captured when a run succeeds — a service URL, an image reference, a rotated key — shown with copy buttons and stored per run.

Variable manifests

Generated documents you hand to whoever must supply the values, explaining what each one is, why it is needed, and how to get it.

Two editions, one engine

Keel ships as two binaries that share the same engine and the same UI. Start with Keel Dev to author and test a keel.yaml. Move to Keel Cloud when more than one person needs to deploy, or when deploys should happen on push.
Keel executes deployment steps with Docker. Runs happen on the machine that runs Keel — your laptop for Keel Dev, the server for Keel Cloud — never on a hosted service you do not control.

Where to go next

Install

Get the keel command onto your machine with one line.

Quickstart

From an empty repository to a deploy with live logs in ten minutes.

keel.yaml reference

Every key, every default, every validation rule.

Keel Cloud

Self-host the multi-user edition, or let Keel deploy it for you on Google Cloud.