Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/projecteru2/core
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time.
https://github.com/projecteru2/core
container container-management container-orchestration containerization containers docker eru flexible golang grpc network orchestration virtual-machine virtualization
Last synced: about 2 months ago
JSON representation
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time.
- Host: GitHub
- URL: https://github.com/projecteru2/core
- Owner: projecteru2
- License: mit
- Created: 2017-09-07T07:10:04.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-16T12:50:06.000Z (3 months ago)
- Last Synced: 2024-11-01T14:03:35.012Z (2 months ago)
- Topics: container, container-management, container-orchestration, containerization, containers, docker, eru, flexible, golang, grpc, network, orchestration, virtual-machine, virtualization
- Language: Go
- Homepage: https://eru.dev
- Size: 5.69 MB
- Stars: 241
- Watchers: 12
- Forks: 44
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cloud-native - Eru - A simple stateless flexible production-ready orchestrator designed to easily integrate into existing workflows. (Scheduler)
README
Eru
====
![](https://github.com/projecteru2/core/workflows/test/badge.svg)
![](https://github.com/projecteru2/core/workflows/golangci-lint/badge.svg)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/69918e0a02ae45c5ae7dfc42bad5cfe5)](https://www.codacy.com/gh/projecteru2/core?utm_source=github.com&utm_medium=referral&utm_content=projecteru2/core&utm_campaign=Badge_Grade)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.
Suggest use go 1.20 and above.
### Testing
Run ` make test `
### Compile
* Run ` make build ` if you want binary.
* Run `./make-rpm ` if you want RPM for el7. However we use [FPM](https://github.com/jordansissel/fpm) for packing, so you have to prepare it first.### Developing
Run `make deps` for generating vendor dir.
You can use our [footstone](https://hub.docker.com/r/projecteru2/footstone/) image for testing and compiling.
#### GRPC
Generate golang grpc definitions.
```shell
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
make grpc
```#### Run it
```shell
$ eru-core --config /etc/eru/core.yaml.sample
```
or```shell
$ export ERU_CONFIG_PATH=/path/to/core.yaml
$ eru-core
```### Dockerized Core manually
Image: [projecteru2/core](https://hub.docker.com/r/projecteru2/core/)
```shell
docker run -d \
--name eru_core_$HOSTNAME \
--net host \
--restart always \
-v :/etc/eru \
projecteru2/core \
/usr/bin/eru-core
```### Build and Deploy by Eru itself
After we implemented bootstrap in eru, now you can build and deploy eru with [cli](https://github.com/projecteru2/cli) tool.
1. Test source code and build image
```shell
--name http://bit.ly/EruCore
```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.
2. Deploy core itself
```shell
workloads deploy --pod [--node ] --entry core --network --image | --file :/core.yaml [--count ] [--cpu 0.3 | --mem 1024000000] http://bit.ly/EruCore
```Now you will find core was started in nodes.