Skip to main content

Onctl

onctl is a tool to manage virtual machines in multi-cloud.

Check 🌍 https://onctl.sh for detailed documentation

build Lint CodeQL codecov Github All Releases GitHub release (latest SemVer)

What onctl brings

  • 🌍 Simple intuitive CLI to run VMs in seconds.
  • ⛅️ Supports multi cloud providers (aws, azure, hetzner, more coming soon...)
  • 🚀 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>

Quick Start

initialize project. this will create a .onctl directory. check configuration file and set as needed.

❯ onctl init
onctl environment initialized

Mac OS

brew install cdalar/tap/onctl

Linux

curl -sLS https://onctl.sh/get.sh | bash
sudo install onctl /usr/local/bin/

Edge build (latest main, Linux only)

To install or update to the edge build, an unsigned binary rebuilt from the tip of main on every push (no macOS or Windows build):

curl -sLS https://onctl.sh/get_edge.sh | bash
sudo install onctl /usr/local/bin/

Windows

  • download windows binary from releases page
  • unzip and copy onctl.exe to a location in PATH

Enjoy ✅

❯ 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.