HashiCorp Configuration Language
HashiCorp Configuration Language (HCL) is a human-readable declarative language for expressing structured configuration, including infrastructure and service definitions.
Road to Kubernetes
HCL, or HashiCorp Configuration Language, is a declarative configuration language for expressing structured settings and infrastructure definitions.
- How it is used
- Defines Nomad server settings and container jobs as declarative configuration.
- How deep it goes
- Works through server settings and nested job definitions, but defers advanced server configuration and private-image setup.
- Examples
- Uses a Nomad server file and jobs for one container, then Python and Node.js containers with ports and services.
- What you can do after
- Apply it via Nomad to configure a server and plan and run container jobs in its UI.
Read how Road to Kubernetes explains HashiCorp Configuration Language →
Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu
Terraform HCL is the Terraform-specific dialect of HCL, including Terraform's syntax, resources, and functions.
- How it is used
- Defines desired infrastructure in readable Terraform configurations rather than prescribing deployment steps.
- How deep it goes
- Defines Terraform's HCL dialect and details variable-file syntax and loading, including its literal-only restriction.
- Examples
- Shows a production .tfvars file containing a VPC identifier and instance count, alongside a JSON equivalent.
- What you can do after
- Apply it via Terraform: supply readable configuration and variable values, then use init, plan, and apply to deploy changes.
Acing the CCNA Exam: Volume 2 Advanced Networking and Security
HashiCorp Configuration Language is a declarative configuration language for describing infrastructure and services.
- How it is used
- Defines desired infrastructure state for Terraform provisioning and management.
- How deep it goes
- Explains HCL’s declarative role and workflow placement but stops short of syntax or language internals.
- Examples
- Uses Terraform configuration files for resources on AWS, Microsoft Azure, Google Cloud, VMware vSphere, OpenStack, and Kubernetes.
- What you can do after
- Apply it via Terraform to declare, preview, and provision desired infrastructure resources.
Related concepts
- declarative programmingkind of · Declarative programming is a programming paradigm that specifies desired results, states, relationships, or rules without prescribing the step-by-step operations that produce them.
- JSONalternative to · JSON is a standardized, language-independent text format for representing structured data using objects, arrays, strings, numbers, Boolean values, and null.
- Nomaduses · Nomad is HashiCorp’s workload orchestrator for deploying and managing containerized and non-containerized applications and services across clusters.
- Packeruses · Packer is an open-source tool for creating machine images from declarative configurations across multiple platforms.
- Consuluses · Consul is a HashiCorp service networking platform that provides service discovery, health checking, configuration, and secure connectivity.
- domain-specific languagekind of · A domain-specific language is a specialized language, notation, or terminology tailored to express concepts and tasks within a particular subject domain.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


