A tool to deploy docker containers for frontend and backend servers in distributed cloud environments. The types of node in Dockter are:
Master: Node Responsible for all the orchestration and communication.
Worker: Nodes where the containers are deployed
Builder: Converts code to image and stores to registery
demo.mp4
- Deploy containers
- Auto heal Dead Containers
- Multi-node setup, which is independent of cloud environment.
- Health checkups for Nodes in cluster.
- Custom load balancer based on health and stats of container.
- Dynamic Domain resolution for containers.
- Replica for a docker container.
- Ability to SSH and develop in container.
- Primarly written in Go lang
- SQLite: As a embeded db for dns storage.
- Kafka: For storing deployment requests
- GRPC: For communication between nodes.
- Docker Engine: Used as programatical low level interface for deploying containers.
- Docker Hub: For storing images of containers.
- Create a auth token for others to join
go run . --generatetoken
- To spin up Master nodes
go run . --state MASTER
- To spin up Builder node
go run . --state BUILDER --join <auth_token>
- To spin up Worker node
go run . --state WORKER --join <auth_token>