Giter Club home page Giter Club logo

quoins's Introduction

Scipian Quoins

Quoins are a set of Terraform modules used as building blocks for an immutable infrastructure. We carefully curated a set of sane defaults for configuring a provider's environment, but also allows you to fully customize it.

Quoin's are best described as cornerstone's for a building. They provide load bearing support to a wall.

Currently, the quoins only support AWS. The available quoins:

  • A network with an internet gateway
  • External & internal network layout including NAT gateways
  • Some default security groups for SSH and Windows Remoting
  • A key pair
  • A bastion jump host
  • An external elastic load balancer
  • A Kubernetes cluster

Requirements

Before we run through the quickstart, there's a few requirements:

Quickstart

Disclaimer: To run the quoins, you'll need AWS access and terraform installed. See requirements.

Quoins are designed to be modular and the easiest way to get started is to compose a terraform definition that picks the modules you need. Each module is a building block that can be used separately to create your immutable infrastructure.

Let's compose a configuration that uses the network module:

module "network" {
  source   = "github.com/scipian/quoins//network"
  cidr     = "172.16.0.0/16"
  name     = "prod-us-network"
}

provider "aws" {
  region      = "us-west-2"
  max_retries = 3
}

Since we're using a configuration that uses a module, prior to running any commands such as plan or apply, we have to get the modules. This is done using the get command:

$ terraform get -update=true

To stage the changeset, let's run the plan command:

$ terraform plan -out=plan.bin

To apply the changeset, let's run the apply command:

$ terraform apply plan.bin

License

Released under the MIT License. See LICENSE for more information.

quoins's People

Contributors

dragan avatar

Watchers

James Cloos avatar  avatar

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.