Eirini is a thin layer of abstraction on top of Kubernetes that allows Cloud Foundry to deploy applications as Pods on a Kubernetes cluster. Eirini uses the Diego abstractions of Long Running Processes (LRPs) and Tasks to capture Cloud Foundry's notion of long running processes and one-off tasks.
Deployment instructions are available at: cloudfoundry-incubator/eirini-release.
Eirini is composed of:
api
: The main component, provides the REST API used by
the Cloud Controller.
It's responsible for starting LRPs and tasks.
event-reporter
: A Kubernetes reconciler that watches for LRP instance
crashes and reports them to the Cloud
Controller.
instance-index-env-injector
: A Kubernetes webhook that inserts the
CF_INSTANCE_INDEX
environment variable into every LRP instance (pod).
task-reporter
: A Kubernetes reconciler that reports the outcome of tasks to
the Cloud Controller
and deletes the underlying Kubernetes Jobs after a configurable TTL has
elapsed.
eirini-controller
: A Kubernetes reconciler that acts on
create/delete/update operations on Eirini's own Custom Resouce Definitions
(CRDs). This is still experimental.
We use Concourse. Our pipelines can be found here.
Please read CONTRIBUTING.md for details.
We can be found in our Slack channel #eirini-dev in the Cloud Foundry workspace. Please hit us up with any questions you may have or to share your experience with Eirini!