keel.yaml, so it is always in step with
what the deployment actually needs, and it is written for the person
supplying the values — not for whoever wrote the steps.
What goes in
Each variable’s manifest entry comes from its declaration:title override), the type,
whether it is sensitive, whether it is optional, its default, whether it is
asked for at deploy time, any condition it depends on, the description, the
why, the how, the allowed values of a select, and the format
constraints in plain language (“Between 8 and 64 characters”, “Must look
like AKIAXXXXXXXXXXXXXXXX”).
A summary table at the top lists every value with its type, sensitivity, and
whether it is required, followed by a note that sensitive values should be
shared over a secure channel.
Which variables are included
A variable is part of the default selection when it has amanifest: block
(include: true is implied, and include: false opts out). Variables
without a block are left out by default — internal switches and tuning
knobs usually do not belong in a document for a client.
The selection can be changed when generating: the UI builder has a checkbox
per variable, and the CLI takes --var flags.
Generating a manifest
- From the UI
- From the CLI
On a deployment page or a target page, open Export variable manifest.
Pick the variables, preview the result, and download it as Markdown or
as a standalone HTML file that renders without any tooling. Generating
from a target page names that target in the document header.
Writing good manifest text
The person reading the manifest may have never seen your repository. Writewhy and how for them:
- why — one or two sentences on what the value enables and what happens if it is wrong.
- how — the clicks or commands that produce the value, in the console they use. Markdown works: bold the menu items, use code for identifiers.
- Put the format in
validation(with amessage), not in prose; the manifest renders it and the form enforces it. - Mark credentials
secret: trueso the manifest flags them as sensitive.