Some of the terms we use in the comments / docs, and what they mean.
A container for a set of commands that are expected to be run in concert, using the
same config (--config=CONFIG_FILE
flag).
The deployment has a name, given by the --name=NAME
flag, and creates a deployments/NAME
directory to hold the outputs related to the deployment.
The equality of config between commands belonging to the same deployment is not checked. Sometimes, it can be useful to change some parameters on the fly, but you should only do so if you know exactly what you're doing and that the result will be compatible with the commands that are already running, and with outputs that have already been generated and won't be regenerated.
Anything that is generated by command in a deployment. This includes files that are needed to run commands, but also logs, node databases, and other generally useful information (e.g. a list of contract addresses deployed on L1).
All the deployments are centralized (WIP) in the deployments/NAME
directory where NAME
is the
deployment name.
These are outputs that are a result of building the software required to run the commands, but are not necessary to run the commands themselves. Essentially, intermediate outputs.
For instance, the node packages in the optimism
monorepo are not needed to run the commands, but
we need to install them to build software in the monorepo (we probably could get smart about this
and avoid it most of the time, but at the moment we don't, and it's not clear it's worth the
maintenance burden).