Awesome Open Source
Awesome Open Source


Codacy Badge

Eru is a stateless, flexible, production-ready resource scheduler designed to easily integrate into existing systems.

Eru can use multiple engines to run anything for the long or short term.

This project is Eru Core. The Core use for resource allocation and manage resource's lifetime.


Run make test


  • Run make build if you want binary.
  • Run ./make-rpm if you want RPM for el7. However we use FPM for packing, so you have to prepare it first.


Run make deps for generating vendor dir.

You can use our footstone image for testing and compiling.


Generate golang grpc definitions.

go get -u{proto,protoc-gen-go}
go install[email protected]
make grpc

Run it

$ eru-core --config /etc/eru/core.yaml.sample


$ export ERU_CONFIG_PATH=/path/to/core.yaml
$ eru-core

Dockerized Core manually

Image: projecteru2/core

docker run -d \
  --name eru_core_$HOSTNAME \
  --net host \
  --restart always \
  -v <HOST_CONFIG_DIR_PATH>:/etc/eru \
  projecteru2/core \

Build and Deploy by Eru itself

After we implemented bootstrap in eru, now you can build and deploy eru with cli tool.

  1. Test source code and build image
<cli_execute_path> --name <image_name>

Make sure you can clone code. After the fresh image was named and tagged, it will be auto pushed to the remote registry which was defined in config file.

  1. Deploy core itself
<cli_execute_path> workloads deploy --pod <pod_name> [--node <node_name>] --entry core --network <network_name> --image <projecteru2/core>|<your_own_image> --file <core_config_yaml>:/core.yaml [--count <count_num>] [--cpu 0.3 | --mem 1024000000]

Now you will find core was started in nodes.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Go (193,976
Docker (33,286
Golang (32,131
Network (3,579
Containers (3,080
Containers (3,080
Grpc (2,222
Virtual Machine (1,049
Virtualization (447
Orchestration (383
Flexible (208
Containerization (163
Related Projects