All Projects → hashicorp → Terraform Ls

hashicorp / Terraform Ls

Licence: mpl-2.0
Terraform Language Server

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Terraform Ls

Kubenow
Deploy Kubernetes. Now!
Stars: ✭ 285 (-26.74%)
Mutual labels:  terraform, hcl
Terratag
Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
Stars: ✭ 385 (-1.03%)
Mutual labels:  terraform, hcl
Terragrunt Infrastructure Live Example
A repo used to show examples file/folder structures you can use with Terragrunt and Terraform
Stars: ✭ 286 (-26.48%)
Mutual labels:  terraform, hcl
Vim Terraform Completion
A (Neo)Vim Autocompletion and linter for Terraform, a HashiCorp tool
Stars: ✭ 280 (-28.02%)
Mutual labels:  terraform, hcl
Kubecdn
Self-hosted CDN based on Kubernetes
Stars: ✭ 314 (-19.28%)
Mutual labels:  terraform, hcl
Iam Policy Json To Terraform
Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document
Stars: ✭ 282 (-27.51%)
Mutual labels:  terraform, hcl
Terraform Aws Gitlab Runner
Terraform module for AWS GitLab runners on ec2 (spot) instances
Stars: ✭ 292 (-24.94%)
Mutual labels:  terraform, hcl
Terraform Aws Eks Cluster
Terraform module for provisioning an EKS cluster
Stars: ✭ 256 (-34.19%)
Mutual labels:  terraform, hcl
Elasticsearch Cloud Deploy
Deploy Elasticsearch on the cloud easily
Stars: ✭ 308 (-20.82%)
Mutual labels:  terraform, hcl
Terraform Kubestack
Terraform GitOps Framework — Everything you need to build reliable automation for AKS, EKS and GKE Kubernetes clusters in one free and open-source framework.
Stars: ✭ 300 (-22.88%)
Mutual labels:  terraform, hcl
Provisioning
Kubernetes cluster provisioning using Terraform.
Stars: ✭ 277 (-28.79%)
Mutual labels:  terraform, hcl
Terraform Null Label
Terraform Module to define a consistent naming convention by (namespace, stage, name, [attributes])
Stars: ✭ 324 (-16.71%)
Mutual labels:  terraform, hcl
Terraform Examples
Terraform samples for all the major clouds you can copy and paste. The future, co-created.
Stars: ✭ 256 (-34.19%)
Mutual labels:  terraform, hcl
Caf Terraform Landingzones
Cloud Adoption Framework for Azure - Terraform landing zones
Stars: ✭ 335 (-13.88%)
Mutual labels:  terraform, hcl
Cloudblock
Cloudblock automates deployment of secure ad-blocking for all of your devices - even when mobile. Step-by-step text and video guides included! Compatible clouds include AWS, Azure, Google Cloud, and Oracle Cloud. Cloudblock deploys Wireguard VPN, Pi-Hole DNS Ad-blocking, and DNS over HTTPS in a cloud provider - or locally - using Terraform and Ansible.
Stars: ✭ 257 (-33.93%)
Mutual labels:  terraform, hcl
Terraform Ecs Fargate
A Terraform template used for provisioning web application stacks on AWS ECS Fargate
Stars: ✭ 293 (-24.68%)
Mutual labels:  terraform, hcl
toy-language-server
Example language server (LSP) implementation for a toy language
Stars: ✭ 54 (-86.12%)
Mutual labels:  language-server, lsp
camel-language-server
The Apache Camel LSP server implementation
Stars: ✭ 31 (-92.03%)
Mutual labels:  language-server, lsp
Elm Language Server
Language server implementation for Elm
Stars: ✭ 298 (-23.39%)
Mutual labels:  lsp, language-server
Kubernetes Digitalocean Terraform
📋 🌊 🌎 Setup a simple Kubernetes cluster in Digital Ocean using Terraform
Stars: ✭ 324 (-16.71%)
Mutual labels:  terraform, hcl

Terraform Language Server

Experimental version of Terraform language server.

What is LSP

Read more about the Language Server Protocol at https://microsoft.github.io/language-server-protocol/

Current Status

Not all language features (from LSP's or any other perspective) are available at the time of writing, but this is an active project with the aim of delivering smaller, incremental updates over time.

We encourage you to browse existing issues and/or open new issue if you experience a bug or have an idea for a feature.

Installation

Homebrew (macOS / Linux)

You can install via Homebrew

brew install hashicorp/tap/terraform-ls

Ubuntu/Debian (APT)

# Add the HashiCorp GPG key
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
# Add the official HashiCorp Linux repository
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install terraform-ls

CentOS/RHEL (YUM)

# Install yum-config-manager to manage your repositories
sudo yum install -y yum-utils
# Add the official HashiCorp Linux repository
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

sudo yum -y install terraform-ls

Amazon Linux (YUM)

# Install yum-config-manager to manage your repositories
sudo yum install -y yum-utils
# Add the official HashiCorp Linux repository
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

$ sudo yum -y install terraform-ls

Fedora (DNF)

# Install dnf config-manager to manage your repositories
sudo dnf install -y dnf-plugins-core
# Add the official HashiCorp Linux repository.
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo

sudo dnf -y install terraform-ls

Other platforms

  1. Download for the latest version of the language server relevant for your operating system and architecture.
  2. The language server is distributed as a single binary. Install it by unzipping it and moving it to a directory included in your system's PATH.
  3. You can verify integrity by comparing the SHA256 checksums which are part of the release (called terraform-ls_<VERSION>_SHA256SUMS).
  4. Check that you have installed the server correctly via terraform-ls -v. You should see the latest version printed to your terminal.

Usage

The most reasonable way you will interact with the language server is through a client represented by an IDE, or a plugin of an IDE.

Please follow the relevant guide for your IDE.

Credits

terraform-ls VS terraform-lsp

Both HashiCorp and the maintainer of terraform-lsp expressed interest in collaborating on a language server and are working towards a long-term goal of a single stable and feature-complete implementation.

For the time being both projects continue to exist, giving users the choice:

  • terraform-ls providing

    • overall stability (by relying only on public APIs)
    • compatibility with any provider and any Terraform >=0.12.0
    • currently less features
      • due to project being younger and relying on public APIs which may not offer the same functionality yet
  • terraform-lsp providing

    • currently more features
    • compatibility with a single particular Terraform (0.12.20 at time of writing)
      • configs designed for other 0.12 versions may work, but interpretation may be inaccurate
    • less stability (due to reliance on Terraform's own internal packages)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].