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, …
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, …
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, …
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 …
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 …
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 …
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 …
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, …
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 …
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, …
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 …
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, …
Terraform Local Values with Examples
Learn Terraform local values on Ubuntu — locals block syntax, local.NAME references, derived values from variables, maps, functions, conditionals, multiple locals blocks, locals vs variables, and common errors on …
Terraform Output Values with Examples
Learn Terraform output values on Ubuntu — output block syntax, resource attributes, terraform output, -raw, -json, jq, sensitive and complex outputs, state storage, shell automation, and common output errors on Terraform …
Terraform Variables: Types, tfvars and Precedence
Learn Terraform input variables on Ubuntu — variable block syntax, types, terraform.tfvars, auto.tfvars, -var-file, -var, TF_VAR, CLI variable precedence on Terraform 1.15.8, validation, nullable, sensitive, and common …
Terraform Resource References and Dependencies
Learn Terraform resource references and dependencies on Ubuntu — implicit ordering from attribute references, explicit depends_on, terraform graph, file-order vs graph order, dependency cycles, unknown values during …
Terraform Data Sources with Examples
Learn Terraform data sources on Ubuntu with the Docker provider — data block syntax, query existing infrastructure, attribute references, feeding values into resources, resource vs data comparison, depends_on, count and …
Terraform Resources: resource Block with Examples
Learn the Terraform resource block on Ubuntu — syntax, type and local name, arguments and attributes, addresses and references, create and update with terraform_data, Docker verification, replacement and deletion, …
Terraform Provider Version Constraints and Lock File
Learn how Terraform provider version constraints, .terraform.lock.hcl, terraform init -upgrade, and terraform providers lock work on Ubuntu — with required_version vs required_providers explained and real lock-file …
Terraform Data Types: List, Set, Map, Tuple and Object
Learn Terraform data types on Ubuntu — string, number, bool, list, set, map, tuple, object, optional attributes, any, null, list vs set, map vs object, type conversions, terraform console type(), and common type errors …
RHCSA Cheat Sheet for RHEL 10
RHCSA cheat sheet for RHEL 10 EX200 revision—compact command patterns, verification commands, and lesson links by objective area. Not a general Linux command index.
Automate RHEL Installation with Kickstart
Automate RHEL installation with Kickstart on RHEL 10: file structure, ksvalidator, anaconda-ks.cfg templates, inst.ks boot options, rhsm registration, lab harness kickstart, and post-install verification.
Solved: Kickstart clearpart Not Working on RHEL
Fix kickstart clearpart not working on RHEL 10: scope disks with ignoredisk and clearpart --drives, wipe old LVM with a %pre script, and validate storage before autopart.
Kickstart %pre Script Examples on RHEL
Kickstart %pre and %pre-install script examples on RHEL 10: --log, --interpreter, disk wipe before clearpart, NIC inventory, and copying logs with %post --nochroot.
Kickstart %post Script Examples on RHEL
Kickstart %post script examples on RHEL 10: chrooted post-install tasks, --nochroot log copy, --interpreter for Python and Bash, systemctl enable, and lab verification script.
Configure autofs to Automount NFS Shares in Linux
Install autofs on a Linux client, configure indirect and direct NFS maps in auto.master, trigger mounts on path access, set idle timeout, reload maps, and troubleshoot automount failures.
Linux umask Explained with Examples
Learn how Linux umask masks permissions at file creation: calculate modes from typical 0666 and 0777 requests, set session and persistent umask, configure systemd UMask, and troubleshoot common mistakes.
Configure Kickstart PXE Boot Server on Linux
Build a Kickstart PXE boot server on RHEL 10 with Apache HTTP, dnsmasq DHCP and TFTP, BIOS pxelinux and HTTP iPXE, local inst.stage2 from DVD, and inst.ks delivery for automated netboot installs.
How to Get RHEL for Free with a Developer Subscription
Get RHEL at no cost with the Red Hat Developer Subscription for Individuals: create an account, activate the subscription, pick the Boot or DVD ISO, and verify the download.
Register RHEL with Subscription Manager
Register RHEL with subscription-manager, verify Simple Content Access, enable BaseOS and AppStream repositories, configure a proxy, and unregister.

