It's been about two years where I've used CDK across several projects. Most were greenfield, and not a transition from a prior implementation. I had a brief test of Pulumi, but not an extended run. I used CDK largely with Typescript. When talking about CDK there are several main variations
cdk8sCDK for Kubernetes manifests.CDKTFCDK for Terraform.AWS CDkCDK for cloud formation.