Intro & Installation
Why kurv?
So, why the name kurv? Well, it means “basket” in many languages I don’t speak, like Norwegian (but it sounded cool 😄). Think of kurv as a basket for your apps. In kurv, we call each deployed app as an egg
. So, let’s go and collect some eggs 🥚 in your basket 🧺.
Installation
Notekurv can run either as a server or as a CLI client, using the same binary. The server is responsible for managing the eggs, while the client is used to interact with the server and tell it what to do or ask it for information.
crates.io
You can also install it from crates.io using cargo
:
cargo install kurv
Manually from binary
Download the latest binary release from GitHub.
Testing
Let’s see if the installation worked. Run the following command:
$ kurv --version
If you see the version number, you’re good to go! 🎉
Inspiration
pm2
Inspired by the robust process manager, pm2, my goal with 𝐤𝐮𝐫𝐯 was to create a lightweight alternative. Not that pm2 is a resource hog, but I found myself in a server with extremely limited resources. Plus, I was itching for an excuse to dive into Rust, and voila, 𝐤𝐮𝐫𝐯 was born.
eggsecutor
Derived from eggsecutor, 𝐤𝐮𝐫𝐯 adopted the whimsical term “eggs” to represent deployed applications.
pueue
Insights from pueue were instrumental in helping me understand how to manage processes in Rust.
To do list
kurv is still under development. Here are some of the things I’m planning to add:
- Simple password protection
- Remotely manage eggs
- SSL support
- Handle cors correctly
And last but not least:
- Tests (I know, I know… 🤭)
Plugins / extensions
Since kurv is a process manager, we can easily extend its functionality by adding plugin eggs (simple eggs managed by kurv itself that provide additional functionality).
Here are some ideas I have for plugins:
- Web UI
- Log Viewer
- Log Rotation
Disclaimer
WarningHeads up, this project is my Rust-learning playground and not production-ready yet:
- Rust newbie alert! 🚨
- I built this because my apps needed a process manager, and I had an itch to learn Rust. So, here it is… my first Rust project!
- No tests yet 🤭
- I’m using it for my own projects, but not on a grand scale.