Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bitovi/bitops
Automate the provisioning and configuration of cloud infrastructure with BitOps docker image
https://github.com/bitovi/bitops
ansible aws cd cloudformation continuous-delivery deployment-automation devops devops-tools docker helm kubernetes terraform
Last synced: about 1 month ago
JSON representation
Automate the provisioning and configuration of cloud infrastructure with BitOps docker image
- Host: GitHub
- URL: https://github.com/bitovi/bitops
- Owner: bitovi
- License: other
- Created: 2020-02-25T16:18:06.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-07-25T03:34:52.000Z (5 months ago)
- Last Synced: 2024-07-30T17:52:40.474Z (5 months ago)
- Topics: ansible, aws, cd, cloudformation, continuous-delivery, deployment-automation, devops, devops-tools, docker, helm, kubernetes, terraform
- Language: Python
- Homepage: https://bitops.sh
- Size: 48.5 MB
- Stars: 35
- Watchers: 33
- Forks: 9
- Open Issues: 95
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE.md
- Roadmap: docs/roadmap.md
Awesome Lists containing this project
README
[
](docs/assets/images/logo/Bitops(RGB)_L2_Full_4C.png)---------------------
[![Build Status](https://github.com/bitovi/bitops/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/bitovi/bitops/actions/workflows/ci.yaml)
[![LICENSE](https://img.shields.io/badge/license-MIT-green)](LICENSE.md)
![Python 3.8](https://img.shields.io/badge/python-3.8-blue)
[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
[![Latest Release](https://img.shields.io/github/v/release/bitovi/bitops)](https://github.com/bitovi/bitops/releases)
[![Docker Pulls](https://img.shields.io/docker/pulls/bitovi/bitops)](https://hub.docker.com/r/bitovi/bitops)
[![GitHub Discussions](https://img.shields.io/github/discussions/bitovi/bitops)](https://github.com/bitovi/bitops/discussions)
[![Join our Community Discord](https://img.shields.io/badge/discord-join%20chat-611f69.svg?logo=discord)](https://discord.gg/J7ejFsZnJ4)### tl;dr
BitOps is an automated [orchestrator](docs/about.md) for deployment tools using [GitOps](https://about.gitlab.com/topics/gitops/).It leverages a way to describe infrastructure for many environments and IaC tools called an [Operations Repository](docs/operations-repo-structure.md).
[![Getting Started - Youtube](docs/assets/images/bitops-intro-video.png)](https://youtu.be/BiytYu3EefY)
---------------------
## Features
* **[Configurable](docs/configuration-base.md):** Configure how you want BitOps to deploy your application with yaml or environment variables.
* **[Event Hooks](docs/lifecycle.md):** If BitOps doesn't have built-in support for your usecase, execute arbitrary bash scripts at different points using BitOps' lifecycle.
* **[Pipeline Runner Agnostic](docs/examples.md):** 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](docs/plugins.md):** Configure what tools you want installed in your BitOps image. Only take what you need, leave the bloat behind.## How it works
BitOps is a deployment tool orchestrator packaged in a Docker image. An [Operations Repository](docs/operations-repo-structure.md) 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## Quick Start
BitOps is packaged as a docker image and is available on [Dockerhub](https://hub.docker.com/r/bitovi/bitops).
```
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](https://github.com/bitovi/operations-test)
## Configure BitOps
BitOps is configured in 3 steps:1. Define [configuration](docs/configuration-base.md) for each tool in your environments
2. Configure access to your cloud provider
3. Configure how you want your deployment tools to executeFrom 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](docs/configuration-base.md)
Still not enough? Why not try building and running a [local version of BitOps](docs/development-local.md)
Need a hand with implementation? We can [help](https://www.bitovi.com/devops-consulting)
## Supported Plugins
* Provision infrastructure with [CloudFormation](https://github.com/bitops-plugins/cloudformation/blob/main/README.md)
* Provision infrastructure with [Terraform](https://github.com/bitops-plugins/terraform/blob/main/README.md)
* Configure infrastructure with [Ansible](https://github.com/bitops-plugins/ansible/blob/main/README.md)
* Deploy to kubernetes with [Helm](https://github.com/bitops-plugins/helm/blob/main/README.md)> Don't see a plugin you want? [Submit an issue](https://github.com/bitovi/bitops/issues) or [build your own](docs/plugins.md#creating-your-own-plugin)!
## Supported Cloud Providers
* [Amazon Web Services (AWS)](https://github.com/bitops-plugins/aws/blob/main/README.md)
* Microsoft Azure Cloud (Azure) - COMING SOON - https://github.com/bitovi/bitops/issues/13
* Google Cloud Engine (GCE) - COMING SOON - https://github.com/bitovi/bitops/issues/14## Support / Contributing
We welcome any contributions from the community with open arms. Take a look at our [Contributing](docs/contributing/contributing.md) guide.
Come hangout with us in [Discord](https://discord.gg/J7ejFsZnJ4)!
### Updating Documentation
https://bitovi.github.io/bitops/ is auto-generated using [MKDocs](https://www.mkdocs.org/). Updating markdown in `docs/*` and ensuring the page is defined in `mkdocs.yml` will auto update the site when pushed to the `master` branch.
#### Testing Documentation Locally with Docker
Using Docker to test the docs is easy. Just run:
```
docker-compose -f docker-compose.docs.yaml up
```
Then load [http://localhost:8000](http://localhost:8000)## Community
### 📅 Office Hours
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 https://github.com/bitovi/bitops/discussions/288 for the schedule and calendar link.### 📝 Survey
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.## License
[MIT License](/license).