tflint VS terraform-docs

Compare tflint vs terraform-docs and see what are their differences.

tflint

A Pluggable Terraform Linter (by terraform-linters)

terraform-docs

Generate documentation from Terraform modules in various output formats (by terraform-docs)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
tflint terraform-docs
30 32
4,572 3,993
1.9% 2.2%
8.9 7.7
10 days ago 14 days ago
Go Go
Mozilla Public License 2.0 MIT License
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.

terraform-docs

Posts with mentions or reviews of terraform-docs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-09.
  • Managing Infrastructure as Code (IaC) With Terraform
    3 projects | dev.to | 9 Apr 2024
    Documentation is really important, so having a README.md file inside your Terraform repository that explains how to use the automation (including descriptions of variables and outputs) really help in understanding what has been implemented. To easily generate the description of variables and outputs, you can leverage tfdocs.
  • Top Terraform Tools to Know in 2024
    19 projects | dev.to | 26 Mar 2024
    ‍Terraform-docs is a tool that automatically generates documentation from Terraform modules in various output formats, including markdown, JSON, and others. It's particularly useful for maintaining up-to-date documentation of your Terraform modules' inputs, outputs, providers, and resources.
  • GitHub Actions - Automated Terraform-docs
    3 projects | dev.to | 16 Sep 2023
    Earlier this year I wrote about the challenges I faced creating a Terraform module. I mentioned then that I was leveraging terraform-docs and GitHub Actions to automate documentation, but a full workflow walkthrough was out of that post's scope.
  • Automating Terraform Documentation with Terraform-Docs and Azure DevOps
    2 projects | dev.to | 20 Jun 2023
    ### Muti-Stage pipeline for windows trigger: - main variables: terraformDocsVersion: '0.16.0' serviceConnectionName: 'Terraform-SPN-DevOps-MagiconionM' keyvaultName: 'pwd9000-core-kv' pool: vmImage: 'windows-latest' stages: - stage: GenerateTerraformDocumentation jobs: - job: Generate_Terraform_Documentation steps: - checkout: self persistCredentials: true # this allows the later scripts to use the system-provided git token to push changes back to the repo ### Link to key vault. - task: AzureKeyVault@1 inputs: azureSubscription: $(serviceConnectionName) #ADO service connection (Service principal) KeyVaultName: $(keyvaultName) SecretsFilter: 'TerraformDocsPAToken' RunAsPreJob: true displayName: Get PAToken from Keyvault ### Install Terraform-Docs. - powershell: | Invoke-WebRequest -Uri "https://github.com/terraform-docs/terraform-docs/releases/download/v$(terraformDocsVersion)/terraform-docs-v$(terraformDocsVersion)-windows-amd64.zip" -OutFile "terraform-docs.zip" Expand-Archive -Path "terraform-docs.zip" -DestinationPath "$(System.DefaultWorkingDirectory)\terraform-docs" -Force $env:Path += ";$(System.DefaultWorkingDirectory)\terraform-docs" displayName: 'Install terraform-docs' ### Remove all old README.md files and generate new README.md files for each TF module. - powershell: | # Set Modules Root Directory Set-Location "$(Build.SourcesDirectory)\@TF_Modules" # Get all subdirectories (Terraform module directories) $terraformModuleDirs = Get-ChildItem -Path (Get-Location) -Directory # Loop through each directory to cleanup/remove old README files foreach ($dir in $terraformModuleDirs) { # Get all files in the directory $readMeFiles = Get-ChildItem -Path $dir.FullName -Filter 'README.md' # Loop through each file in each terraform module foreach ($file in $readMeFiles) { # Check if README file already exists and remove if ($file) { # Remove the file Remove-Item $file.FullName -Confirm:$false Write-Output "Old file '$($file.Name)' removed from '$($dir.FullName)'" } } #After cleanup create a new README.md file with 'terraform-docs' based on latest TF module code in current folder(terraform module) $tfFiles = Get-ChildItem -Path $dir.FullName -Filter *.tf if ($tfFiles.Count -gt 0) { # Create new README.md file $(System.DefaultWorkingDirectory)\terraform-docs\terraform-docs.exe markdown table $dir.FullName --output-file "README.md" } else { Write-Output "No .tf files found." } } displayName: 'Cleanup and Generate new README for each TF module' ### Commit and push updated README.md files for TF modules. - powershell: | git config --local user.email "[email protected]" git config --local user.name "Terraform Docs" git add *.md git commit -m "Update README.md for each TF module" git push origin HEAD:$(Build.SourceBranchName) displayName: 'Commit and Push updated README.md files for TF modules' env: SYSTEM_ACCESSTOKEN: $(TerraformDocsPAToken)
  • How to understand existing code?
    2 projects | /r/Terraform | 18 Feb 2023
    I'm going to have to figure out how to run terraform-docs.io against each module. I have zero terraform experience.
  • 5 tools to supercharge your Terraform Development
    3 projects | dev.to | 12 Jan 2023
    Terraform-docs: This tool generates documentation for your Terraform modules in various formats, such as Markdown, HTML, and JSON. Terraform-docs parses your Terraform code and extracts documentation from comments, variable and output descriptions, and input/output examples. The tool then generates a table of contents with links to the relevant documentation for each module, which makes it easy to understand the purpose and usage of each module.
  • How to Write an Awesome Readme
    2 projects | dev.to | 28 Dec 2022
    Terraform docs
  • Terraform documentation of modules with nested inputs with optuonals?
    2 projects | /r/Terraform | 11 Dec 2022
    I have been using https://terraform-docs.io to generate documentation of my terraform modules. However creating nested objects with optionals makes the documentation rather ugly and hard to read. See gh issue which also describes this type of issue: https://github.com/terraform-docs/terraform-docs/issues/656
  • Automating release docs for ansible roles
    3 projects | /r/ansible | 28 Oct 2022
    I am looking for a way to automate doc creation and updates for ansible roles. I recently discovered terraform-docs and I am curious if there is something similar for ansible.
  • List of most useful Terraform open-source tools
    10 projects | news.ycombinator.com | 28 Aug 2022
    terraform-docs: https://github.com/terraform-docs/terraform-docs

    Do you have other Terraform-related open-source tools that you recommend? Please go ahead and add in the comments!

What are some alternatives?

When comparing tflint and terraform-docs 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.

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

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

lens - Lens - The way the world runs Kubernetes

terraform-validator - A norms and conventions validator for Terraform

atlantis - Terraform Pull Request Automation

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

typedoc - Documentation generator for TypeScript projects.

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.

terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.

krew - 📦 Find and install kubectl plugins