serverless-hosted-zone

0.1.0 • Public • Published

Serverless Hosted Zone Plugin

Build

Table of Contents

  1. Description
  2. Requirements
  3. Installation
  4. Using the Plugin
  5. Notes
  6. License

Description

This plugin allow you to call a CLI command to create and remove an AWS Route 53 hosted zone. This plugin is designed for the Serverless Framework 1.x.

Requirements

  • Serverless Framework 1.x.
  • Node 10.x or greater.
  • NPM 6.x or greater.

Installation

Installing the Serverless Framework

Visit the Getting Started with the Serverless Framework to get started with the Serverless Framework.

Install with npm:

npm install -g serverless

Installing the Plugin

Install with npm:

npm install --save-dev serverless-hosted-zone

And then add the plugin to your serverless.yml file:

plugins:
  - serverless-hosted-zone

custom:
  hostedZone:
    name: domain.com.

See the example(s).

Using the Plugin

Create a Route 53 Hosted Zone

Run the CLI command to create the hosted zone:

sls create-zone

Create Route 53 Aliases

Update the serverless.yml file:

custom:
  hostedZone:
    name: domain.com.
    aliases:
      - type: cloudfrontDistribution
        cname: api.domain.com.

Run the CLI command to create the alias for the hosted zone:

sls create-aliases

Remove a Route 53 Hosted Zone

Note: This feature is currently not supported.

Run the CLI command to create the hosted zone:

sls remove-zone

Remove a Route 53 Aliases

Note: This feature is currently not supported.

Run the CLI command to create the hosted zone:

sls remove-aliases

Notes

The plugin will skip the execution instead of throwing an error when the configuration is missing in the serverless.yml file.

Please request features or report problems using the issues page.

IAM Policy

You may use this IAM policy as a starting point:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "route53:ListHostedZones",
        "cloudfront:ListDistributions"
      ],
      "Resource": "*",
      "Effect": "Allow",
      "Sid": "ServerlessHostedZonePlugin1"
    },
    {
      "Action": [
        "route53:CreateHostedZone",
        "route53:ChangeResourceRecordSets",
        "route53:ListResourceRecordSets"
      ],
      "Resource": "arn:aws:route53:::hostedzone/*",
      "Effect": "Allow",
      "Sid": "ServerlessHostedZonePlugin2"
    }
  ]
}

License

See the included LICENSE for rights and limitations under the terms of the MIT license.

Package Sidebar

Install

npm i serverless-hosted-zone

Weekly Downloads

113

Version

0.1.0

License

MIT

Unpacked Size

15.6 kB

Total Files

6

Last publish

Collaborators

  • miguelacallesmba