A library to build control-loops for things other than Kubernetes.
Kubernetes operators are amazing for building reliable operational tooling.
Unfortunately as its name points out it is specific to Kubernetes.
This library brings a simple way to build reconcilers
which is the core of an operator.
It runs a loop that for each event coming in will trigger the control-loop.
Its core goals are:
- Remain simple, caching, resync are not meant to be builtins because they are hard to be generic.
- Observability is important so it's instrumented with opentelemetry.
- Keep the number of dependencies low.
The reason why 2 is so important is that testing an operator is incredibly complicated. It's therefore necessary to make execution of the reconciler as observable as possible to be able to figure out issues.
At Koyeb we've built reconcilers that helps keeping our models in sync with Hashicorp Nomad and Kuma.
See Contributing.