Intent Runner for Kubernetes
// readme
Kubernetes reconciliation is battle-tested and free. Using it is expensive: a purpose-built operator, Kubernetes expertise, and maintenance for as long as it runs. So developers leave it to platform engineers.
Inrun opens it to anyone who has written a service that takes a request and returns a response.
You bring the decision. Inrun brings the machinery.
How it works
A caller sends an intent: a small payload in their own words, with no apiVersion, kind or spec. Inrun turns it into a custom resource, reconciles it, and gives the caller back a view of the result.
intent βββΆ gateway βββΆ custom resource βββΆ runtime βββΆ reconcile βββΆ status βββΆ view
The reconciler decides. Inrun writes. Inrun runs the informers, queues, retries, leader election, server-side apply, owner references, finalizers, status, events, cleanup and metrics. How a resource is reconciled is up to you:
- Declarative: describe the resources in a Blueprint. No code.
- Remote: any HTTP service, in any language, returns what should exist.
- Existing service: an API that knows nothing about Inrun reconciles as it is. Inrun calls it once per reconcile and maps itsβ¦