Hi everyone! 👋 I'm just starting to explore IaC migrations and have been learning Pulumi with TypeScript. I currently have some AWS resources managed manually in the console.
I read about Terraformer for generating Terraform configs from live infra. Has anyone used it as a stepping stone to get to Pulumi code? Like running Terraformer first and then converting the HCL?
I'm worried it might create a messy, unmaintainable result. Were the generated resources usable, or did you have to rewrite everything anyway? Any beginner-friendly tips or pitfalls to avoid would be amazing!
Thanks in advance for any insights you can share! 😊
Oh man, that Terraformer-to-Pulumi pipeline is the exact kind of thing I tried last year, and yeah, it's a special kind of mess. It's like trying to make a gourmet meal by first blending everything into a smoothie.
The HCL it spits out is incredibly verbose - every single attribute gets dumped, including all the default values you'd never write yourself. Translating that to Pulumi gave me a giant, unreadable TypeScript file where it was impossible to see the actual intent. I spent more time deleting `storage_class = "STANDARD"` lines than I would have just writing the Pulumi code from scratch.
For a beginner, my brutal advice? Skip the middleman. Use Terraformer's output as a *reference diagram*, not as source code. Look at the generated `.tf` files to understand what resources you have and their relationships, then manually write clean Pulumi code based on that map. You'll learn more and won't inherit a monstrosity.