onctl is a tool to manage virtual machines in multi-cloud.
Check π https://docs.onctl.io for detailed documentation
- π Simple intuitive CLI to run VMs in seconds.
- β οΈ Supports multi cloud providers (aws, azure, gcp, hetzner, more coming soon...)
- π₯ Run local microVMs with the
firecrackerprovider (Linux + KVM, no cloud account needed). No bare-metal Linux box? Create a nested-virtualization-enabled GCP VM (gcp.vm.nestedVirtualization: true) withonctl create -n fc-host -a firecracker/firecracker-host-setup.sh, then SSH in and runONCTL_CLOUD=firecracker onctl create -n my-microvm. - π Sets your public key and Gives you SSH access with
onctl ssh <vm-name> - β¨ Cloud-init support. Set your own cloud-init file
onctl up -n qwe --cloud-init <cloud.init.file> - π€ Use ready to use templates to configure your vm. Check onctl-templates
onctl up -n qwe -a k3s/k3s-server.sh - ποΈ Use your custom local or http accessible scripts to configure your vm.
onctl ssh qwe -a <my_local_script.sh>
initialize project. this will create a .onctl directory. check configuration file and set as needed.
β― onctl init
onctl environment initialized
export ONCTL_CLOUD to set Cloud Provider.
β― export ONCTL_CLOUD=hetzner
Be sure that credentials for that specific cloud provider is already set.
If you already use cloud provider CLI. They're already . ex. az, aws, hcloud
β― echo $HCLOUD_TOKEN
Create VM.
β― onctl up -n onctl-test
Using: hetzner
Creating SSHKey: onctl-42da32a9...
SSH Key already exists (onctl-42da32a9)
Starting server...
Server IP: 168.119.58.112
Vm started.
Ssh into VM.
β― onctl ssh onctl-test
Using: hetzner
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-89-generic x86_64)
.
.
.
root@onctl-test:~#
brew install cdalar/tap/onctlcurl -sLS https://docs.onctl.io/get.sh | bash
sudo install onctl /usr/local/bin/- download windows binary from releases page
- unzip and copy onctl.exe to a location in PATH
β― onctl
onctl is a tool to manage cross platform resources in cloud
Usage:
onctl [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
create Create a VM
destroy Destroy VM(s)
help Help about any command
init init onctl environment
ls List VMs
ssh Spawn an SSH connection to a VM
version Print the version number of onctl
Flags:
-h, --help help for onctl
Use "onctl [command] --help" for more information about a command.
For development guidelines β especially when using AI coding agents (opencode, Claude, etc.) β see AGENTS.md.
Important: When running multiple AI agents in parallel on this repo, you must use separate git worktrees (or clones) for isolation. See the "Coordinating multiple agents..." section in AGENTS.md.