https://github.com/alileza/potato
Docker Swarm orchestrator for distributed system
https://github.com/alileza/potato
container docker experimental orchestrator
Last synced: 8 months ago
JSON representation
Docker Swarm orchestrator for distributed system
- Host: GitHub
- URL: https://github.com/alileza/potato
- Owner: alileza
- Created: 2019-11-26T20:23:58.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-12T20:45:37.000Z (over 2 years ago)
- Last Synced: 2025-05-05T06:46:46.175Z (8 months ago)
- Topics: container, docker, experimental, orchestrator
- Language: Go
- Homepage:
- Size: 2.74 MB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

**This project is experimental**, the purpose of this is to be able to manage services in multiple docker swarm node that are not joined as a cluster.

So _potato_ will be able to communicate with each other, and manage docker swarm services on multiple nodes, just by simply changing the database value.
# Getting Started
Download [potato binaries from releases](https://github.com/alileza/potato/releases/latest).
## Starting on the server
```sh
// this will do default set-up, such as running database migration
// starting grpc server & http server for /metrics endpoint for prometheus
// "run potato -h" if you need some changes on configuration, such as port, etc.
potato -database-dsn "postgres://somewhere" server
```
**Notes:** postgres database set-up is required at the moment, on local development, you can simply use `docker-compose up -d postgres` and forget about the flag.
## Starting on the agent
```sh
potato -node-id [custom host id, by default it will be hostname] \
-listen-address [wherever your potato server is] \
agent
```
Once this set-up adding a new rows on database based on `node-id` would allow you to add/remove services from specific node you desire.