[>] KRaft in Alpha
KRaft now in Alpha!
After a lot of work done recently, KRaft is ready to be made available to my friends for beta testing. Base functionality is present and all the features implemented so far do actually work. Effort has of course been put into reducing jank where possible, though, given the early stages of this project, there might be some friction in some places.
If you are willing to help test, troubleshoot, or fix KRaft, please get in touch!
Features and Changes
- Resource usage is respectable, with KRaft services sipping on around 50MB RAM total on idle. The only heavy parts at this stage are the MariaDB database, as well as the singular Python service. K3k virtual clusters also use little RAM, save for the server which needs more due to the etcd server it runs inside.
- K3k-rs: a Rust crate for handling K3k resources using kube-rs. Until recently, K3k clusters were created by running the shell command of "k3kcli cluster create", though this offers no safety rails and is a very bad practice. Now, K3k-rs is used, and it provides all the type safety features which Rust is known for.
- First slopped-together PR! On the occasion of Hacktoberfest, I received an unbelievably bad PR which was obviously AI generated. Unsurprisingly, the LLM had little context behind the relatively new K3k project or the associated Rust crate. This prompted a review of the contribution policy in order to preserve this project's light-hearted spirit.
- Cluster logs. It is very useful to have logs from the K3k pods running the virtual cluster in case any problems arise during cluster creation or in its lifecycle. This feature brings logs into the web view so cluster owners can check out control plane and agent pod logs without needing host cluster access.
Future Work
With this "release" done, I have closed 21 issues over on Github, and only 6 remain. Of course, as the project grows and matures, I expect many more features to come to mind, so 6 is a very optimistic view for the next few months. Some features in particular which I want to address are related to the user account view, where they can view and change details pertaining to their account, as well as completely delete their clusters and whole account.