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
-
Inside Terraform: A series about the internals of Terraform
A series about the internals of Terraform and how different parts of Terraform work under the hood.
-
Terraform Actions Usage Patterns
A growing list of common patterns when using Terraform Actions in your configuration.
-
Writing a Terraform Action
Actions is a new language feature of Terraform that allows you to express non-CRUD operations in your configuration. Let's see how one can write an action to cover typical use-cases.
-
Introduction to Terraform Actions
Actions is a new language feature of Terraform that allows you to express non-CRUD operations in your configuration. Think of it as first-class support for workarounds where you had to use a local-exec provisioner or a pseudo data source before.
-
Discriminated Union Pattern in Go
I often use the Tagged Unions pattern in TypeScript. I encountered a problem I would solve with this pattern in Go. Let me show you how this can be solved in Go.
Recent Posts
-
Inside Terraform: go-cty & Evaluation - Values in Terraform
Did you ever wonder how Terraform evaluates your configuration and expressions? Let's explore how Terraform uses go-cty for value representation and hcl for evaluation.
-
Inside Terraform: References - How Terraform Connects the Dots
Let's explore how Terraform deals with references between different entities in your configuration.
-
Inside Terraform: addrs - Everything Needs an Address
Let's explore Terraforms addrs package together.
-
Terraform Providers with Recursive Patterns
Writing a Terraform Resource / Data Source / Action for an API that allows recursion can be a struggle. This post shows how to implement this with the Terraform Plugin Framework.