1.0.5 • Published 4 years ago

serverless-plugin-layer-updater v1.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

serverless-plugin-layer-updater

Allows serverless projects to reference the latest version of a layer, with the added ability to update lambda functions automatically to reference a new layer version when one is published. While this solution is designed to help the serverless framework, it can be deployed for non-serverless framework systems as well (such as the SAM framework).

Generic badge PyPI license

Design:

The serverless-plugin-layer-updater uses an automated design to keep all functions up to date, while not breaking cloudformation rollbacks.

img design

Implementing Plugin

The serverless plugin is to help the serverless framework with issues outside of "serverless deploy" which will work fine without the plugin. Where the plugin is needed is when doing a "serverless deploy function", which has not been updated to support secret string resolution which is supported by cloudformation.

Installing the plugin

Install the plugin into the directory your serverless.yml is located

npm install serverless-plugin-layer-updater

Using the plugin

Add the decouple plugin to your plugins, and add a custom variable to turn it on

plugins:
    - serverless-plugin-layer-updater

functions:
    myFunction:
        handler: src/handler.event
        layers:
            - "{{resolve:secretsmanager:layers/${The Layer's Name}:SecretString:latest}}"

Run the deploy command

serverless deploy function -f {function name}

Implementing Auto Updater

Clone down the serverless-plugin-layer-updater repository.

git clone https://github.com/mutual-of-enumclaw/serverless-plugin-layer-updater.git

Run the command to install dependencies and deploy

npm i
serverless deploy

Deploy your layer with "auto update" somewhere in the description

layers:
    mylayer:
        path: layerPath
        description: This is my layer (auto updates)

When the layer deploys, all functions which reference it's prior version will automatically be updated to use the latest version of the plugin

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago