cmd | ||
client.go | ||
database.go | ||
deployment.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md | ||
result.go | ||
server.go | ||
task.go | ||
util.go | ||
worker.go |
Beehive - Simple container orchestration system
Notice: This software is not ready for use in production environments. Here be dragons.
Design
A single queen bee (master node) manages any number of worker bees (worker nodes).
Tasks/jobs are currently submitted by inserting directly into the database the queen bee is connected to. An API for manipulating tasks is planned to be added.
Worker bees communicate only with the queen bee. They perform tasks as instructed by the queen bee and do not have a database of their own. All metadata that allows worker bees to track deployments is stored within the files of each deployment.
Containers are managed by Docker Compose. Beehive copies and interpolates deployment files while Docker Compose takes care of the rest.
Festoons
Beehive deployment packages are called festoons. They always include a
Docker Compose file
defining at least one service. If a data
directory is present, it is copied to
each target deployment directory.
Example festoons are available here.
Support
Please share issues and suggestions here.