Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
awslabs/serverless-rules: Compilation of rules to validate infrastructure-as-code templates against recommended practices for serverless applications.

awslabs/serverless-rules: Compilation of rules to validate infrastructure-as-code templates against recommended practices for serverless applications.

8 hours ago

Serverless Rules ================

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.

📜Documentation | 🐍PyPi

__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.

Usage guide

cfn-lint

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

tflint

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.5"
  source = "github.com/awslabs/serverless-rules"
}

Contributing

See CONTRIBUTING to learn how to contribute to this project.

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Chat with me