Awesome Open Source
Awesome Open Source

Latest Release Build & Deploy Go Report Card

🔍 config-lint 🔎

A command line tool to validate configuration files using rules specified in YAML. The configuration files can be one of several formats: Terraform, JSON, YAML, with support for Kubernetes. There are built-in rules provided for Terraform, and custom files can be used for other formats.

📓 Documentation

👷 Contributing

🐛 Issues & Bugs

Blog Posts

✏️ config-lint: Up and Running

✏️ Development Acceleration Through VS Code Remote Containers

Quick Start

Install the latest version of config-lint on macOS using Homebrew:

brew tap stelligent/tap
brew install config-lint

Or manually on Linux:

curl -L https://github.com/stelligent/config-lint/releases/latest/download/config-lint_Linux_x86_64.tar.gz | tar xz -C /usr/local/bin config-lint
chmod +rx /usr/local/bin/config-lint

Run the built-in ruleset against your Terraform files. For instance if you want to run config-lint against our example files:

config-lint -terraform example-files/config

You will see failure and warning violations in the output like this:

[
  {
    "AssertionMessage": "viewer_certificate[].cloudfront_default_certificate | [0] should be 'false', not ''",
    "Category": "resource",
    "CreatedAt": "2020-04-15T19:24:33Z",
    "Filename": "example-files/config/cloudfront.tf",
    "LineNumber": 10,
    "ResourceID": "s3_distribution",
    "ResourceType": "aws_cloudfront_distribution",
    "RuleID": "CLOUDFRONT_MINIMUM_SSL",
    "RuleMessage": "CloudFront Distribution must use TLS 1.2",
    "Status": "FAILURE"
  },
  ...

You can find more install options in our installation guide.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Hcl (12,490
Kubernetes (11,174
Json (10,966
Open Source (7,163
Terraform (4,787
Devops (3,795
Yaml (2,002
Static Analysis (929
Lint (655
Related Projects