Tool for starting local development with VM-s running agents etc. and control plane communicating with with nodes.
- VM lifecycle management: setup, create, stop, resume, reload, shutdown, destroy
- Node management: start-nodes, stop-nodes
Ensure you have the following installed:
- Go (version 1.16 or higher)
- Git
- Docker (for running the complete environment)
- Vagrant
- VirtualBox Additionally, you need to clone and set up the tools repository from https://github.com/c12s/tools, which includes scripts to pull all other repositories and start Docker containers.
- Clone the tools repository:
git clone https://github.com/c12s/tools.git- Navigate to the tools directory and follow the setup instructions in the README.md file of the tools repository to pull all necessary repositories and start Docker containers:
cd tools
./install.sh
./control_plane_start.sh- Clone the cockpit repository in the same parent directory where the tools repository is located:
cd ..
git clone https://github.com/radepejanvic/wormhole.git- Navigate to the cockpit project directory:
cd wormhole- Build the CLI:
go build -o wormhole- Add the executable to your PATH:
export PATH=$PATH:$(pwd)Setup - reads the YAML and generates Vagrantfile
wormhole setup --config ./config.yamlCreate - creates VMs (one, more or all if nothing specified)
wormhole create
wormhole create node0Stop - suspends VMs (one, more or all if nothing specified)
wormhole stop
wormhole stop node0Resume - resumes VMs (one, more or all if nothing specified)
wormhole resume
wormhole resume node0Reload - recreates VM reading Vagrantfile again (one, more or all if nothing specified)
wormhole reload
wormhole reload node0Shutdown - gracefully powers off VMs (one, more or all if nothing specified)
wormhole shutdown
wormhole shutdown node0Destroy - deletes VMs and all of their data (one, more or all if nothing specified)
wormhole destroy
wormhole destroy node0
Start nodes - runs the /vagrant/node_start.sh remotely for specified VMs
wormhole start-nodes node0 node1Stop nodes - runs the /vagrant/nodes_stop.sh remotely for specified VMs
wormhole stop-nodes node0 node1