Config Management Camp 2023 Ghent

DSL, HCL, TF, LSP, and what's behind these acronyms
2023-02-06, 15:55–16:45, B.1.015

This talk will cover HCL (HashiCorp Configuration Language) and how it evolved over the last years to become the fastest-growing language on GitHub in 2022. HCL powers Terraform, Packer, and many more infrastructure as code tools. We'll look at how a DSL, such as HCL, can be authored comfortably with the help of a language server in an LSP (Language Server Protocol) aware editor (such as VS Code or Sublime Text).


We'll walk through HCL's recent history in the context of Terraform and HashiCorp as a whole. Next, we'll dive into the LSP (Language Server Protocol), which powers many editor integrations in use today for traditional general-purpose programming languages, such as Go (gopls), Python (Pylance), or Scala (Metals). Finally, we'll talk through various LSP-driven Terraform Extension for VS Code features to see how they work in the context of a DSL, such as Terraform language.

After using Terraform for a year or two in his previous job at Time Inc (media company), Radek joined HashiCorp as one of its first employees in EMEA. During his time there, he worked on various parts of the Terraform ecosystem - AWS provider, Kubernetes provider, early efforts around the provider/plugin SDK (used to build Terraform providers). Since 2020 he is focused on improving the editing experience through a dedicated Terraform language server and an extension for VS Code as part of a small 3-member Editor Experience team.