Skip to main content

Serverless Infrastructure as code deployment

Project description

Freeldep: Infra-as-code deployment

Build Status Coverage Status

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

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.5.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

freeldep-0.5-py3-none-any.whl (64.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freeldep-0.5.tar.gz
  • Upload date:
  • Size: 23.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.5.tar.gz
Algorithm Hash digest
SHA256 da6bbed5d6e204b0e6e1dab73f7d1dd189be65e6f3026700db7cf72f681d3f00
MD5 bcf758602e0f67445db56e0a109fe544
BLAKE2b-256 53233fa57051b0122a6c18bb5455551baeadd6d881558e955a99dcd035c88f03

See more details on using hashes here.

File details

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

File metadata

  • Download URL: freeldep-0.5-py3-none-any.whl
  • Upload date:
  • Size: 64.7 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9e3ec611ce1dd112d688d83189cb09f1f8f04da68e6cec085610a20cfeb62b05
MD5 c489962fe856a0556947571d4ca83ae0
BLAKE2b-256 73f7521167ee557420a2567760d2ff9af3f5a88e550dc802ea11fea49b608c3f

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