terragrunt VS vim-lsp

Compare terragrunt vs vim-lsp and see what are their differences.

terragrunt

Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules. (by gruntwork-io)

vim-lsp

async language server protocol plugin for vim and neovim (by prabirshrestha)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
terragrunt vim-lsp
55 81
7,613 3,001
1.9% -
9.1 6.8
1 day ago 13 days ago
Go Vim Script
MIT License 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.

terragrunt

Posts with mentions or reviews of terragrunt. 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
    ‍Terragrunt is a thin wrapper that provides extra tools for keeping your Terraform configurations DRY (Don't Repeat Yourself), working with multiple Terraform modules, and managing remote state. It's particularly useful in managing large-scale infrastructure deployments with Terraform.
  • DevSecOps with AWS- IaC at scale - Building your own platform - Part 1
    8 projects | dev.to | 21 Mar 2024
    ... #************************** Terraform ************************************* ARG TERRAFORM_VERSION=1.7.3 RUN set -ex \ && curl -O https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip && unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /usr/local/bin/ RUN set -ex \ && mkdir -p $HOME/.terraform.d/plugin-cache && echo 'plugin_cache_dir = "$HOME/.terraform.d/plugin-cache"' > ~/.terraformrc #************************* Terragrunt ************************************* ARG TERRAGRUNT_VERSION=0.55.1 RUN set -ex \ && wget https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64 -q \ && mv terragrunt_linux_amd64 /usr/local/bin/terragrunt \ && chmod +x /usr/local/bin/terragrunt #*********************** Terramate **************************************** ARG TERRAMATE_VERSION=0.4.5 RUN set -ex \ && wget https://github.com/mineiros-io/terramate/releases/download/v${TERRAMATE_VERSION}/terramate_${TERRAMATE_VERSION}_linux_x86_64.tar.gz \ && tar -xzf terramate_${TERRAMATE_VERSION}_linux_x86_64.tar.gz \ && mv terramate /usr/local/bin/terramate \ && chmod +x /usr/local/bin/terramate #*********************** tfsec ******************************************** ARG TFSEC_VERSION=1.28.5 RUN set -ex \ && wget https://github.com/aquasecurity/tfsec/releases/download/v${TFSEC_VERSION}/tfsec-linux-amd64 \ && mv tfsec-linux-amd64 /usr/local/bin/tfsec \ && chmod +x /usr/local/bin/tfsec \ && terragrunt --version #**********************Terraform docs ************************************ ARG TERRRAFORM_DOCS_VERSION=0.17.0 RUN set -ex \ && curl -sSLo ./terraform-docs.tar.gz https://terraform-docs.io/dl/v${TERRRAFORM_DOCS_VERSION}/terraform-docs-v${TERRRAFORM_DOCS_VERSION}-$(uname)-amd64.tar.gz \ && tar -xzf terraform-docs.tar.gz \ && chmod +x terraform-docs \ && mv terraform-docs /usr/local/bin/terraform-docs #********************* ShellCheck ***************************************** ARG SHELLCHECK_VERSION="stable" RUN set -ex \ && wget -qO- "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION?}/shellcheck-${SHELLCHECK_VERSION?}.linux.x86_64.tar.xz" | tar -xJv \ && cp "shellcheck-${SHELLCHECK_VERSION}/shellcheck" /usr/bin/ \ && shellcheck --version ...
  • Self-service infrastructure as code
    4 projects | dev.to | 12 Mar 2024
    Our first attempt was to introduce other engineering teams to Terraform - the Platform team was already using it extensively with Terragrunt, and using Atlantis to automate plan and apply operations in a Git flow to ensure infrastructure was consistent. We'd written modules, with documentation, and an engineer would simply need to raise a PR to use the module and provide the right values, and Atlantis (once the PR was approved by Platform) would go ahead and set it up for them.
  • Shielding Your Apps in the Cloud: Integrating CloudFront and AWS WAF with Terraform
    4 projects | dev.to | 23 Jan 2024
    Terragrunt: An extension of Terraform, Terragrunt assists in managing complex infrastructure with less duplication and more efficiency. Its power lies in its ability to manage dependencies and its dry configuration approach.
  • Advanced Terraform: Getting Started With Terragrunt
    1 project | dev.to | 19 Jan 2024
    Copy the link and download on your terminal using the wget command. Example: wget https://github.com/gruntwork-io/terragrunt/releases/download/v0.54.19/terragrunt_linux_amd64
  • EC2 Configuration using Ansible & GitHub Actions
    1 project | dev.to | 13 Jan 2024
    name: Configure on: push: branches: - main pull_request: branches: - main jobs: terraform: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup SSH uses: webfactory/[email protected] with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Setup Terraform uses: hashicorp/setup-terraform@v2 with: terraform_version: 1.5.5 terraform_wrapper: false - name: Setup Terragrunt run: | curl -LO "https://github.com/gruntwork-io/terragrunt/releases/download/v0.48.1/terragrunt_linux_amd64" chmod +x terragrunt_linux_amd64 sudo mv terragrunt_linux_amd64 /usr/local/bin/terragrunt terragrunt -v - name: Apply Terraform changes run: | cd dev terragrunt run-all apply -auto-approve --terragrunt-non-interactive -var AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -var AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -var AWS_REGION=$AWS_DEFAULT_REGION cd apache-server/ec2-web-server public_ip=$(terragrunt output instance_public_ip) echo "$public_ip" > public_ip.txt cat public_ip.txt env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ip-artifact path: dev/apache-server/ec2-web-server/public_ip.txt ansible: runs-on: ubuntu-latest needs: terraform steps: - name: Download artifact uses: actions/download-artifact@v4 with: name: ip-artifact - name: Configure Ansible run: | sudo apt update sudo pipx inject ansible-core jmespath ansible-playbook --version sudo echo "[web]" >> ansible_hosts sudo cat public_ip.txt >> ansible_hosts mv ansible_hosts $HOME sudo cat $HOME/ansible_hosts - name: Configure playbook run: | cd $HOME cat > deploy.yml < Test Page This is a test page EOF cat $HOME/deploy.yml - name: Run playbook uses: dawidd6/action-ansible-playbook@v2 with: playbook: deploy.yml directory: /home/runner key: ${{secrets.SSH_PRIVATE_KEY}} options: | --inventory ansible_hosts --verbose
  • Top 10 terraform tools you should know about.
    10 projects | dev.to | 11 Dec 2023
    Created and maintained by Gruntwork, Terragrunt is a tool designed to enhance Terraform’s capabilities. It acts as a thin wrapper around Terraform, offering additional features to streamline and optimise Terraform usage. Key functions of Terragrunt include helping users keep their Terraform configurations DRY (Don’t Repeat Yourself), efficiently managing multiple Terraform modules, and handling remote state management. By reducing repetition in Terraform code and simplifying the management of complex module dependencies and remote state, Terragrunt makes working with Terraform more efficient, especially for larger or more complex infrastructure deployments.
  • Seamless Cloud Infrastructure: Integrating Terragrunt and Terraform with AWS
    7 projects | dev.to | 10 Dec 2023
    locals { # Automatically load region-level variables region_vars = read_terragrunt_config(find_in_parent_folders("region.hcl")) # Automatically load environment-level variables` environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl")) # Extract the variables we need for easy access account_name = local.environment_vars.locals.account_name account_id = local.environment_vars.locals.aws_account_id aws_region = local.region_vars.locals.aws_region # This is the S3 bucket where the Terraform State Files will be stored remote_state_bucket = "devops-bucket" # This is the DynamoDB table where Terraform will add the locking status dynamodb_table = "terraform-state-lock" # IAM Role for Terraform backend to assume terraform_backend_role = "arn:aws:iam::{shared-services_account_id}:role/terraform-backend-role" environment_path = replace(path_relative_to_include(), "environments/", "") # https://github.com/hashicorp/terraform/releases terraform_version = "latest" # https://github.com/gruntwork-io/terragrunt/releases terragrunt_version = "latest" } # Generate an AWS provider block generate "provider" { path = "provider.tf" if_exists = "overwrite_terragrunt" contents = <
  • Top 10 CLI Tools for DevOps Teams
    11 projects | dev.to | 14 Aug 2023
    If your team works with Terraform, you should definitely try Terragrunt (and obviously, its CLI tool!). It's an Infrastructure as Code (IaC) tool that acts as a wrapper for Terraform and simplifies dealing with multiple Terraform modules in different environments.
  • Terraform best practices for reliability at any scale
    3 projects | news.ycombinator.com | 4 Aug 2023
    I’ve been using Terragrunt [0] for the past three years to manage loosely coupled stacks of Terraform configurations. It allows you to compose separate configurations almost as easily as you compose modules within a configuration. Its got its own learning curve, but its a solid tool to have in the tool box.

    [0] https://terragrunt.gruntwork.io/

vim-lsp

Posts with mentions or reviews of vim-lsp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-27.
  • Using SonarLint language server in Vim?
    4 projects | /r/vim | 27 Oct 2023
    Has anybody managed or got an idea how to make SonarLint Language Server work with e.g. vim-lsp?
  • Vim Golang syntax is ugly
    4 projects | /r/vim | 28 May 2023
    You need to configure a language server. For C++ it's a bit tricky, so good luck with Go. There are other plugins that provide semantic highlighting using LSP, for example https://github.com/prabirshrestha/vim-lsp (I didn't try it, but it seems good).
  • Vim-writegood: nothing, but a simple Vim9 wrapper around write-good.
    5 projects | /r/vim | 21 May 2023
    ALE can use LSP as well. And if you are using vim-lsp, you can use the same instance of server for both with vim-lsp-ale bridge plugin.
  • small vimrc and lsp?
    4 projects | /r/vim | 15 May 2023
    I feel the same way. Not a one-liner but the smallest config LSP plugin I've found is vim-lsp. It works in both Vim and Neovim.
  • Should I move to NeoVim?
    4 projects | /r/neovim | 25 Apr 2023
    The only major feature that Neovim still has is a built in LSP client. But I find the built in Neovim LSP client is unusably buggy, you're much better off using any of the other LSP plugins. What I use is vim-lsp, but I've tried all of the major lsp client, they are all significantly better than the built in Neovim LSP.
  • Starting with linux, my experience
    3 projects | /r/linux4noobs | 17 Apr 2023
  • Does vim have a built in/plugin version of vscode's command click?
    2 projects | /r/vim | 14 Apr 2023
  • install lsp in vim
    3 projects | /r/vim | 27 Mar 2023
    As for install/configuration, all you need is the latest Vim, the plugins I mentioned, and that bit in your vimrc. You can do a bit better than that if you copy the entire config with mappings from the vim-lsp GitHub page.
  • How to improve deoplete and vim-lsp (pylsp /jedi-language-server)
    3 projects | /r/vim | 22 Mar 2023
    I have a problem with Deoplete and Vim-LSP completion (Python's Pylsp and Jedi-Language-Server). The suggestion is much less, and it also misses a lot of opportunities to suggest compared to Deoplete-Jedi, which literally defeats the former by a large margin. Is there a setting to make this duo works like deoplete with deoplete-jedi?
  • The Ruff python linter is insanely good
    10 projects | /r/Python | 16 Mar 2023
    - add the [prabirshrestha/vim-lsp](https://github.com/prabirshrestha/vim-lsp) plugin and config to your `.vimrc` (note: `pylsp` is *not* necessary).

What are some alternatives?

When comparing terragrunt and vim-lsp you can also consider the following projects:

terraform-cdk - Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform

coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

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.

ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

Pulumi - Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀

YouCompleteMe - A code-completion engine for Vim

LocalStack - 💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community

atlantis - Terraform Pull Request Automation

vim-lsc - A vim plugin for communicating with a language server

sops - Simple and flexible tool for managing secrets

jedi-language-server - A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.