@silvermine/serverless-plugin-cloudfront-distribution-tags
v1.1.0
Published
Plugin for the SLS 1.x branch to provide support for propagating CloudFormation stack tags to CloudFront distributions
Downloads
859
Readme
Serverless Plugin: Propagate Stack Tags To CloudFront Distribution
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.