Skip to main content

Serverless Infrastructure as code deployment

Project description

# Freeldep: Infra-as-code deployment

Infrastructure-as-code increase speed of setting up and maintaining IT environment. If you are using AWS and Cloudformation, Freeldep helps to version control your templates and test your infrastructure. It integrates with CodeCommit, CodeBuild and Step Function to deploy your infrastructure and use taskcat to test your templates. Freeldep also helps you quickly setting up this CI/CD pipeline.

## Architecture

## Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

### Prerequisites

You must have AWS access on your machine. If not, configure your credentials using

` aws configure `

Install freeldep

` virtualenv venv source venv/bin/activate pip install freeldep `

### Installing

All these commands can be executed with the flags –dryrun and –output-location <foldername> if you don’t want to deploy anything.

First step is to create a new deployer:

` freeldep create deployer mydemo --cloud AWS `

Replace mydemo by the name of your deployer. This command will create a S3 bucket used to store deployment artifacts and a dynamoDB table to keep track of the deployments. You can specify resource names using:

` freeldep create deployer mydemo --cloud AWS --artifact-bucket <bucket> --registry-table <registry> `

Currently, AWS cloud is the only stable cloud supported. There is work in progress to support GCP.

Deploy the core deployer Step Function:

` freeldep deploy core --deployer mydemo --wait `

Deploy the service to configure CI/CD for your projects:

` freeldep deploy service --deployer mydemo --wait `

More options for CLI can be found [here](cli/README.md) file for details

## Creating a new project using your deployment service

` freeldep create myproject --deployer mydemo `

This command creates a new CodeCommit repository and configure a trigger on each git push. If you want to limit the branches triggering deployment, use:

` freeldep create myproject --deployer mydemo --branches dev,uat,master `

## Development and running the tests

Clone this repository and install dependencies. Setup your CLI:

` pip install --editable . `

Tests can be executed using pytest and coverage:

` coverage run -m pytest tests/ && coverage report -m `

## License

This project is licensed under the he Python Packaging Authority - see the [LICENSE.md](LICENSE.md) file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freeldep-0.2.2.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

freeldep-0.2.2-py3-none-any.whl (59.4 kB view details)

Uploaded Python 3

File details

Details for the file freeldep-0.2.2.tar.gz.

File metadata

  • Download URL: freeldep-0.2.2.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for freeldep-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5ebe9ad2fe831257a5b0fb34ff4d76db7413d3acf7c328d61ee5c9593c23f086
MD5 ab91e4d4e117cb634238903c128d22f1
BLAKE2b-256 164d55898d2042deb6c88382cd4ad0f762abf027f0555b721f1f4f29f7559e9c

See more details on using hashes here.

File details

Details for the file freeldep-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: freeldep-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for freeldep-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 69e9def3990990de3a794167bf5f7e3d977b66c14fb73b1ccc8b949481e38f4f
MD5 edabc650c26830cffe8ccfac4e293997
BLAKE2b-256 4c50080d72cf562360aabea9abdca292ff2209fc50a0c942347177b1b128ec4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page