// 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…