Skip to content
/ potato Public

Docker Swarm orchestrator for distributed system

Notifications You must be signed in to change notification settings

alileza/potato

Repository files navigation

template

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.

Screen Shot 2019-11-27 at 8 46 34 AM

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.

Starting on the server

// 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

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.