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.rules
You 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.rules
This 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.2"
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.