What is Eirini?
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.
Components
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 theCF_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.
CI Pipelines
We use Concourse. Our pipelines can be found here.
Contributing
Please read CONTRIBUTING.md for details.
Have a question or feedback? Reach out to us!
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!