How Terraform Implicit Dependencies Work: A Toy Example

Have you ever wondered how Terraform Implicit Dependencies actually work in practice?

In today’s blog, I’m going to craft a toy example that demonstrates how I understand that they work using local_file resources and thus not requiring any cloud connection or even internet connectivity.

What do you mean by Implicit Dependencies?

You might be wondering, “Implicit Dependencies… are those like the stuff artists do to avoid getting a Parental Advisory: Explicit Content sticker on their albums?” Which, yeah, I guess it could be but I’m talking about Terraform here. In Terraform, every time that you run a terraform plan or terraform apply, the tool is internally building a directed acyclic graph that models the dependencies between resources in your configuration that you specify using HCL. The edges in this graph are the dependency relationships between your resources and they are typically inferred by Terraform without you explicitly specifying them. It is possible to specify these dependencies explicitly using the depends_on meta-argument but, as I will discuss in this post, that won’t necessarily do what you might expect.

Read more

Migrating to Zola

Another year; another static site generator. I’m really enjoying working with Rust so I’ve migrated this blog to Zola. After explaining why I’m switching, I’ll provide a brief walkthough of the steps I had to take.

Why Zola?

I was previously using Hexo for my blog, which is yet another static site generator in JS. It’s quite popular, but I don’t work very often with the NodeJS ecosystem so I found that every time I wanted to write a new blog post, I had to get aquainted with the latest updates to all the various dependencies – many of which had security issues. That was all quite a bit of effort for software that is only ever used in the build process to generate static HTML, CSS and JavaScript.

Read more

Setting up a k3s cluster with Raspberry Pi: A Tutorial

Disclosure: This post was generated using Anthropic Claude+ via Poe using my notes as a prompt. Read Using LLMs to actually finish some blog posts for more details.

Here we go again! As an experienced writer and coder, I was filled with excitement at the prospect of setting up my own little Kubernetes cluster to explore. Though I’ve been building with code and prose for decades, tinkering with new tools never gets old. While setting up this cluster, however, I couldn’t help but muse on the implications of developing and promoting tools that could someday change the means of production as we know it, ushering in a new age of luxury gay space communism where creativity reigns supreme. A guy can dream!

Read more