BitOps is a way to describe the infrastructure and things deployed onto that infrastructure for multiple environments in a single place called an Operations Repo.
https://bitovi.github.io/bitops/
- Configurable: Configure how you want bitops to deploy your application with environment variables or yaml
- Event Hooks: If bitops doesn't have built-in support for your usecase, execute arbitrary bash scripts at different points in bitops' lifecycle.
- Pipeline Agnostic: By bundling all logic in bitops, you can have the same experience regardless of which pipeline service runs your CI. You can even run bitops locally!
BitOps is a boiler plate docker image for DevOps work. An operations repository is mounted to a bitops image's /opt/bitops_deployment
directory. BitOps will
- Auto-detect any configuration belonging to one of its supported tools
- Loop through each tool and
- Run any pre-execute hooks
- Read in
yml
configuration - Execute the tool
- Run any post-execute hooks
BitOps is packaged as a docker image and is available on dockerhub.
docker pull bitovi/bitops
cd $YOUR_OPERATIONS_REPO
docker run bitovi/bitops -v .:/opt/bitops_deployment
BitOps is configured in 3 steps:
- Select your environment
- Configure aceess to your cloud provider
- Configure how you want your deployment tools to execute
- Provision infrastructure with CloudFormation
- Provision infrastructure with Terraform
- Configure infrastructure with Ansible
- Deploy to kubernetes with Helm
- Amazon Web Services (AWS)
- Microsoft Azure Cloud (Azure) - TODO - bitovi#13
- Google Cloud Engine (GCE) - TODO - bitovi#14
We welcome any contributions from the community with open arms. Take a look at our Contributing guide.
Come hangout with us on Slack!
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.
See Releases.