https://github.com/anubhavitis/etcd-custom-orchestrator
A custom golang-library to orchestrate mutiple pods using etcd. Jobs can be allocated to pods using various allocation, along with resource security.
https://github.com/anubhavitis/etcd-custom-orchestrator
etcd golang library
Last synced: about 1 year ago
JSON representation
A custom golang-library to orchestrate mutiple pods using etcd. Jobs can be allocated to pods using various allocation, along with resource security.
- Host: GitHub
- URL: https://github.com/anubhavitis/etcd-custom-orchestrator
- Owner: anubhavitis
- Created: 2023-10-11T14:03:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-01-14T17:35:29.000Z (over 2 years ago)
- Last Synced: 2025-02-09T17:32:28.300Z (over 1 year ago)
- Topics: etcd, golang, library
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# etcd-custom-orchestrator
A custom golang-library to orchestrate mutiple pods using etcd. Jobs can be allocated to pods using various allocation, along with resource security.
### Demo
[Watch demo on loom](https://www.loom.com/share/aa5d6dbf25364e6c9c1cc321d6b30496?sid=875d53b7-fabd-434a-ab3d-09ed60565492)
## Setup and Installation
> This is mac installation setup.
- Install etcd service
```
$ brew install etcd
$ brew services start etcd
```
- clone the repo
```
$ git clone https://github.com/anubhavitis/etcd-custom-orchestrator.git
$ go mod tidy
$ go mod vendor
```
### Steps to Run
- Run on two different ports:
```
$ go run main.go -port :8080
```
```
$ go run main.go -port :8081
```
- Now use another terminal to add new jobs:
```
$ curl http://localhost:8080/
```
### Allocation strategy
Currently we are only using hash-based allocation, but can be extended to weight based allocation, and other strategies as well.