https://github.com/awslabs/serverless-rules

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

https://github.com/awslabs/serverless-rules

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

cfn-lint cloudformation serverless serverless-rules terraform tflint

Keywords from Contributors

generation projection sequences interactive archival chart simulator transformers controllable embeddings
Last synced: 5 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 413
  • Watchers: 13
  • Forks: 25
  • Open Issues: 9
  • Releases: 15
Topics
cfn-lint cloudformation serverless serverless-rules terraform tflint
Created almost 5 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

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](https://awslabs.github.io/serverless-rules/)** | **[🐍PyPi](https://pypi.org/project/cfn-lint-serverless/)**

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:

bash 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:

bash 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:

terraform plugin "aws-serverless" { enabled = true version = "0.3.4" 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.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Create event: 45
  • Issues event: 1
  • Release event: 6
  • Watch event: 13
  • Delete event: 48
  • Issue comment event: 34
  • Member event: 1
  • Push event: 78
  • Pull request review comment event: 7
  • Pull request review event: 18
  • Pull request event: 86
  • Fork event: 1
Last Year
  • Create event: 45
  • Issues event: 1
  • Release event: 6
  • Watch event: 13
  • Delete event: 48
  • Issue comment event: 34
  • Member event: 1
  • Push event: 78
  • Pull request review comment event: 7
  • Pull request review event: 18
  • Pull request event: 86
  • Fork event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 203
  • Total Committers: 8
  • Avg Commits per committer: 25.375
  • Development Distribution Score (DDS): 0.507
Past Year
  • Commits: 27
  • Committers: 3
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.37
Top Committers
Name Email Commits
Nicolas Moutschen n****n@g****m 100
dependabot[bot] 4****] 89
Leandro Damascena l****a@a****t 6
Stephen Liedig s****g@a****m 4
Niklaus Schiess t****x@a****m 1
Karsten 1****3 1
Heitor Lessa l****a@a****k 1
Amazon GitHub Automation 5****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 191
  • Average time to close issues: 5 days
  • Average time to close pull requests: 3 months
  • Total issue authors: 6
  • Total pull request authors: 5
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.36
  • Merged pull requests: 111
  • Bot issues: 0
  • Bot pull requests: 170
Past Year
  • Issues: 0
  • Pull requests: 79
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.47
  • Merged pull requests: 38
  • Bot issues: 0
  • Bot pull requests: 68
Top Authors
Issue Authors
  • nmoutschen (3)
  • sliedig (3)
  • keironlowe-edriving (1)
  • felixbillon (1)
  • dougireton (1)
  • danballance (1)
Pull Request Authors
  • dependabot[bot] (170)
  • sliedig (11)
  • nmoutschen (6)
  • takeshixx (2)
  • BMW-qxz2op3 (2)
Top Labels
Issue Labels
bug (8) enhancement (1)
Pull Request Labels
chore (171) bug (2)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 16
proxy.golang.org: github.com/awslabs/serverless-rules/tflint-ruleset-aws-serverless
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 1.8%
Forks count: 2.9%
Average: 5.3%
Dependent packages count: 7.0%
Dependent repos count: 9.3%
Last synced: 7 months ago
proxy.golang.org: github.com/awslabs/serverless-rules
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago

Dependencies

.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-go v3 composite
  • actions/setup-python v3 composite
  • goreleaser/goreleaser-action v3 composite
  • terraform-linters/setup-tflint v2 composite
.github/workflows/release-drafter.yml actions
  • release-drafter/release-drafter v5 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-go v3 composite
  • actions/setup-python v3 composite
.github/workflows/update-docs.yml actions
  • actions/checkout v3 composite
  • mhausenblas/mkdocs-deploy-gh-pages master composite
tflint-ruleset-aws-serverless/go.mod go
  • github.com/hashicorp/hcl/v2 v2.12.0
  • github.com/terraform-linters/tflint-plugin-sdk v0.9.1
tflint-ruleset-aws-serverless/go.sum go
  • 113 dependencies
cfn-lint-serverless/poetry.lock pypi
  • atomicwrites 1.4.0 develop
  • bandit 1.7.1 develop
  • black 22.3.0 develop
  • certifi 2021.10.8 develop
  • charset-normalizer 2.0.7 develop
  • click 8.0.3 develop
  • colorama 0.4.4 develop
  • coverage 6.2 develop
  • dataclasses 0.8 develop
  • eradicate 2.0.0 develop
  • flake8 4.0.1 develop
  • flake8-bugbear 22.4.25 develop
  • flake8-eradicate 1.2.1 develop
  • flake8-variables-names 0.0.4 develop
  • future 0.18.2 develop
  • gitdb 4.0.9 develop
  • gitpython 3.1.20 develop
  • idna 3.3 develop
  • iniconfig 1.1.1 develop
  • isort 5.10.1 develop
  • mando 0.6.4 develop
  • mccabe 0.6.1 develop
  • mypy-extensions 0.4.3 develop
  • packaging 21.2 develop
  • pathspec 0.9.0 develop
  • platformdirs 2.4.0 develop
  • pluggy 1.0.0 develop
  • py 1.11.0 develop
  • pycodestyle 2.8.0 develop
  • pyflakes 2.4.0 develop
  • pyparsing 2.4.7 develop
  • pytest 7.0.1 develop
  • pytest-cov 3.0.0 develop
  • radon 5.1.0 develop
  • requests 2.26.0 develop
  • smmap 5.0.0 develop
  • stevedore 3.5.0 develop
  • tomli 1.2.2 develop
  • typed-ast 1.5.0 develop
  • xenon 0.9.0 develop
  • attrs 21.2.0
  • aws-sam-translator 1.42.0
  • boto3 1.20.5
  • botocore 1.23.5
  • cfn-lint 0.58.4
  • decorator 4.4.2
  • importlib-metadata 4.2.0
  • importlib-resources 3.3.1
  • jmespath 0.10.0
  • jschema-to-python 1.2.3
  • jsonpatch 1.32
  • jsonpickle 2.0.0
  • jsonpointer 2.2
  • jsonschema 3.2.0
  • junit-xml 1.9
  • networkx 2.5.1
  • pbr 5.7.0
  • pyrsistent 0.18.0
  • python-dateutil 2.8.2
  • pyyaml 5.4.1
  • s3transfer 0.5.0
  • sarif-om 1.0.4
  • six 1.16.0
  • typing-extensions 4.0.0
  • urllib3 1.26.7
  • zipp 3.6.0
cfn-lint-serverless/pyproject.toml pypi
  • bandit ^1.7.0 develop
  • black ^22.3 develop
  • coverage ^6.2 develop
  • flake8 ^4.0.1 develop
  • flake8-bugbear ^22.4.25 develop
  • flake8-eradicate ^1.2.1 develop
  • flake8-variables-names ^0.0.4 develop
  • isort ^5.7.0 develop
  • pytest ^7.0.1 develop
  • pytest-cov ^3.0.0 develop
  • radon ^5.1.0 develop
  • xenon ^0.9.0 develop
  • cfn-lint >=0.49.2,<1
  • python >=3.6.2,<4
examples/cdk/requirements.txt pypi
  • aws-cdk.aws_apigateway *
  • aws-cdk.aws_lambda *
  • aws-cdk.aws_logs *
examples/cdk/setup.py pypi
  • aws-cdk.core ==1.106.1
requirements-dev.txt pypi
  • mkdocs * development
  • mkdocs-material * development