Giter Site home page Giter Site logo

az-infra's Introduction

Azurefire infrastructure

shipit

Infrastructure for azurefire.net and pushbot.party. Hosting for a bunch of services that @smashwilson wants to stash somewhere, deployed to AWS as immutable infrastructure.

Services

These containers run persistently on the CoreOS host:

  • pushbot: A hubot instance who's here to protect you from the terrible secret of space.
  • az-nginx: An nginx server that terminates incoming TLS connections and proxies requests to other services.

Cron

These containers are triggered on a schedule:

  • az-tls: Daily verification that the TLS certificate issued from Let's Encrypt is up to date. When expiration is near, acquire a new certificate with a DNS challenge and rebuild the infrastructure.

Deployment

Each time a new commit is merged into the master branch of this repository, its Travis build:

  1. Ensures that an Elastic Load Balancer exists and collects information about any pre-existing instances.
  2. Creates a temporary SSH keypair and uploads it to EC2.
  3. Launches an EC2 instance with a CoreOS image and waits for it to begin listening on port 22.
  4. Creates a bash script from a Jinja2 template and executes it over an SSH connection to the new host. The bash script pulls and runs containers for each of the services listed above.
  5. Registers the new host on the load balancer.
  6. De-registers any prior hosts from the load balancer. Terminates any prior instances and deletes any unused security groups and keypairs.

az-infra's People

Contributors

smashwilson 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.