A Kubernetes Operator in Rust
thetechtrailblazer.blog
thetechtrailblazer.blog
For me, it's a standard which works well for short-cycle control loop. Standards are never perfect, but the best ones are minimalistic and built out of real world experience. Operators check these boxes for me.
Not sure if you can share, but if you can, would love to know the type of business logic you moved into operators.
I understand Flux has some capabilities to pause or perform incremental deployment until certain dependencies are met, which is a step in the right direction.
I do agree with you on deployment systems taking up more responsibility in understanding app properties and abstracting infrastructure away from app developers. However, it's notoriously hard to get deployment systems to do this correctly. At Amazon, this was a somewhat solved problem but took their best brains, many years of pain, and multiple iterations to get right. If you haven't already, I would recommend reading this thread from Joe Magerramov where he talks about the challenges of deployment systems and how many stars need to line up to get deployments done right: https://twitter.com/_joemag_/status/1587283479448150016.
Both Flux and Argo are doing splendid work to solve this problem. I just wish we can democratize the known wisdom, failures and patterns/anti-patterns from cloud operators, so others don't have to repeat the same mistakes. I'll see if I can put together some blog posts on this topic.
Code without a license should be assumed toxic and if you’re paranoid (like me) shouldn’t be read.
This sort of thing feels like a good Apache or MIT fit.
Well done.
Strimzi exists for some time and they use Java.
There are other reasons to prefer Rust (sum types just to name one) but the quality of the Kubernetes client alone is enough to prefer it over Go in this case.