Skip to content

devopsutils/cdflow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CDFlow

Introduction

CDFlow is a tool that enables continuous delivery of software components using Terraform to manage their virtual infrastructure. CDFlow creates a release artifact containing everything required to deploy the software which can be carried through a continuous delivery pipeline. It can build, deploy and destroy your applications through code, allowing you to manage versions of your infrastructure through source control.

Overview

CDFlow has 2 main phases: release and deploy. When the cdflow release command is run the tool builds an artifact - either a Docker image or a zip file containing code for an AWS Lambda function - and publishes that, to either ECR or an S3 bucket. The terraform init command is also run which pulls down any Terraform modules referenced in the Terraform code and any required provider plugins.

All of these dependencies plus metadata about this version of the release, including references to the built artifacts, is stored in a zip file and published to an S3 bucket. When the cdflow deploy command is run the tool finds the zip archive it needs in S3, downloads and unzips it and then runs terraform apply against the infrastructure code. It is this step that creates or updates the infrastructure and performs the deployment of the artifact built during the release phase.

cdflow overview

Contributing

Contributions are welcome; we encourage you raise issues and pull requests to help us make CDFlow better.

For pull requests, we require a tests to replicate your issue or feature and to follow our style guide. We use PEP 8 style for Python and have a linter that should display any issues. You can run the tests with the /test.sh script in the root of both the cdflow and cdflow-commands when making changes.

About

Deployment tooling for continuous delivery

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 94.1%
  • Shell 2.8%
  • Roff 1.7%
  • Dockerfile 1.4%