SKIP TO CONTENT
VAULT
73 NOTES
2024.10.15
/
SEARCH
⌘K
◑ THEME
☰
HOME
DEVOPS
PROGRAMMING LANGUAGES
DATABASES
SYSTEM DESIGN
DSA
AI ENGINEERING
BOOKS
FRONTEND
BACKEND
DEVOPS
· 18 NOTES · UPDATED 2026.08.29
OPENTOFU
NOTES
18
01
02 MIN · 2026.08.29
The Big Picture: What Problem Are We Solving?
A beginner's guide to OpenTofu, written for a software developer who is new to AWS and new to DevOps. Every concept is explained from scratch and then tied to a real file in this repository, so by the end you should be…
02
01 MIN · 2026.08.29
DevOps Vocabulary You Need (Just Enough)
You are a developer, so here is the minimum DevOps vocabulary, mapped to ideas you already know.
03
04 MIN · 2026.08.29
AWS Terminology Explained for Beginners: Accounts, IAM, VPC, ECS, RDS
AWS (Amazon Web Services) is a cloud provider: it rents you computers, databases, networks, and hundreds of other services over the internet. Here are the AWS concepts this repository actually uses. Skim now; refer back…
04
01 MIN · 2026.08.29
What OpenTofu Is (and How It Relates to Terraform)
OpenTofu is the tool this repo uses to turn .tf files into real AWS resources. A few facts that matter:
05
04 MIN · 2026.08.29
The HCL Language: The Building Blocks
Every .tf file is written in HCL. HCL is made of blocks. A block looks like:
06
03 MIN · 2026.08.29
State: OpenTofu's Memory
This is the concept most newcomers stumble on, so read it slowly.
07
02 MIN · 2026.08.29
The Core Workflow: init, plan, apply, destroy
Every interaction with OpenTofu uses the same handful of commands. Here they are, in the order you use them.
08
02 MIN · 2026.08.29
How This Repository Is Organized
Here is the whole repository at a glance, grouped by the five layers. The arrows show the order you stand them up.
09
02 MIN · 2026.08.29
Layer 1 - bootstrap: Creating the State Backend
Goal: create the secure S3 bucket (and KMS key) that will hold the remote state for one AWS account. This is the first thing you run in any account, and it is the only layer that uses local state.
10
02 MIN · 2026.08.29
Layer 2 - platform: The Landing Zone
A landing zone is DevOps jargon for "the baseline, org-wide AWS setup you stand up before any application infrastructure" - the accounts, the security guardrails, the audit logging, the login system, and the budgets. It…
11
04 MIN · 2026.08.29
Layer 3 - modules: Reusable Building Blocks
This is where the real infrastructure is defined. A module is a self-contained package: inputs (variables.tf), resources (main.tf), and outputs (outputs.tf). Roots call modules; modules can call other modules.
12
02 MIN · 2026.08.29
Layer 4 - envs: One Root per Environment
Each of envs/dev, envs/staging, envs/prod is a root that assembles the modules into one complete environment, with its own state in its own account. The three are near-identical in structure but differ in inputs (dev…
13
03 MIN · 2026.08.29
Layer 5 - cicd: The Delivery Pipelines
So far you'd run tofu apply from your laptop. This project deliberately does not allow that for normal changes. Instead, every environment is applied by an automated pipeline, triggered by a git push. The README is…
14
02 MIN · 2026.08.29
HCL Features Used in This Repo, Explained
A consolidated reference of every HCL language feature this repo uses, with a pointer to where you saw it. Use this as a cheat sheet.
15
01 MIN · 2026.08.29
The Makefile: Your Day-to-Day Commands
You rarely type raw tofu commands in this repo - the Makefile wraps them so they're consistent. A Makefile is just a list of named command shortcuts (targets); you run make <target>. The variables DIR (which root) and…
16
01 MIN · 2026.08.29
Supporting Tooling: tenv, tflint, pre-commit, .gitignore
These aren't OpenTofu itself, but they're part of working in this repo.
17
01 MIN · 2026.08.29
Putting It Together: The Full Provisioning Order
Here is the whole repository as one sequence, which also doubles as a review of every layer. (Full detail is in SETUP.md.)
18
03 MIN · 2026.08.29
Glossary
A quick lookup of every term introduced, for when you forget one mid-file.