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_NAMEcommand locally where$STAGE_NAMEis the name of the stage that needs to be configured. -
Or configure it using the
seed.ymlAdd the following to your Seed build spec. Or if you don’t have a build spec, create a
seed.ymlfile in your project root with the following:before_build: - serverless create_domain --stage $SEED_STAGE_NAMEHere
$SEED_STAGE_NAMEis 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; fiWhere
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