terraform-aws-eks VS terraform-docs

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

terraform-aws-eks

Terraform module to create AWS Elastic Kubernetes (EKS) resources 🇺🇦 (by terraform-aws-modules)

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
terraform-aws-eks terraform-docs
69 32
4,154 4,007
2.4% 2.5%
8.7 7.7
5 days ago 4 days ago
HCL Go
Apache 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.

terraform-aws-eks

Posts with mentions or reviews of terraform-aws-eks. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-09.
  • Feat: Made it clear that we stand with Ukraine
    1 project | news.ycombinator.com | 27 Oct 2023
  • Need suggestions for managing eks terraform module
    2 projects | /r/Terraform | 9 Jul 2023
  • What's everyone's favorite EKS Terraform module these days?
    3 projects | /r/kubernetes | 3 Jul 2023
    cloudposse module was popular but most have moved to https://github.com/terraform-aws-modules/terraform-aws-eks also eks blueprints will be moving to this module. use eks blueprints v5
  • The Future of Terraform: ClickOps
    5 projects | /r/Terraform | 15 Jun 2023
    That's a very simplistic view. Let's do a small thought exercise. Is this module not infrastructure?
  • Failed to marshal state to json
    1 project | /r/Terraform | 10 Jun 2023
    I think there is an issue with the module eks : https://github.com/terraform-aws-modules/terraform-aws-eks
  • ☸️ How to deploy a cost-efficient AWS/EKS Kubernetes cluster using Terraform in 2023
    1 project | dev.to | 3 Jun 2023
    module "eks" { source = "terraform-aws-modules/eks/aws" cluster_name = var.cluster_name cluster_version = var.kubernetes_version cluster_endpoint_private_access = true cluster_endpoint_public_access = true cluster_addons = { coredns = { most_recent = true timeouts = { create = "2m" # default 20m. Times out on first launch while being effectively created } } kube-proxy = { most_recent = true } vpc-cni = { most_recent = true } aws-ebs-csi-driver = { most_recent = true } } vpc_id = module.vpc.vpc_id subnet_ids = module.vpc.private_subnets # Self managed node groups will not automatically create the aws-auth configmap so we need to create_aws_auth_configmap = true manage_aws_auth_configmap = true aws_auth_users = var.aws_auth_users enable_irsa = true node_security_group_additional_rules = { ingress_self_all = { description = "Node to node all ports/protocols" protocol = "-1" from_port = 0 to_port = 0 type = "ingress" self = true } egress_all = { # by default, only https urls can be reached from inside the cluster description = "Node all egress" protocol = "-1" from_port = 0 to_port = 0 type = "egress" cidr_blocks = ["0.0.0.0/0"] ipv6_cidr_blocks = ["::/0"] } } self_managed_node_group_defaults = { # enable discovery of autoscaling groups by cluster-autoscaler autoscaling_group_tags = { "k8s.io/cluster-autoscaler/enabled" : true, "k8s.io/cluster-autoscaler/${var.cluster_name}" : "owned", } # from https://github.com/terraform-aws-modules/terraform-aws-eks/issues/2207#issuecomment-1220679414 # to avoid "waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator" iam_role_additional_policies = { AmazonEBSCSIDriverPolicy = "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy" } } # possible values : https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/node_groups.tf self_managed_node_groups = { default_node_group = { create = false } # fulltime-az-a = { # name = "fulltime-az-a" # subnets = [module.vpc.private_subnets[0]] # instance_type = "t3.medium" # desired_size = 1 # bootstrap_extra_args = "--kubelet-extra-args '--node-labels=node.kubernetes.io/lifecycle=normal'" # } spot-az-a = { name = "spot-az-a" subnet_ids = [module.vpc.private_subnets[0]] # only one subnet to simplify PV usage # availability_zones = ["${var.region}a"] # conflict with previous option. TODO try subnet_ids=null at creation (because at modification it fails) desired_size = 2 min_size = 1 max_size = 10 bootstrap_extra_args = "--kubelet-extra-args '--node-labels=node.kubernetes.io/lifecycle=spot'" use_mixed_instances_policy = true mixed_instances_policy = { instances_distribution = { on_demand_base_capacity = 0 on_demand_percentage_above_base_capacity = 0 spot_allocation_strategy = "lowest-price" # "capacity-optimized" described here : https://aws.amazon.com/blogs/compute/introducing-the-capacity-optimized-allocation-strategy-for-amazon-ec2-spot-instances/ } override = [ { instance_type = "t3.xlarge" weighted_capacity = "1" }, { instance_type = "t3a.xlarge" weighted_capacity = "1" }, ] } } } tags = local.tags }
  • How are most EKS clusters deployed?
    7 projects | /r/kubernetes | 22 May 2023
    If you want somewhat viable setup - I'd go for terraform-aws-modules (Anton did an awesome job), and aws-ia blueprints, especially those multi-tenant ones.
  • I am stuck on learning how to provision K8s in AWS. Security groups? ALB? ACM? R53?
    3 projects | /r/Terraform | 19 Mar 2023
    ‏https://github.com/terraform-aws-modules/terraform-aws-eks
  • Deal with external managed resources destruction
    1 project | /r/Terraform | 3 Mar 2023
    I tried using explicit depends_on between my modules but this practise is not recommended since it cause issues during planning.
  • How to Upgrade EKS Cluster and its Nodes via Terraform without disruption?
    1 project | /r/kubernetes | 24 Jan 2023
    If you use https://github.com/terraform-aws-modules/terraform-aws-eks it is designed to upgrade the components in the correct order when the cluster version is changed

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 terraform-aws-eks and terraform-docs you can also consider the following projects:

terragrunt-infrastructure-modules-example - A repo used to show examples file/folder structures you can use with Terragrunt and Terraform

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

eksctl - The official CLI for Amazon EKS

lens - Lens - The way the world runs Kubernetes

terraform-aws-cloudwatch - Terraform module to create AWS Cloudwatch resources 🇺🇦

atlantis - Terraform Pull Request Automation

terraform-aws-eks-blueprints - Configure and deploy complete EKS clusters.

tflint - A Pluggable Terraform Linter

eks-alb-istio-with-tls - This repository demonstrate how to configure end-to-end encryption on EKS platform using TLS certificate from Amazon Certificate Manager, AWS Application LoadBalancer and Istio as service mesh.

typedoc - Documentation generator for TypeScript projects.

terraform-aws-security-group - This terraform module creates set of Security Group and Security Group Rules resources in various combinations.

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