Finklabs Cloud Deployment Tools
[![Documentation](https://readthedocs.org/projects/beedo/badge/?version=latest)](http://fink.readthedocs.io/en/latest/) [![License](http://img.shields.io/badge/license-MIT-yellowgreen.svg)](LICENSE) [![GitHub issues](https://img.shields.io/github/issues/finklabs/finklabs-cloud-deployment-tools.svg?maxAge=2592000)](https://github.com/finklabs/finklabs-cloud-deployment-tools/issues)
# finklabs-cloud-deployment-tools (fink)
fink CLI tools make it easy for you to code, automate, and deploy your AWS infrastructure.
The fink command line tools have emerged from our experiences at finklabs while working extensively with AWS services like Cloudformation, CodeDeploy, AWS Lambda, and API Gateway. fink is based on the same technology AWS uses to build AWS-CLI and Boto3 tools.
In 2017 finklabs won the Gartner award “Best Data Management and Infrastructure”. Key to our success are the fink CLI tools we use to successfully complete >3000 deployments per month to AWS. Over the course of the last 18 months we built fink ourselves using Python.
- Cloud infrastructure (cloud & tenkai)
- Serverless infrastructure (lambda & yugen)
- Powerful plugin mechanism
- Service integration (Slack, Datadog, …)
- Codify infrastructure best practices
- Multi-Env support (dev, stage, prod, …)
At finklabs 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 fink so we can specialize fink to highly optimized and opinionated environments that resonate with our usecases.
We hope fink will be helpful to you, too. At finklabs we believe that only open source software can become truly great software.
## Why fink?
You can do everything fink does by using the AWS Management Console so why use fink? Basically, because using GUI interfaces to drive your production environment is a really bad idea. You can’t really automate GUI interfaces, you can’t debug GUI interfaces, and you can’t easily share techniques and best practices with a GUI.
The goal of fink is to put everything about your AWS infrastructure into files on a filesystem which can be easily versioned and shared. Once your files are in git, people on your team can create pull requests to merge new changes in and those pull requests can be reviewed, commented on, and eventually approved. This is a tried and proven approach that has worked for more traditional deployment methodologies and will also work for your infrastructure on AWS.
## Useful fink information
- [fink issues](https://github.com/finklabs/fink/issues)
- [fink project board](https://github.com/finklabs/fink/projects/1)
Follow the [instructions](http://fink.readthedocs.io/en/latest/07_installation.html) to install fink
Here you can find the full guide for [contributing](http://fink.readthedocs.io/en/latest/70_development.html)
At finklabs 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. Use PEP8 code linting.
- Put a reasonable amount of comments into the code.
- Separate unrelated changes into multiple pull requests.
Copyright (c) 2017 finklabs and others. fink is released under the MIT License (see LICENSE).