Hydra CLI is a powerful command line utility designed to manage local development Docker clusters in the Euclid Development Environment. With Hydra CLI, developers can easily create, configure, and manage Constellation Network development clusters for metagraph development.
Hydra CLI is a free and open-source tool that can be easily installed on any operating system that supports bash. Hydra is currently distributed as a part of the Euclid Development Environment project and can be found in the
cargo install argc
Or you can install the argc binaries directly.
Run the install command which accomplishes two things:
- Creates templated currency starter projects for L0 and L1 Currency apps in the
- Removes the project's git configuration so that you're free to check your changes into your own repo. Further infrastructure upgrades can be handled through Hydra.
Create a Github personal access token. This token is necessary for building Tessellation from source.
See Creating a personal access token for details on how to create your token. The token only needs the
euclid.json file with your token. You can leave the other variables as default for now.
Build using the Hydra CLI. This will build a minimal development environment for your project using Docker.
The primary purpose of Hydra is to manage local deployment and configuration of development clusters for developing metagraph projects. Running all the necessary network clusters for development can be quite complex to do from scratch, so Hydra aims to simplify that process.
See Network Architecture for an overview of the role each cluster plays in the Hypergraph.
Hydra uses Docker to launch minimal development clusters for the following supported networks:
- Global L0
- Currency L0
- Currency L1
- DAG L1
It also includes a pair of monitoring containers supporting:
Build the default clusters (Global L0, Currency L0, Currency L1, Monitoring)
To include the DAG L1 network, use the
--include_dag_l1 option. This option is disabled by default because it is not strictly necessary for metagraph development and requires 3 docker containers with their corresponding resource requirements.
scripts/hydra build --include_dag_l1
You can also build clusters individually with the
scripts/hydra build --only global-l0
Built containers can be destroyed with the
Run your built clusters with the
start command. This command also has
Stop running containers with the
stop command. This command also has a
Check the status of all running containers.