Hydra CLI
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 scripts
directory.
Install Dependencies
Argc
cargo install argc
Or you can install the argc binaries directly.
Docker
Install Project
Run the install command which accomplishes two things:
- Creates templated currency starter projects for L0 and L1 Currency apps in the
source/
directory. - 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.
scripts/hydra install
Configure
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 read:packages
permission.
Edit the .env
file with your token. You can leave the other variables as default for now.
GITHUB_TOKEN=<your-token>
Build
Build using the Hydra CLI. This will build a minimal development environment for your project using Docker.
scripts/hydra build
Usage
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:
- Prometheus
- Grafana
Building
Build the default clusters (Global L0, Currency L0, Currency L1, Monitoring)
scripts/hydra build
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 --only
option
scripts/hydra build --only global-l0
Destroying
Built containers can be destroyed with the destroy
command
scripts/hydra destroy
Starting
Run your built clusters with the start
command. This command also has --include_dag_l1
and --only
options.
scripts/hydra start
Stopping
Stop running containers with the stop
command. This command also has a --only
option.
scripts/hydra stop
Check Status
Check the status of all running containers.
scripts/hydra status