Skip to content

Deployment

A deployment is solver code under run/ and its dataset under data/, published under a name your company owns. aura deploy creates one from the config table describing it; every other verb here acts on one that already exists.

Terminal window
aura deploy --dry-run # print the resolved file list, upload nothing
aura deploy # upload, then run the server-side runnability check
Option Does
[name] Which table to read, when the file defines more than one
--config <path> The pyproject.toml to read (default: the nearest one with [tool.aura])
--dry-run Print what would upload, change nothing
--verbose Log every file — + new, replaced — instead of one summary line per run

The uploads run, then the runnability check; a failing check exits non-zero. On success it prints the aura project create command for what you just deployed.

Remote run/ and data/ are made to match your local folders: after the uploads, remote files no longer present locally are removed, so renames and deletions leave nothing stale. A failed upload stops the sync before it prunes.

Agent config syncs only where you declared it. Omitting agents_md or skills_folder leaves whatever is already uploaded alone; declaring one makes the local tree authoritative, and remote entries missing locally are then pruned.

Command Does
aura deployment list List your company’s deployments
aura deployment check [name] Run the server-side runnability check
aura deployment delete <handle|name> Delete a deployment and every file in it (y/N prompt; --yes to skip)
aura deployment file list [name] Tree of deployment files (--prefix <path>, --flat)
aura deployment file upload <local> <remote> [name] Upload one file, replacing whatever is at that path
aura deployment file delete <remote> [name] Remove one file (y/N prompt; --yes to skip)
aura deployment instructions show [name] Print the instructions it ships
aura deployment instructions set <file> [name] Replace them with a file’s contents
aura deployment instructions delete [name] Remove them
aura deployment skills list [name] List its skills, with descriptions
aura deployment skills show <skill> [name] Print one skill in full, file contents included
aura deployment skills set <dir> [name] Upload one skill from a directory
aura deployment skills delete <skill> [name] Remove one skill

Changing a deployment’s instructions or skills sets what future projects inherit. It never reaches a project that already exists — that project holds its own copy, and pulls a revision in only when you ask it to.

aura deploy is a sync, so it prunes. To swap in one data file or patch one solver module, use aura deployment file, which touches nothing but the path you name.

Terminal window
aura deployment file list --prefix run/src/ # what is up there
aura deployment file upload ./src/solver/model.py run/src/solver/model.py
aura deployment file upload ./tuesday.csv data/orders.csv # rename on the way up
aura deployment file delete data/stale.csv --yes
  • The remote path is always explicit. A deployment’s layout is not your local one — aura deploy puts model_folder under run/ and data_folder under data/ — so nothing is inferred from the local path. One file per command.
  • Uploads must land under run/ or data/. Nothing else is part of the run contract. file delete takes any path file list prints, since removing a file cannot create a stray one.
  • The content type comes from the remote path, which is the name a run reads — so renaming on the way up types the file by its destination.
  • The runnability check runs after both. Pass --no-check to skip it, for the middle of a && chain.

[name] in brackets is optional: omit it and the command reads the name from the nearest config table, or from --config <path>. It never means “every deployment” — each command acts on exactly one, and outside a model folder it fails rather than guessing.

Terminal window
cd my-model/solver
aura deployment skills list # the deployment this folder defines
aura deployment skills list vrp # named outright, from anywhere

Either spelling works: vrp, or the full acme/vrp handle you get from aura project create. A handle whose company is not yours is refused rather than resolving to your own deployment of that name.