Eru core is a stateless gRPC resource scheduler. It keeps cluster metadata in etcd or redis, allocates resources through pluggable resource plugins, and deploys workloads onto containerd containers, bare processes or cocoon virtual machines. Every instance is interchangeable: state lives in the store, coordination happens through distributed locks, and clients find live instances through the built-in service discovery.
cli / agent / your service
│ gRPC (CoreRPC, rpc/gen/core.proto)
▼
┌─────────────────────────────────────────────┐
│ eru-core │
│ rpc ──► cluster/calcium ──► strategy │ deploy plan
│ │ │ │
│ │ ├──► resource/cobalt ──► cpumem (built in)
│ │ │ └─► binary plugins
│ │ └──► wal (in the store) │ crash recovery
│ ▼ │
│ store ──► etcd | redis │ metadata, locks, status
│ │ │
│ engine/factory (cached, per node) │
└─────────────┼───────────────────────────────┘
▼
containerd:// | cocoon:// | process:// | mock://
Source and issue tracker: github.com/projecteru2/core. Part of the Eru cluster stack, alongside agent, cli, resource-extend, quickstart and footstone.