Giter Site home page Giter Site logo

wimpy.environment's Introduction

Wimpy Environment Build Status

Ansible role that creates resources in your AWS account so you can deploy applications using Wimpy.

Parameters

The parameters are

  • wimpy_deployment_environment: Environment where you want to create the application resources.
  • wimpy_environments_list: List of different environments to create. If you overwrite this parameter, read the documentation carefully. By default staging and production.
  • wimpy_application_name: The name to identify your project.
  • wimpy_application_port: Port where your application is listening for requests.
  • wimpy_application_protocol: Protocol (tcp|udp|icmp) where your application is listening for requests. Defaults to tcp.
  • boto_profile: Boto profile to use. By default no profile is used.
  • wimpy_aws_region: AWS Region where to create the repository. By default eu-west-1.

Usage

- hosts: localhost
  connection: local
  roles:
    - wimpy.environment

This will create three different types of CloudFormation stacks

Base Stack

It creates a base CloudFormation stack that contains

  • KMS Master key
  • S3 bucket for applications
  • S3 bucket for CloudTrail audit log, ELB access log and S3 access log

Environment Stack

Wimpy applications will be deployed to different environments, typically staging and production. This role creates a CloudFormation stack for every environment that contains

  • Virtual Private Cloud (VPC) for your applications
  • Route tables for this VPC
  • Internet gateway
  • Public subnets for your Load Balancers
  • Private subnets for your applications
  • Private subnets for your databases

Defining your own set of environments

This role creates different VPC's for different environments, assinging a different IP range to each VPC. Using the default environment list that contains staging and production , these ranges would be 10.0.0.0/16, and 10.1.0.0/16 respectively. Adding a third environment would make a new VPC with the range 10.2.0.0/16. And so on. Keep in mind that the order matters. Keep the list of environments always in the same order, and if you want a new environment, add it to the list. Treat the list of environments as append only.

Application Stack

For every application that you deploy, this role will create the following resources

  • A repository in Elastic Container Registry to store Docker images.
  • Security Group for your application that allows traffic to the application port from Load Balancers and from instances with the same security group.
  • Security Group for your Load Balancers that allows public traffic.
  • Security Group for your databases that allows traffic from your applications.
  • IAM Role for the application so it can access to S3, KMS and CloudWatch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.