From f8dc80027feefce3170f9a56e85e34e4b4fa0edc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Arnaud=20Pr=C3=A9mel-Cabic?=
Date: Mon, 1 Jun 2026 10:37:33 +0200
Subject: [PATCH] feat: add speaker notes to all 40 slides
Co-Authored-By: Claude Opus 4.8 (1M context)
---
index.html | 270 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 270 insertions(+)
diff --git a/index.html b/index.html
index 0a1a032..0e215b3 100644
--- a/index.html
+++ b/index.html
@@ -129,6 +129,13 @@
Terraform
— What's the difference and when to use what? —
FinistDevs · 2026
+
@@ -136,18 +143,37 @@
Arnaud Prémel-Cabic
Tech Lead @ OVHCloud
arnaud.premel-cabic@ovhcloud.com
+
"It works on my server."
Why doesn't it work here when it works everywhere else?
+
You have a server. It works.
Great.
+
HCL: HashiCorp Configuration Language
Declarative, human-readable — pure JSON works too.
+
@@ -571,6 +663,13 @@
terraform apply — create or update resources
terraform destroy — tear everything down
+
@@ -630,6 +729,13 @@
May contain sensitive values: credentials, tokens, secrets
Handle with care.
+
@@ -700,6 +806,13 @@
Not just cloud — DNS, monitoring, CI/CD, anything with an API
If it has an API, there's a Terraform provider for it.
+
@@ -727,6 +840,13 @@ resource "ovh_domain_zone_record" "web" {
target = openstack_compute_instance_v2.web.access_ip_v4
}
+
@@ -753,6 +873,13 @@ ovh_domain_zone_record.web: Creation complete after 3s [id=456]
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
+
@@ -763,6 +890,13 @@ Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
The community responded: OpenTofu, by the OpenTF Foundation
Drop-in replacement. Fully compatible. Community-driven.
+
@@ -774,12 +908,25 @@ Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Atlantis — open-source, plan & apply from pull requests
env0, Scalr — SaaS with policy & cost management
+
Ansible
Your servers are provisioned. Now make them do something.
+
@@ -792,6 +939,12 @@ Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Acquired by Red Hat in 2015
Written in Python — Apache 2.0 license
+
@@ -802,6 +955,13 @@ Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Nothing to install on target servers — just Python + SSH
Idempotent modules — same playbook runs safely again and again
+
@@ -865,6 +1025,13 @@ Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
name: nginx
state: restarted
+
@@ -890,6 +1057,13 @@ changed: [finistdevs-web]
PLAY RECAP ********************************************************************
finistdevs-web : ok=4 changed=3 unreachable=0 failed=0 skipped=0
+
@@ -901,6 +1075,13 @@ finistdevs-web : ok=4 changed=3 unreachable=0 failed=0 skipped=0
Run a compliance audit across your whole fleet
The go-to tool for one-off tasks and recurring operations.
+
@@ -911,6 +1092,13 @@ finistdevs-web : ok=4 changed=3 unreachable=0 failed=0 skipped=0
Don't write a playbook to install Docker from scratch — someone already did
Just ansible-galaxy install geerlingguy.docker.
+
@@ -922,12 +1110,25 @@ finistdevs-web : ok=4 changed=3 unreachable=0 failed=0 skipped=0
Semaphore — lightweight open-source alternative
Core engine remains Apache 2.0 — truly open-source.
+
Puppet
Your servers are configured. Now keep them that way.
+
@@ -940,6 +1141,12 @@ finistdevs-web : ok=4 changed=3 unreachable=0 failed=0 skipped=0
Puppet Inc. acquired by Perforce in 2022
Written in Ruby and Clojure
+
@@ -950,6 +1157,13 @@ finistdevs-web : ok=4 changed=3 unreachable=0 failed=0 skipped=0
Compiles a catalog and enforces it locally
Drift is corrected automatically.
+
@@ -1007,6 +1221,13 @@ class webserver {
}
}
+
@@ -1027,6 +1248,13 @@ Notice: /Stage[main]/Webserver/Service[nginx]/ensure: started
Notice: Applied catalog in 12.34 seconds
+
@@ -1037,6 +1265,13 @@ Notice: Applied catalog in 12.34 seconds
Continuous compliance — not just at deploy time. Every. 30. Minutes.
No manual remediation
+
@@ -1079,6 +1314,13 @@ Notice: Applied catalog in 12.34 seconds
Fewer SaaS options than Terraform or Ansible
Puppet Enterprise and Foreman are self-hosted. No managed cloud offering.
+
@@ -1089,12 +1331,26 @@ Notice: Applied catalog in 12.34 seconds
OpenVox — an emerging open-source fork of the Puppet core
The community is strong, with or without Puppet Inc.
+
They're not competing. They're complementary.
Each solves a different layer of the same problem.
+
@@ -1131,6 +1387,13 @@ Notice: Applied catalog in 12.34 seconds
Ansible configures it and deploys the app
Puppet continuously enforces compliance
+
@@ -1142,6 +1405,13 @@ Notice: Applied catalog in 12.34 seconds
Slides: ministicraft.pages.git.cloud.arnaud-pc.fr/finistdev-configuration-as-code/
🤖 Made with Claude & GitHub Copilot
+