Skip to content
forked from bitovi/bitops

Automate the provisioning and configuration of cloud infrastructure.

License

Notifications You must be signed in to change notification settings

docker-parfum/bitops

 
 

Repository files navigation


Build Status LICENSE Python 3.8 linting: pylint Latest Release Docker Pulls GitHub Discussions Join our Slack

tl;dr

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.

Getting Started - Youtube


Features

  • 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.

How it works

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

Quick Start

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

Configure BitOps

BitOps is configured in 3 steps:

  1. Define configuration for each tool in your environments
  2. Configure access to your cloud provider
  3. 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

Supported Plugins

Don't see a plugin you want? Submit an issue or build your own!

Supported Cloud Providers

Support / Contributing

We welcome any contributions from the community with open arms. Take a look at our Contributing guide.

Come hangout with us on Slack!

Updating Documentation

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.

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

Release History

See Releases.

License

MIT License.

About

Automate the provisioning and configuration of cloud infrastructure.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.1%
  • Shell 4.4%
  • Dockerfile 2.5%