Part 2: OX - The Small Beast of Burden
Welcome to the second instalment of the Summit System series. If you missed Part 1, you can find an introduction to the Summit System here.
What is OX?
OX is a lightweight, versatile CLI tool designed to streamline platform engineering workflows and rapid prototyping. Its name, inspired by the steadfast pack animal, reflects its role as a reliable workhorse in the platform engineers toolkit.
The Genesis of OX
The journey to creating OX began about five years ago when I experimented with using Ansible to set up macOS for developers. Initially, I used a simple bash script to control the Ansible playbooks. As my vision evolved, I discovered an open-source CLI package that allowed users to input commands in a YAML file, which a Golang package would then read and execute.
Unfortunately, that project's maintenance ceased when its creator moved on to a version 2 using HashiCorp Configuration Language (HCL). This setback, combined with my growing interest in large language models, sparked an idea: Could I leverage AI to create a similar tool tailored to my needs?
That's how OX was born. I collaborated with Claude, an AI language model, to create the initial Golang and YAML scaffolding for the project.
OX Capabilities
While currently in its early stages, OX offers powerful functionality:
- YAML-Based Command Execution: OX reads commands and command aliases from a YAML file, providing a clean, structured way to define complex operations.
- Local Execution: It can execute these commands locally on your machine.
- Versatile Command Types: OX supports various command types, from simple bash commands to calls to other CLIs.
The Vision for OX
The primary goal of OX is to serve as a rapid prototyping tool for CLIs. It allows platform engineers to quickly mock up and test CLI structures and commands. As projects evolve, these prototypes can be expanded into full-fledged, standalone Golang CLIs.
This approach offers several advantages:
- Rapid iteration on CLI designs
- Easy testing of command structures and workflows
- Smooth transition path from prototype to production-ready CLI
What's Next?
OX is just one piece of the Summit System puzzle. In the next post, we'll explore Sherpa, a Golang CLI designed to bootstrap Kubernetes control clusters. Sherpa demonstrates how the principles behind OX can be applied to more complex, specialized tools within the Summit System ecosystem.
Stay tuned as we continue to ascend the peaks of platform engineering, one tool at a time!