devops

Fix Terraform "Provider Configuration Not Present" Error

Fix Terraform Provider configuration not present on Ubuntu — state bound to removed provider aliases, module providers map and configuration_aliases, safe restore-destroy-remove sequence, related missing-provider errors, …

Deepak Prasad11 min read
devops

Terraform CI/CD Pipeline with GitHub Actions

Build a Terraform CI/CD pipeline with GitHub Actions on Ubuntu — run terraform fmt check, validate and plan non-interactively with TF_IN_AUTOMATION and TF_INPUT, save and apply a reviewed plan file, protect concurrent …

Deepak Prasad40 min read
devops

Fix Terraform "Inconsistent Dependency Lock File" Error

Fix Terraform Inconsistent dependency lock file on Ubuntu — configuration versus .terraform.lock.hcl mismatch, no version is selected errors, init versus init -upgrade, saved plan and lock drift, CI artifact handling, …

Deepak Prasad11 min read
devops

Fix Terraform "Unsupported Attribute" Error

Fix Terraform Unsupported attribute on Ubuntu — wrong object keys, missing module outputs, count and for_each module shape changes, terraform_remote_state output typos, terraform console diagnostics with type and keys, …

Deepak Prasad12 min read
devops

Fix Terraform "Invalid Index" Error

Fix Terraform Invalid index on Ubuntu — missing map keys, list index out of range, empty tuple from conditional resources, count.index mismatches, for_each module addressing, terraform console diagnostics, and safer …

Deepak Prasad11 min read
devops

Fix Terraform "Invalid for_each Argument" Error

Fix Terraform Invalid for_each argument on Ubuntu — wrong list or tuple type, toset and map conversion, keys known only after apply, map of objects with each.key, nested list flattening, duplicate keys, and verification …

Deepak Prasad14 min read
devops

Terraform Test Framework with Examples

Learn the Terraform test framework on Ubuntu with terraform test — write .tftest.hcl files with run blocks and assert conditions, compare plan versus apply tests, pass test variables, mock providers without cloud …

Deepak Prasad16 min read
devops

terraform console Command with Examples

Learn the terraform console command on Ubuntu — evaluate expressions and functions interactively, inspect variables, locals and resource attributes from state, read unknown values with -plan, pipe expressions …

Deepak Prasad23 min read
devops

terraform graph: Visualize Terraform Dependencies

Generate and render Terraform dependency graphs on Ubuntu with terraform graph and Graphviz — read DOT output, pipe to SVG or PNG, compare implicit references with explicit depends_on, inspect module clusters, and use …

Deepak Prasad12 min read
devops

Migrate Local Terraform State to HCP Terraform

Move an existing locally managed Terraform state into an HCP Terraform workspace from Ubuntu — verify healthy local state, back it up, add a cloud block to an empty destination workspace, answer the migration prompt …

Deepak Prasad16 min read
devops

Terraform Troubleshooting Guide

Diagnose Terraform failures on Ubuntu by isolating the stage that broke — triage commands, terraform init and plan errors, partial apply recovery, provider and authentication failures, state lock and backend problems, …

Deepak Prasad24 min read
devops

Terraform Logging and Debugging with TF_LOG

Learn Terraform debug logs on Ubuntu — turn on TF_LOG, compare TRACE, DEBUG, INFO, WARN and ERROR volume, persist output with TF_LOG_PATH, split Terraform Core from provider logs with TF_LOG_CORE and TF_LOG_PROVIDER, …

Deepak Prasad24 min read
devops

Terraform Import: Import Existing Infrastructure

Learn Terraform import on Ubuntu — bring existing infrastructure under Terraform management with the terraform import CLI, declarative import blocks, generated configuration, for_each imports, module addresses, and plan …

Deepak Prasad26 min read
devops

Terraform Workspaces with Examples

Learn Terraform CLI workspaces on Ubuntu — workspace list, new, select, show, delete, terraform.workspace in configuration, local state layout, when to use workspaces, and how they differ from HCP Terraform workspaces on …

Deepak Prasad13 min read
devops

Terraform Drift Detection and Refresh-Only Mode

Learn Terraform drift detection on Ubuntu — out-of-band Docker changes, normal terraform plan, plan and apply -refresh-only, state vs configuration vs remote objects, deprecated terraform refresh, ignore_changes …

Deepak Prasad10 min read
devops

Terraform moved and removed Blocks with Examples

Learn Terraform moved and removed blocks on Ubuntu — rename resources, move into modules, stop managing without destroy, moved vs state mv, removed vs state rm, for_each address changes, and before-after plan evidence on …

Deepak Prasad10 min read
devops

Terraform State Commands with Examples

Learn terraform state commands on Ubuntu — state list, show, mv, rm, pull, and push with resource addresses, backup before modification, rm vs destroy, mv vs moved blocks, and push lineage warnings on Terraform 1.15.8.

Deepak Prasad11 min read
devops

Terraform State Locking and force-unlock

Learn Terraform state locking on Ubuntu — why backends lock state, reproduce Error acquiring the state lock, read lock ID metadata, safely use terraform force-unlock, lock-timeout and lock false risks, and current S3 …

Deepak Prasad11 min read
devops

Terraform Backends and Remote State Explained

Learn Terraform backends and remote state on Ubuntu — default local backend, backend block syntax, terraform init -reconfigure vs -migrate-state, partial backend configuration, locking overview, terraform_remote_state, …

Deepak Prasad15 min read
devops

Terraform Module Sources and Version Constraints

Learn Terraform module sources on Ubuntu — local paths, Registry addresses, Git ref pinning, subdirectory syntax, version constraints, terraform init and init -upgrade, terraform modules, provider vs module versioning, …

Deepak Prasad13 min read
devops

Terraform Module Inputs and Outputs with Examples

Learn how data crosses Terraform module boundaries on Ubuntu — child inputs, module arguments, outputs, module.NAME.OUTPUT references, chaining modules, implicit dependencies, providers mapping, sensitive propagation, …

Deepak Prasad11 min read
devops

Terraform Registry Modules: Find and Use Public Modules

Learn Terraform Registry modules on Ubuntu — public module source addresses, documentation evaluation, cloudposse label null module lab, terraform init, terraform modules, .terraform/modules inspection, upgrade and …

Deepak Prasad9 min read
devops

Terraform Modules: Create and Use Local Modules

Learn Terraform modules on Ubuntu — root vs child module, local module structure, module block syntax, variables and outputs across module boundaries, calling the same module twice, state addresses, init after module …

Deepak Prasad10 min read
devops

Manage Secrets and Sensitive Data in Terraform

Learn Terraform sensitive data on Ubuntu — sensitive variables and outputs, CLI redaction vs state persistence, TF_VAR and tfvars patterns, ephemeral values and restrictions, write-only arguments, saved plans, Vault …

Deepak Prasad18 min read
devops

Terraform Validation, Preconditions, Postconditions and Checks

Learn Terraform custom conditions on Ubuntu — variable validation, lifecycle preconditions and postconditions, check blocks with assert, evaluation timing, failure behavior on Terraform 1.15.8, and how language-level …

Deepak Prasad16 min read
devops

Terraform Lifecycle Meta-Arguments with Examples

Learn Terraform lifecycle meta-arguments on Ubuntu — lifecycle block syntax, create_before_destroy, prevent_destroy, ignore_changes and ignore_changes all, replace_triggered_by, replacement ordering, drift handling, …

Deepak Prasad14 min read
devops

Terraform Dynamic Blocks with Examples

Learn Terraform dynamic blocks on Ubuntu — syntax, for_each, iterator, conditional nested blocks, docker_container lab, nested dynamic example, dynamic vs resource for_each, dynamic vs for expression, limitations, and …

Deepak Prasad11 min read
devops

Terraform count vs for_each with Examples

Learn Terraform count vs for_each on Ubuntu — numeric vs keyed instances, count.index, conditional count, each.key and each.value, maps and sets, list conversion, state addresses, index-shift lab, module repetition, …

Deepak Prasad17 min read
devops

Terraform Functions with Practical Examples

Learn Terraform built-in functions on Ubuntu — string, numeric, collection, type conversion, jsonencode, yamlencode, base64, file, templatefile, timestamp, uuid, try, can, composition patterns, terraform console, and …

Deepak Prasad14 min read
devops

Terraform Expressions and Operators with Examples

Learn Terraform expressions on Ubuntu — references, arithmetic, comparison, and logical operators, conditional expressions, for and splat syntax, string templates, collection access, unknown values, type conversion, …

Deepak Prasad14 min read