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 Docker containers or yavirt 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 (bbolt) │ crash recovery
│ ▼ │
│ store ──► etcd | redis │ metadata, locks, status
│ │ │
│ engine/factory (cached, per node) │
└─────────────┼───────────────────────────────┘
▼
tcp:// unix:// | virt-grpc:// | systemd:// | mock://
Source and issue tracker: github.com/projecteru2/core.
Part of the Eru cluster stack, alongside
agent, cli,
resource-extend,
quickstart and
footstone.
The virt engine targets yavirt, which is archived.