@silvermine/serverless-plugin-cloudfront-distribution-tags

1.1.0 • Public • Published

Serverless Plugin: Propagate Stack Tags To CloudFront Distribution

Build Status Coverage Status Dependency Status Dev Dependency Status

What is it?

This is a plugin for the Serverless framework that will copy the tags from a service's CloudFormation stack to any CloudFront distributions contained in that stack.

The CloudFormation docs note that all stack-level tags will be automatically propagated to resources that CloudFormation supports. CloudFront distributions have support for tags via CloudFormation. Unfortunately, stack-level tags are not propagated to CloudFront distributions at this time (and it seems to have been this way for a while). Until the behavior changes, this plugin can be used to mimic the behavior of the automatic stack tag propagation that CloudFormation provides. This will be performed by adding the stack-level tags found in the CloudFormation template to the CloudFront distribution before the stack is deployed.

NOTE: Once CloudFormation supports propagating stack-level tags to CloudFront distribution, this plugin will be obsolete.

How do I use it?

There are two steps:

Install the Plugin as a Development Dependency

npm install --save-dev --save-exact @silvermine/serverless-plugin-cloudfront-distribution-tags

Telling Serverless to Use the Plugin

Simply add this plugin to the list of plugins in your serverless.yml file:

plugins:
   - '@silvermine/serverless-plugin-cloudfront-distribution-tags'

Since CloudFront distributions can take quite a while to deploy, you likely only want to have to CloudFormation update them when changes are actually made. Unfortunately, when the tags on a distribution change, CloudFormation will redeploy the distribution. If you have a tag with a value that changes even when the distribution may not have, e.g. CODE_VERSION, you might want to exclude this tag using the excludedTags configuration option.

custom:
   serverless-plugin-cloudfront-distribution-tags:
      excludedTags:
         - CODE_VERSION
         - ANOTHER_TAG_TO_BE_EXCLUDED

How do I contribute?

We genuinely appreciate external contributions. See our extensive documentation on how to contribute.

License

This software is released under the MIT license. See the license file for more details.

Package Sidebar

Install

npm i @silvermine/serverless-plugin-cloudfront-distribution-tags

Weekly Downloads

37

Version

1.1.0

License

MIT

Unpacked Size

16.9 kB

Total Files

10

Last publish

Collaborators

  • jthomerson
  • onebytegone
  • webpub