Daniel Schmidt's Blog
Hi, Iām Daniel Schmidt š. Iām working at HashiCorp (an IBM Company) on the Terraform Core team. I am tasked with designing and implementing the language and runtime of Terraform, the open-source infrastructure as code tool.
I primarily work in Go at the moment, before my focus with Javascript / Typescript in the React and React Native ecosystem. I also enjoy working with Rust in my free time, I built a camera system for my dancesport club in Rust. A lot of my work is Open Source on GitHub, feel free to check it out.
Outside of work I am a competitive ballroom dancer in both the Standard and Latin section. I also enjoy running, I recently completed my first marathon in 2024.
Featured
-
Deprecating Terraform Variables and Outputs in Terraform 1.15
Terraform 1.15 introduces deprecation warnings for variables and outputs. Learn how this works under the hood and what it means for your configurations.
-
Inside Terraform: A series about the internals of Terraform
A deep-dive blog series by a Terraform Core engineer exploring how Terraform works internally ā from address parsing to graph expansion and evaluation.
-
Introduction to Terraform Actions: First-Class Day 2 Operations
Terraform Actions let you express non-CRUD operations directly in configuration ā replacing local-exec provisioners and pseudo data source workarounds.
Recent Posts
-
Inside Terraform: How for_each and count Expand Resources
A deep dive into Terraform's expansion mechanism ā how for_each and count transform configuration blocks into multiple resource instances in the graph.
-
Inside Terraform: How tfdiags Powers Error Handling
A deep dive into tfdiags, Terraform's diagnostic and error handling system ā how errors, warnings, and source ranges flow through the codebase.
-
Inside Terraform: go-cty & Evaluation - Values in Terraform
How Terraform evaluates expressions using go-cty for value representation and HCL for parsing ā a deep dive into the evaluation engine internals.
-
Inside Terraform: References - How Terraform Connects the Dots
How Terraform resolves references between resources, variables, and modules ā tracing the dependency graph from HCL expressions to execution order.