iframe-eb-deploy

1.3.1 • Public • Published

iframe-eb-deploy

licence mit

Purpose

iframe-eb-deploy makes short work of deploying Invisible Framework applications to AWS Elastic Beanstalk.

With a small amount of configuration, it deploys auto-scaling applications with HTTPS.

Applications are automatically versioned and archived to S3 on every deploy, making build-promotion extremely easy via both the AWS interface and the AWS SDK.

NOTE: this utility enforces HTTPS and no-www for your domains.

Installation

Install as a local dependency in your Invisible Framework-based project:

npm install -S iframe-eb-deploy

Setup

iframe-eb-deploy uses a config file named deploy.js at the root of your Invisible Framework project. The default configuration will automatically be created when you first install iframe-eb-deploy.

A postinstall script will automatically add the deploy script to your package.json file.

Usage

npm run deploy

Configuring Your AWS Infrastructure

  1. Using S3, create a new bucket. In your deploy.js, enter the name you used for this bucket as the value for the s3Bucket property.
  • Using EC2, create a security group that allows all inbound request from HTTP and HTTPS. Copy the name you give it to your clipboard, you'll need it in the next step.
  • Using Elastic Beanstalk, create a new web server application. Choose Docker as the configuration, and choose "Load balancing, auto scaling" as the environment type. Create a new application environment using at least a "t2.small" instance size with auto-scaling enabled (even if you set the maximum instance count to 1). Set the security group for your Beanstalk application to the one you created in step 1.
  • Using AWS Certificate Manager, create a certificate for the domain you plan to use. Be sure to include "www" as an additional domain if you plan to use both "domain.com" and "www.domain.com".
  • Using EC2, go to the Load Balancer for your Elastic Beanstalk application and configure the listeners to use both HTTP and HTTPS, with HTTPS configured to use the certificate you created in the previous step.
  • Change the Load Balancer's security group to the one you created in step 2.
  • Using Route 53, configure your domain with an A Record to point to your Load Balancer as an Alias.

Versioning

To keep better organization of releases this project follows the Semantic Versioning 2.0.0 guidelines.

Contributing

Want to contribute? Follow these recommendations.

License

MIT License © Justin Sisley

Readme

Keywords

none

Package Sidebar

Install

npm i iframe-eb-deploy

Weekly Downloads

1

Version

1.3.1

License

MIT

Last publish

Collaborators

  • justinsisley