I've been managing our cloud infrastructure with Terraform for a couple of years, but recently convinced my team to try migrating a few services to CDKTF using TypeScript. I come from a marketing automation background, so having proper types and the ability to use programming logic felt like a game-changer for maintainability.
The developer experience is genuinely better for us. Defining resources feels cleaner, and we can finally break things into reusable constructs without the copy-paste hell we had with some of our Terraform modules.
However, I've hit a pretty big snag. The ecosystem of community modules for CDKTF seems to lag far behind regular Terraform's provider support. I was trying to set up a new Dataflow job configuration last week and found the CDKTF construct was missing several key properties that are available in the raw Terraform provider. I ended up writing a lot of escape hatches (`cdktf.TerraformResource`) which kind of defeated the purpose.
Has anyone else gone through this migration? How did you handle the gap in community modules or provider coverage? Did you find it was just a temporary pain while the ecosystem caught up, or did you have to build a lot of your own abstractions permanently? I'm trying to decide if we should push forward or reconsider our approach for the rest of the migration.