From 07e248dcb164d768c3e9d9f7ef15d2934b673c48 Mon Sep 17 00:00:00 2001 From: ministicraft Date: Mon, 13 Apr 2026 23:40:21 +0200 Subject: [PATCH] Sync Terraform slides 12-17 from master Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- index.html | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/index.html b/index.html index 3103bf2..4c7e1fb 100644 --- a/index.html +++ b/index.html @@ -127,6 +127,67 @@

Puppet  ·  Ansible  ·  Terraform — each fights a different battle.

+ +
+

🏗️ Terraform

+

Start here. Before you configure a server, you need to have one.

+
+ + +
+

HCL: HashiCorp Configuration Language.

+

Declarative, human-readable — and pure JSON works too.
+ terraform plan previews  ·  terraform apply creates  ·  terraform destroy removes.

+
+ + +
+

Terraform remembers what it built.

+

The .tfstate file maps code to real-world resources. Store it remotely.
+ Depending on what you manage, it can contain plaintext sensitive values — credentials, tokens, secrets.
+ Handle it with care. Don't feed it to your LLM.

+
+ + +
+

One tool. Every API.

+

1000+ providers: AWS, GCP, Azure, Cloudflare, GitHub, Kubernetes…
+ Not just cloud — manage GitHub teams, Datadog monitors, PagerDuty schedules, DNS records.
+ If it has an API, there's a Terraform provider for it.

+
+ + +
+

# main.tf

+

+terraform {
+  required_providers {
+    aws = { source = "hashicorp/aws", version = "~> 5.0" }
+  }
+}
+
+provider "aws" { region = "eu-west-3" }
+
+resource "aws_instance" "web" {
+  ami           = "ami-0c55b159cbfafe1f0"
+  instance_type = "t3.micro"
+  tags = { Name = "finistdevs-web" }
+}
+
+output "public_ip" {
+  value = aws_instance.web.public_ip
+}
+    
+
+ + +
+

In 2023, HashiCorp changed Terraform's license.

+

BSL instead of MPL — no longer truly open-source.
+ The community responded: OpenTofu, by the OpenTF Foundation, is the open-source fork.
+ Drop-in replacement. Fully compatible. Community-driven.

+
+