Using Serverless Plugins
Seed supports most of the common Serverless Framework plugins out of the box. The exception, would be plugins that are not related to the build or deployment process of the app. If you are having problems getting a specific plugin to work, feel free to contact us.
Below are a list of plugins that need some additional configuration to work with Seed.
serverless-domain-manager
The serverless-domain-manager is an alternative to configuring custom domains with Seed. The major difference is that Seed will automatically create the SSL certificates necessary for your custom domain.
However, if you are already using the serverless-domain-manager plugin, you need to configure it using the following options:
-
Set it up locally
Run the
serverless create_domain --stage $STAGE_NAME
command locally where$STAGE_NAME
is the name of the stage that needs to be configured. -
Or configure it using the
seed.yml
Add the following to your Seed build spec. Or if you don’t have a build spec, create a
seed.yml
file in your project root with the following:before_build: - serverless create_domain --stage $SEED_STAGE_NAME
Here
$SEED_STAGE_NAME
is an environment variable that is set automatically as a part of the build process.Note that this build hook will be run in your project root for ALL your services. So if you want to run it for a specific service you’ll need something like this:
before_build: - if [ $SEED_SERVICE_NAME = "my-service" ]; then cd my-service/ && serverless create_domain --stage $SEED_STAGE_NAME; fi
Where
my-service/
is the path to the service with the custom domain configured.
serverless-plugin-canary-deployments
The serverless-plugin-canary-deployments plugin is used to implement canary deployments of Lambda functions using AWS CodeDeploy.
It works with Seed without any changes. However, depending on the traffic shifting configuration that is used, your builds might time out. For example, Linear10PercentEvery10Minutes
strategy will take over an hour to completely deploy your app. Builds in Seed (on the free tier) have roughly a 20min timeout. You’ll need to upgrade to one of our paid plans and we’ll raise the timeout to fix this.
Help improve this page. Edit it with GitHub
Was this page helpful? Let us know via Twitter
Do your Serverless deployments take too long? Incremental deploys in Seed can speed it up 100x!
Learn More