Flag mode

Every Reis create / update command can be driven directly from the shell — pass each field as a --flag value pair. This is the mode you reach for in scripts, CI jobs, and one-off operations where reaching for a YAML file is overkill.

Updated 23 Jun 20263 min read

Every Reis create / update command can be driven directly from the shell — pass each field as a --flag value pair. This is the mode you reach for in scripts, CI jobs, and one-off operations where reaching for a YAML file is overkill.

Flag names match the field names you see in YAML mode exactly. If you've written a YAML file that sets cpu: "500" under workload, the equivalent flag is --cpu 500. There's nothing to translate.

How to run a command

Three idioms cover every use case:

# Pass every required field — no prompts, suitable for scripts
reis container:create \
  --name "Web API" --handle web-api \
  --image ghcr.io/myorg/api:v1.0.0 \
  --type http \
  --cpu 500 --memory 512 \
  --regions falkenstein-1
 
# Omit required fields — Reis prompts you through them interactively
reis container:create
 
# Mix both — pass what you know, get prompted for the rest
reis container:create --type cronjob --schedule "0 2 * * *"

--no-interaction forces non-interactive mode and fails with an error message instead of prompting.

Repeatable flags

A handful of fields are lists, and you set them by passing the flag multiple times:

reis container:create \
  --regions falkenstein-1 --regions virginia-1 \
  --env NODE_ENV=production --env LOG_LEVEL=info \
  --secrets DB_PASSWORD=db-password --secrets API_KEY=api-key
FlagFormatUsed by
--regionsone region ID per flagevery asset
--envKEY=valuecontainers
--secretsENV_NAME=secret-handlecontainers
--commandone ENTRYPOINT token per flagworkers, cronjobs
--argsone CMD token per flagworkers, cronjobs

Short aliases: -r for --regions, -e for --env, -s for --secrets.

Note: project attachments (which org-level registries, secrets, TLS bundles, configs, etc. a project can use) are not toggled via project:create or project:update flags. Use the dedicated reis project:attach, reis project:detach, and reis project:attachments commands instead — see Commands Reference: Projects.

Boolean flags

Booleans are negatable — pass --flag to set true, --no-flag to set false:

reis container:update my-cron --suspended       # pause a cron job
reis container:update my-cron --no-suspended    # resume it

If you don't pass either form, the field is left untouched on update.

Per-asset deployment guides

Each deployable asset has its own flag-mode walkthrough with the exact flags that apply to it:

For the full reference of every command and every flag, see Commands.

Flag mode vs YAML mode

You're doing…Reach for…
A one-off deploy from your laptopflag mode
A scripted CI job that builds the same containerflag mode
Managing a stack of related resources togetherYAML mode
Onboarding a new project under version controlYAML mode
Quick edits to a field or twoflag mode
Restoring a previously exported configYAML mode

Both modes produce identical results — they're two ways of expressing the same intent.