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 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.