# Beehive - Simple container orchestration system [![Donate via LiberaPay](https://img.shields.io/liberapay/receives/rocketnine.space.svg?logo=liberapay)](https://liberapay.com/rocketnine.space) [![Donate via Patreon](https://img.shields.io/badge/dynamic/json?color=%23e85b46&label=Patreon&query=data.attributes.patron_count&suffix=%20patrons&url=https%3A%2F%2Fwww.patreon.com%2Fapi%2Fcampaigns%2F5252223)](https://www.patreon.com/rocketnine) **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](https://docs.docker.com/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](https://docs.docker.com/compose/compose-file/05-services/) defining at least one service. If a `data` directory is present, it is copied to each target deployment directory. Example festoons are available [here](https://code.rocketnine.space/tslocum/festoons). ## Support Please share issues and suggestions [here](https://code.rocketnine.space/tslocum/beehive/issues).