Skip to main content

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

Metadata

Release files for freeldep 0.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for freeldep 0.7.3
File Size Uploaded Provenance Actions
freeldep-0.7.3.tar.gz 29.1 kB Without provenance Details for freeldep-0.7.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for freeldep 0.7.3
File Interpreter ABI Platform Actions
freeldep-0.7.3-py3-none-any.whl Python 3 none any Details for freeldep-0.7.3-py3-none-any.whl

Total release size: 103.4 kB

Release files / freeldep-0.7.3.tar.gz

Download URL freeldep-0.7.3.tar.gz
Size 29.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cfe105c7f08214a6146273f3d640a69acd46b94d24e49ad18ee0df6a63cabb0e
BLAKE2b-256 checksum
How to use checksums
3a44b06f819a89fc83527990f8b464566ada1f48f9fe6a8e6befa0734ab97bed
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / freeldep-0.7.3-py3-none-any.whl

Download URL freeldep-0.7.3-py3-none-any.whl
Size 74.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0c7ae5deb82d0c14c74fdaeabc9591f3e65139a119ab934c312d8ab20071f604
BLAKE2b-256 checksum
How to use checksums
35f6b3e87c0cd4f7b2133cf6b973168ddac77898ad7bf4113d7e344b97429365
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for freeldep 0.7.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page