tflint VS conftest

Compare tflint vs conftest and see what are their differences.

tflint

A Pluggable Terraform Linter (by terraform-linters)

conftest

Write tests against structured configuration data using the Open Policy Agent Rego query language (by open-policy-agent)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
tflint conftest
30 9
4,572 2,782
1.9% 0.9%
8.9 8.5
11 days ago 7 days ago
Go Go
Mozilla Public License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

tflint

Posts with mentions or reviews of tflint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-26.
  • Top Terraform Tools to Know in 2024
    19 projects | dev.to | 26 Mar 2024
    ‍TFLint is a Terraform linter focused on possible errors, best practices, and style conventions in your Terraform code.
  • 10 Ways for Kubernetes Declarative Configuration Management
    23 projects | dev.to | 1 Jan 2024
  • Top 10 terraform tools you should know about.
    10 projects | dev.to | 11 Dec 2023
    TFlint is a powerful linter for Terraform, designed to catch errors and issues that terraform plan may not detect. As Terraform grows in popularity for infrastructure as code, the need for robust tools to ensure code quality and reliability becomes paramount. TFlint fulfills this need by analyzing Terraform configurations to find problems that are not covered by syntax checks. It checks for things like unsuitable AWS instance types, incorrect IAM policy syntax, and the use of deprecated syntax or features. By integrating TFlint into the development process, users can proactively identify potential problems, improving the stability and efficiency of their infrastructure deployments. This additional layer of validation is crucial for maintaining high standards in complex, cloud-based infrastructures.
  • Saw a not-so-good thing in my pipeline. How do we fix it?
    4 projects | /r/Terraform | 2 Jun 2023
    Looking at the description, https://github.com/terraform-linters/tflint , I think it's not what I am looking for. The reason I used a different tcp port is to make the health check on load balancer fail. It's also the same as not changing the tcp port but developer making a code change in their javascript, nodejs, java, etc fail to start properly. If that happens, load balancer's health check will fail as well.
  • Top 4 Infrastructure as Code Open-Source Tools for 2023
    3 projects | /r/webdevelopment | 3 May 2023
    TFLint is an open-source infrastructure as code linter tool that helps developers and DevOps teams identify potential issues and errors in their Terraform code by checking the Terraform configuration files for best practices, coding standards, and policy compliance.
  • Sorting variables and outputs
    3 projects | /r/Terraform | 1 Mar 2023
    Indeed, that is the case, atm. Your comment got me searching a little bit more. It seems that they are planning to implement a flag for small fixes https://github.com/terraform-linters/tflint/issues/266
  • Looking for a tool to enforce policies on terraform files names/content
    4 projects | /r/Terraform | 23 Jan 2023
    Sounds like tflint to me!
  • New to gitlab-ci - Need help with a job in gitlab-ci.yml
    2 projects | /r/gitlab | 13 Jan 2023
    I created a .tflint.hcl with the following content: https://github.com/terraform-linters/tflint/blob/master/docs/user-guide/config.md (The example)
  • 5 tools to supercharge your Terraform Development
    3 projects | dev.to | 12 Jan 2023
    TFLint: This is a Terraform linter that checks for errors and best practices in your Terraform code. TFLint helps to catch common mistakes, such as variable name clashes, missing required variables, or invalid resource arguments. It also checks for compliance with best practices, such as naming conventions and resource ordering. By using TFLint, you can catch errors early on, which helps to improve the quality of your Terraform code.
  • Breve guia de sobrevivência com Terraform
    11 projects | dev.to | 22 Dec 2022
    tflint: Linter para Terraform, serve para avisar sobre problemas com sintaxe, erros nos principais provedores de nuvem, garantir boas práticas e outras coisas.

conftest

Posts with mentions or reviews of conftest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-28.
  • Validation on list(object) variables
    1 project | /r/Terraform | 8 May 2023
    I wrote following conftest.dev (OPA), sample policy
  • The default.go file meaning
    1 project | /r/golang | 22 Apr 2023
  • Introducing Conftest and setting up CI with Github Actions to automate reviewing of Terraform code
    3 projects | dev.to | 28 Dec 2021
    name: tf-plan-apply on: pull_request: branches: [ main ] env: TF_VERSION: 1.0.0 CONFTEST_VERSION: 0.28.3 WORKING_DIR: ./ jobs: terraform: name: aws-eureka-pairs-etc-s3 runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Install conftest run: | wget -O - 'https://github.com/open-policy-agent/conftest/releases/download/v${{ env.CONFTEST_VERSION }}/conftest_${{ env.CONFTEST_VERSION }}_Linux_x86_64.tar.gz' | tar zxvf - ./conftest --version //❶ - name: Setup Terraform uses: hashicorp/setup-terraform@v1 with: terraform_wrapper: false //❷ terraform_version: ${{ env.TF_VERSION }} cli_config_credentials_token: ${{ secrets.YOUR_CRED_NAME}} - name: Terraform Init ${{ env.WORKING_DIR }} working-directory: ${{ env.WORKING_DIR }} run: terraform init - name: Terraform Plan ${{ env.WORKING_DIR }} if: github.event_name == 'pull_request' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} working-directory: ${{ env.WORKING_DIR }} id: plan run: terraform plan -out=tfplan -no-color -lock=false -parallelism=50 - name: Convert terraform plan result to json formmat if: github.event_name == 'pull_request' id: convert working-directory: ${{ env.WORKING_DIR }} run: terraform show -json tfplan > tfplan.json - name: conftest test if: github.event_name == 'pull_request' id: conftest run: ./conftest test --no-color ${{ env.WORKING_DIR }}/tfplan.json //❸
  • Kubernetes Security Checklist 2021
    28 projects | dev.to | 18 Oct 2021
    Workload configuration should be audited regularly (Kics, Kubeaudit, Kubescape, Conftest, Kubesec, Checkov)
  • Don't let your Terraform go rogue with Conftest and the Open Policy Agent
    2 projects | dev.to | 25 Jun 2021
    Insert Conftest! As they state in their GitHub description, Conftest tests against structured configuration data using the Open Policy Agent Rego query language. In the case of Terraform, this means we're actually running unit tests against sample JSON and actual tests against the Terraform state JSON.
  • Using Open Policy Agent and Conftest to Validate Your Openshift 4 IPI Configuration
    1 project | dev.to | 25 Jun 2021
    While Rego is the policy language we use to assemble our policies, we still need something to run those policies with. If you have a cluster and you want to actively evaluate policies, you can end up running an instance of Open Policy Agent and it's associated tooling. However in our case, we just want to check things at runtime (or just on some recurring basis such as when changes get checked in or a pull request is submitted). In the latter instance, we are able to use another tool from the Open Policy Agent project called ConfTest. What ConfTest allows us to do is to specify a file or directory of files that we want to inspect along with the set of policies we want to inspect them with. It then takes all of that and dumps out the associated outputs from those policies and tell us the results (i.e. the messages, how many policies were checked and the results of those policies). This tool is much better suited for our use case, so this is what we will proceed with. To grab the latest version of ConfTest, you can grab the latest release from here.
  • !!!*IMP: Conftest Integration with AWS or Other*!!!!
    1 project | /r/devopsish | 18 Jun 2021
    OR HOW TO RUN https://github.com/open-policy-agent/conftest AS CI/CD in Circle CI to apply policies?
  • Terraforming in 2021 – new features, testing and compliance
    12 projects | dev.to | 2 May 2021
    If you like terraform-compliance, Conftest might also be worth having a look. It has its own DSL to write policies, and allows you to test multiple frameworks. We found this blog post from Lennard Eijsackers very informative, and would thus rather recommend you to check it out.
  • Mental models for understanding Kubernetes Pod Security Policy PSP
    4 projects | /r/kubernetes | 16 Jan 2021
    Can Gatekeeper and Conftest single-source the same set of rules? I'm looking at https://github.com/open-policy-agent/conftest/issues/54#issuecomment-528988831 and not seeing how.

What are some alternatives?

When comparing tflint and conftest you can also consider the following projects:

checkov - Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.

tfsec - Security scanner for your Terraform code [Moved to: https://github.com/aquasecurity/tfsec]

terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.

terraform-validator - A norms and conventions validator for Terraform

inspec - InSpec: Auditing and Testing Framework

terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

gatekeeper-library - 📚 The OPA Gatekeeper policy library

pre-commit-hooks - Some out-of-the-box hooks for pre-commit

grype - A vulnerability scanner for container images and filesystems