Show HN: Onctl – Cloud-Agnostic VM Management Tool with Ready-to-Use Templates
github.comHi HN,
I'm excited to introduce onctl, a lightweight tool for provisioning and managing virtual machines/instances. It's designed to be cloud-agnostic, working seamlessly across cloud and on-prem environments without relying on cloud-specific solutions.
Key highlights:
VM-focused: Supports only VM management, keeping things simple and efficient.
Uses simple SSH scripts: Under the hood, onctl operates using straightforward SSH scripts, making it easy to understand and customize.
Ready-to-use templates: Start quickly with pre-defined templates for common use cases. Examples include:
K3s cluster: onctl up -n qwe -a k3s/k3s-server.sh --download /tmp/k3s.yaml
WireGuard VPN server: onctl up -n wg -a wireguard/vpn.sh
Azure DevOps agents: onctl up -n agent1 -a azure/agent-pool.sh --dot-env .env.test
Cloud-agnostic: Works across AWS, Azure, GCP, or on-prem setups with no cloud-specific dependencies.
onctl is perfect for DevOps engineers looking for a straightforward way to manage VMs without unnecessary complexity.
Repo: https://github.com/cdalar/onctl Templates Repo: https://github.com/cdalar/onctl-templates
I'd love your feedback, suggestions, and ideas for additional templates or improvements. Let me know how onctl could fit into your workflows! I was literally just looking for something like this today, so thanks! I don't want to poo-poo on anyone's AGPL shell-script-over-ssh tool, but I would draw your attention to ansible[1] which is also (plus or minus) shell over ${connection plugin of your choice} but (a) is plausibly idempotent, which 100% is not the case for this[2] (b) is licensed more reasonably, including its scripts/roles/templates (c) has an almost unlimited number of existing examples/stack overflow/documentation[3] as one would expect from a version 11 tool 1: https://docs.ansible.com/ansible/11/getting_started/get_star... 2: https://github.com/cdalar/onctl-templates/blob/d3ad982a6dbdd... 3: https://docs.ansible.com/ansible/11/collections/index_lookup... Happy that you like it. Please let me know if you need specific needs and what you use for. I will happy to improve and/or help. I mean this as a genuine question: in what way is your custom "shell commands over ssh" different from ansible? Also, as best I can tell the templates repo has no license information Right, It's nothing different than ansible. I don't know ansible and I don't want to depend on any other tool while developing onctl. But would be nice to implement something to support. What I did already is to be able to export for ansible and puppet (similar to kubectl -o parameter ex. onctl ls -opuppet) configuration to be able to use it later on. But with integrating, that will require user to have experience about the other tool and also need to configure that as well. Also wouldn't be possible to achieve the end result with single command. About the license on onctl-templates.. I defined it as MIT, which I assume should be OK with everybody.