Glomex Cloud Deployment Tools
Project description
glomex-cloud-deployment-tools (gcdt)
gcdt is a CLI tool to code and deploy your AWS infrastructure.
The gcdt command line tools have emerged from our experiences at glomex while working extensively with AWS services like Cloudformation, CodeDeploy, AWS Lambda, and API Gateway. gcdt is based on the same technology AWS uses to build AWS-CLI and Boto3 tools.
In 2017 glomex won the Gartner award “Best Data Management and Infrastructure”. Key to our success are the gcdt automation tools we use to successfully complete >100 deployments per day to AWS. Over the course of the last 12 months we built gcdt ourselves using Python.
Features include:
Infrastructure-as-code
Classic infrastructure (kumo & tenkai)
Serverless infrastructure (ramuda & yugen)
Scaffolding
Powerful plugin mechanism
Service integration (Slack, Datadog, …)
Codify infrastructure best practices
Multi-Env support (dev, stage, prod, …)
Why gcdt?
At glomex we love continuous-integration-as-code and infrastructure-as-code. This enables us to move fast while providing services of high quality and resilience to our partners.
We added a plugin mechanism to gcdt so we can specialize gcdt to highly optimized and opinionated environments that resonate with our usecases.
We hope gcdt will be helpful to you, too. At glomex we believe that only open source software can become truly great software.
Useful gcdt information
Installing gcdt
The easiest way to install gcdt is via pip and virtualenv.
Defining which gcdt-plugins to use
gcdt needs at least some gcdt-glugins so you should want to install these together. The easiest way is to put the dependencies into a requirements_dev.txt file:
gcdt
gcdt-say-hello
gcdt-config-reader
gcdt-bundler
gcdt-slack-integration
gcdt-datadog-integration
gcdt-gen-serverless
This is also a best practice to use the requirements_dev.txt file on your build server.
Prepare virtualenv
I am sure every Python dev uses virtualenv on a day to day basis. But we also use gcdt to deploy PHP, Ruby, and NodeJs projects. So I like to cover the basics:
Prepare the venv:
$ virtualenv venv
Activate the venv for use:
$ source ./venv/bin/activate
Installing all dev dependencies in one go
Install the dependencies into venv:
$ pip install -r requirements_dev.txt
Now you can start using gcdt:
$ gcdt version
Contributing
At glomex we welcome feedback, bug reports, and pull requests!
For pull requests, please stick to the following guidelines:
Add tests for any new features and bug fixes. Ideally, each PR should increase the test coverage.
Follow the existing code style (e.g., indents). UseA PEP8 code linting.
Put a reasonable amount of comments into the code.
Separate unrelated changes into multiple pull requests.
License
Copyright (c) 2017 glomex and others. gcdt is released under the MIT License (see LICENSE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.