Eru system core, stateless, resource allocation efficiently.
Run make test
- Run
make buildif you want binary. - Run
./make-rpmif 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.
Under macOS we have to install libgit2 manually, if you using Homebrew please install like this:
# libgit2 version 0.25.1
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
gco 9c527911c8c630355d92df001575cacbb4a8b8b4 libgit2.rb
HOMEBREW_NO_AUTO_UPDATE=1 brew install libgit2
make depsIn linux you can reference our image's Dockerfile. Our server were running under CentOS 7, so if your server was different, something will not same.
On other hand, you can use our footstone image for testing and compiling.
Generate golang & python 3 code
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
pip install -U grpcio-tools
make grpcCurrent version of dependencies are:
- google.golang.org/grpc: v1.0.1-GA
- github.com/golang/protobuf: f592bd283e
$ eru-core --config /etc/eru/core.yaml.sampleor
$ export ERU_CONFIG_PATH=/path/to/core.yaml
$ eru-coreImage: projecteru2/core
docker run -d \
--name eru_core_$HOSTNAME \
--net host \
--restart always \
-v <HOST_CONFIG_DIR_PATH>:/etc/eru \
-v <HOST_BACKUP_DIR_PATH>:/data/backup \
projecteru2/core \
/usr/bin/eru-coreAfter we implemented bootstrap in eru2, now you can build and deploy agent with cli tool.
- Test source code and build image
<cli_execute_path> --name <image_name> https://goo.gl/KTGJ9kMake sure you can clone code by ssh protocol because libgit2 ask for it. So you need configure core with github certs. After the fresh image was named and tagged, it will be auto pushed to the remote registry which was defined in core.
- Deploy core itself
<cli_execute_path> --pod <pod_name> [--node <node_name>] --entry core --network <network_name> --image <projecteru2/core>|<your_own_image> --count <count_num> [--cpu 0.3 | --mem 1024000000] https://goo.gl/KTGJ9kNow you will find core was started in nodes.