Pulumi (and pyinfra) at home

As noted in the previous Pulumi post, I had bit too much to write about when describing my current home infrastructure. Due to that, here’s stand-alone post about just that - Pulumi (and pyinfra) at home. Current hobby architecture To give a concrete example of how I am using Pulumi in my current hobby infrastructure, this is a simplified version of my hobby IaC architecture. There is a lot of containers both within and without Kubernetes that I am omitting for clarity from the diagram: fw pyinfra/Pulumi provisioning configures local infrastructure, and oraakkeli Pulumi stack (and two pyinfra configurations) handle my VPSes in Oracle Cloud. ...

8.11.2024 · 5 min · 892 words · Markus Stenberg

DSL (in DSL), or Pulumi?

I have used Terraform professionally and in hobby things every now and then for couple of years now (most recently OpenTofu). I have tolerated it due to the ecosystem (as mentioned in an earlier blog post), but I have never particularly liked it. Why? The reasons are pretty much the same as why I am not a fan of Helm charts either. DSLs are not expressive enough, nor powerful enough Making something ‘human friendly’ (read: huge pile of YAML for devops people) is overrated. The cost of doing that is that automatically validating and formatting it becomes tricky, and the expressed things are mostly too inaccurately defined (‘sure, this is a string, but you are supposed to enter an URL here’). The tooling usually does not help much either, as while programming languages have widespread support in editors, DSLs most of the time do not. Custom configuration languages are not usually much better - being limited by design is not great, nor is it great for integrating with ‘other’ things which use real programming languages. ...

6.11.2024 · 5 min · 1044 words · Markus Stenberg

Testing in the wonderful world of infrastructure as code

I was planning to write about my home infrastructure (I have at least one post in mind already), but as it is fresh in my mind I decided to write about the state of IaC code, or more specifically, testing IaC code (or lack of it). Testing is the foundation of most workflows I have recently spent quite a bit of time setting up Github Actions-based workflows both for my personal and professional projects. Ultimately, that stuff works quite well: ...

14.6.2024 · 7 min · 1452 words · Markus Stenberg

Securing Terraform, or, OpenTofu for the win?

Disclaimer: Sorry, still not related to my home network infrastructure, although I have one or two posts I want to write about later.. I have been thinking recently about how to deal with some personal resources I have in the cloud - mainly in Oracle Cloud thanks to their generous free tier. So far I’ve dealt with them manually doing click-ops in their GUI, but I have been trying to up my personal infra game so I started to think about how to make this not manual. ...

17.5.2024 · 4 min · 851 words · Markus Stenberg