BitOps is an automated orchestrator for deployment tools using GitOps.
It leverages a way to describe infrastructure for many environments and IaC tools called an Operations Repository.
- Configurable: Configure how you want BitOps to deploy your application with yaml or environment variables.
- Event Hooks: If BitOps doesn't have built-in support for your usecase, execute arbitrary bash scripts at different points using BitOps' lifecycle.
- Pipeline Runner Agnostic: By bundling all logic in BitOps, you can have the same experience regardless of which pipeline service runs your deployment pipeline. You can even run BitOps locally!
- Customizable: Configure what tools you want installed in your BitOps image. Only take what you need, leave the bloat behind.
BitOps is a deployment tool orchestrator packaged in a Docker image. An Operations Repository is mounted to a BitOps container's /opt/bitops_deployment
directory, and BitOps will parse through a given environment directory and;
- Auto-detect BitOps configuration files within tool directories
- Loop through each tool and
- Read in
yaml
configuration - Run any pre-execute hooks
- Execute the tool
- Run any post-execute hooks
- Read in
BitOps is packaged as a docker image and is available on Dockerhub.
docker pull bitovi/bitops:latest
cd $YOUR_OPERATIONS_REPO
docker run bitovi/bitops:latest -v .:/opt/bitops_deployment
Need an example? We got you! Check out our Example Operation Repos
BitOps is configured in 3 steps:
- Define configuration for each tool in your environments
- Configure access to your cloud provider
- Configure how you want your deployment tools to execute
From there, the contents of the tool directories in your environments can exist exactly how the tool expects.
Ready to dive deeper? Check out our Docs
Still not enough? Why not try building and running a local version of BitOps
Need a hand with implementation? We can help
- Provision infrastructure with CloudFormation
- Provision infrastructure with Terraform
- Configure infrastructure with Ansible
- Deploy to kubernetes with Helm
Don't see a plugin you want? Submit an issue or build your own!
- Amazon Web Services (AWS)
- Microsoft Azure Cloud (Azure) - COMING SOON - #13
- Google Cloud Engine (GCE) - COMING SOON - #14
We welcome any contributions from the community with open arms. Take a look at our Contributing guide.
Come hangout with us in Discord!
https://bitovi.github.io/bitops/ is auto-generated using MKDocs. Updating markdown in docs/*
and ensuring the page is defined in mkdocs.yml
will auto update the site when pushed to the master
branch.
Using Docker to test the docs is easy. Just run:
docker-compose -f docker-compose.docs.yaml up
Then load http://localhost:8000
Join us weekly for free DevOps office hours, organized by Bitovi. The BitOps core team will be there to answer any questions you have about BitOps, GitOps, project plans, features, and support. See #288 for the schedule and calendar link.
We are always looking for ways to improve BitOps. If you have a few minutes, please fill out our user survey: https://forms.gle/mDLBE63UF9CdcqdG7 By submitting you help us understand how BitOps is being used and what we can do to improve it like new features, documentation, and more.