The Serverless Rules are a compilation of rules to validate infrastructure as code template against recommended practices. This currently provides a module for cfn-lint and a plugin for tflint.
You can use those rules to get quick feedback on recommended practices while building a serverless application, as part of automated code review process, or as guardrails before deploying to production.
PUBLIC PREVIEW: this project is currently in public preview to get feedback from the serverless community. APIs, tools, and rules might change between the beginning of public preview and version 1.
You can find a list of currently supported rules in the documentation.
To get started with Serverless Rules and cfn-lint, install cfn-lint-serverless module: pip install cfn-lint cfn-lint-serverless
You can now instruct cfn-lint to use Serverless Rules module installed previously via --append-rules or -a for short:
cfn-lint my_template.yaml -a cfn_lint_serverless.rulesYou can try with a Serverless Application Model (SAM) example provided in this repository by running:
cfn-lint examples/sam/template.yaml -a cfn_lint_serverless.rulesThis plugin depends on tflint. If you use tflint version 0.29 or newer, you can leverage the tflint --init command to automatically install the plugin. Otherwise, you will need to download the tflint-ruleset-aws-serverless binary corresponding to your system from the releases page.
You can enable the Serverless Rules plugin by adding a plugin section in the .tflint.hcl file in your project:
plugin "aws-serverless" {
enabled = true
version = "0.3.4"
source = "github.com/awslabs/serverless-rules"
}See CONTRIBUTING to learn how to contribute to this project.
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.