Small-scale process orchestration
Arpx is a small-scale, run n' gun process orchestrator. In other words, Arpx makes it easy to schedule processes and automate them depending on each others' runtimes in cases where more complex orchestration isn't needed.
Larger-scale process orchestrators (like Kubernetes) allow for in-depth monitoring, complex deployment setups, and granular, real-time process management on top of their normal scheduling and automation features. Arpx, in contrast, aims to provide only that which is necessary for things like running multiple interdependent development servers concurrently, scheduling build scripts or tests in relation to each other, adding naive self-healing to local processes, etc.
automate and relate processes(x)
Vaguely, Arpx's primary use-case is development-oriented tasks which variously require scheduling, concurrency, and/or unsophisticated runtime monitoring and handling.
If you want to hack some orchestration into your development environment, Arpx might be right for you.
The name "Arpx" variously refers to the library which provides the program's core functionality (the Arpx runtime object) as well as the binary which wraps that core functionality in a convenient CLI.
Library-specific documentation can be found on docs.rs. Documentation in this repository focuses on the Arpx CLI tool.
Arpx can be installed using the binaries build on each release or via Rust's cargo install
.
- Navigate to the Releases page
- Choose a release
- Download the appropriate archive for your machine
- Unpack the archive and relocate the binary to your desired location
- Ensure the binary is located in your system's
PATH
- Verify that
arpx --version
works on your command line
- Install Rust on your machine (docs)
- Execute
cargo install arpx
on your command line
Arpx is meant to be a duct tape, run n' gun solution for hackily orchestrating program runtimes. Arpx doesn't seek to be a general-purpose, production-ready tool, but feel free to use it however you see fit (in line with the license).
If you have ideas for Arpx, please feel free to open an issue or contact me directly. I'm happy to discuss this project and any ideas you might have. However, please keep in mind that ideas and feature requests will likely only be implemented if they align well with the aforementioned goals.