Skip to content
ej.saha.la
  • home
  • about
  • blog
  • projects

projects

  • YACHT Another Custom Hugo Theme
  • reanimating my personal infrastructure
  • Computer Science Autodidact

reanimating my personal infrastructure

Reanimating my personal infrastructure…as code

My personal infrastructure has always been managed and defined, at least in part, through code. This began with Bourne and Korn Shell, ‘sed’, ‘AWK’, and ‘Perl’, then ‘cfengine’ and ‘puppet’, and eventually ‘ansible’. The larger part of my personal infrastructure management has been through what is generally termed, ‘click ops’. This project is about eliminating (or at least significantly reducing) the necessity of having to ‘click’ in a graphical/web UI.

I decided to use Pulumi for provisioning, primarily so I wouldn’t have to use HCL. As a configuration language, HCL lacks features that facilitate higher levels of abstraction and reduce repetition, and I prefer Nickel Lang or CUE for defining configuration. It is also subject to Hashicorp’s decisions. That said, I am using Go as the initial language for my Pulumi-driven infrastructure. This is to reduce the number of languages and tool-chains in the build pipeline, as well as minimize the number of new things to learn.

The first step is importing my current DNS, compute, and storage infrastructure into Pulumi:

  • Digital Ocean
  • Linode
  • Proxmox VE

tech used

  • Go
  • Python
  • Bash
  • Pulumi
  • Ansible
  • Salt
  • Github
  • LinkedIn
  • e-mail
all views expressed are my own; any and all art/artwork is copyright its respective owner (myself if not otherwise noted).
ej.saha.la copyright: © 2003-present by e.j. sahala (they/them), and licensed under CC BY-NC-SA 4.0 Creative Commons Attribution Non-Commercial Share Alike

powered by
Hugo

themed with
YACHT