Chains is part of the Truss CLI.


truss chains deploy [OPTIONS] SOURCE [ENTRYPOINT]

Deploys a chain remotely.

  • SOURCE: Path to a python file that contains the entrypoint chainlet.
  • ENTRYPOINT: Class name of the entrypoint chainlet in source file. May be omitted if a chainlet definition in SOURCE is tagged with @chains.mark_entrypoint.


  • --name (TEXT): Name of the chain to be deployed, if not given, the entrypoint name is used.
  • --publish: Create chainlets as published deployments.
  • --promote: Replace production chainlets with newly deployed chainlets.
  • --wait: Wait until all chainlets are ready (or deployment failed).
  • --dryrun: Produces only generated files, but doesn’t deploy anything.
  • --remote (TEXT): Name of the remote in .trussrc to push to.
  • --user_env(TEXT): Key-value-pairs (as JSON str) that can be used to control deployment-specific chainlet behavior.
  • --log [humanfriendly|I|INFO|D|DEBUG]: Customizes logging.
  • --help: Show this message and exit.


truss chains init [OPTIONS] [DIRECTORY]

Initializes a chains project directory.

  • DIRECTORY: A name of new or existing directory to create the chain in, it must be empty. If not specified, the current directory is used.


  • --log [humanfriendly|I|INFO|D|DEBUG]: Customizes logging.
  • --help: Show this message and exit.