Simple container orchestration system
Go to file
Trevor Slocum 10efc654b3 Reconnect automatically to queen bee 2023-05-02 22:36:43 -07:00
cmd Reconnect automatically to queen bee 2023-05-02 22:36:43 -07:00
LICENSE Initial commit 2023-04-07 20:46:22 -07:00
README.md Update README 2023-04-28 22:07:37 -07:00
client.go Subscribe to container events 2023-04-14 22:20:08 -07:00
database.go Add initial database framework 2023-04-26 19:04:37 -07:00
deployment.go Reconnect automatically to queen bee 2023-05-02 22:36:43 -07:00
go.mod Add initial database framework 2023-04-26 19:04:37 -07:00
go.sum Add initial database framework 2023-04-26 19:04:37 -07:00
result.go Subscribe to container events 2023-04-14 22:20:08 -07:00
server.go Reconnect automatically to queen bee 2023-05-02 22:36:43 -07:00
task.go Add initial database framework 2023-04-26 19:04:37 -07:00
util.go Handle worker restarts without stopping deployments 2023-04-16 09:51:54 -07:00
worker.go Reconnect automatically to queen bee 2023-05-02 22:36:43 -07:00

README.md

Beehive - Simple container orchestration system

Donate via LiberaPay Donate via Patreon

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.