Skip to content

allez document

Print the solution document as JSON, for tools. The same data allez deploy --plan prints from, plus the audit's findings for every declared environment and the lines each parameter.yml rule matches. The VS Code extension reads this; anything else that wants the plan as data can too.

It makes no Fabric call, so it needs no credentials, and workspace ids appear as the plan prints them: from the .allez/cache/ where one is cached, else a placeholder like <workspace id of allez-data-test>.

Usage

allez document [OPTIONS] [PATH]

Arguments

Argument Description
PATH Solution root (fabric/) or a single workspace sub-folder. Default: .

Options

Option Description
--env, -e <name> The environment the document resolves for. Default: the first declared. An undeclared name is a load error.

The document

One JSON object on stdout, nothing else. Its keys:

Key What it holds
env, environments The resolved environment and every declared one.
nodes The dag's nodes in deploy order. Each carries its config file, status for this environment, workspace name and id or placeholder, effective config with overlay keys marked, items in fabric-cicd's publish order (each with the Fabric folder it sits in, empty at the top level), pre- and post-deploy hook steps, $allez.* resolutions, and every parameter.yml rule with this environment's replace_value and the matches the audit found for it, each a file, a line and that line's text.
ignored Files the dag does not list. Only listed configs deploy.
references Every id in an in-scope item file, for this environment: its file and line, the item it sits in, its coverage (autobinding, dynamic, token, static or uncovered), how (how), the parameter file that covers it (via), and its target sub-folder, item and environment when it has one in the solution. autobinding is only what fabric-cicd rebinds by itself: the logical id of an item in the same sub-folder, a nil workspace id, a nil shortcut item id.
findings The audit's findings for every declared environment, whatever --env picked, so a Problems panel can show an env-gap wherever it is. Each names its kind, environment, file and line.
publish_order fabric-cicd's serial publish order, with the pinned version it was copied from.

Examples

allez document fabric --env feature
allez document fabric | python -m json.tool

Behaviour

  • Offline. No fab call, no credential, no file written.
  • One object on stdout. An error prints the loader's message naming the file and the key, exits 1, and writes no partial JSON.
  • The same facts as the plan. It is built by the same code as deploy --plan, so the two always agree.