Define infrastructure resources using programming constructs and provision them using HashiCorp Terraform
You could try Terraform CDK which supports TypeScript, Python, Java, and C#.
Generate Google Cloud Platform support for Terraform, Ansible, InSpec
The Terraform provider for Google Cloud uses partial autogeneration, here is the repo that does the autogeneration for multiple automation tools:
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
Serialized json-hash-backed ActiveRecord attributes, super smooth
Some relational databases like Postgres and MySQL support JSON columns. This is useful if, for example, you want to create an ecommerce application with a products table with many variations - what is called Single Table Inheritance (STI). You can have some regular columns for the common attributes, and a JSON column for the specific ones.
If your app is built with Rails, you can use this library to help you on that (I'm not affiliated with it): https://github.com/jrochkind/attr_json
A tool to convert Terraform projects to Pulumi TypeScript programs
Pulumi - Universal Infrastructure as Code. Your Cloud, Your Language, Your Way 🚀
Excellent topic. [caveat, Pulumi co-founder here]
Indeed what you say is true of many other "multi-language" platforms. I was an early engineer on .NET at Microsoft, and although it was multi-language from the outset (COBAL.NET was a thing!), the reality is most folks write in C# these days. And yet, you still see a lot of excitement for PowerShell, Visual Basic, and F#, each of which has a rich community, but uses that same common core. A similar phenomenon has happened in the JVM ecosystem with Java dominating most usage until the late 2000s, at which point my impression is that Groovy, Scala, and now Kotlin won significant mindshare.
I have reasons to be optimistic the infrastructure language domain will play out similarly. There might be "a default language" but I suspect that is more likely to be Python than, say, HCL. One of the things I'm ridiculously excited about is bringing IaC to new audiences -- many folks learn Python at school, not so much for other infrastructure languages. Again, I'm biased. But, even if a default emerges, I guarantee there will be reasons for the others to exist. I for one am a big functional language fan and especially for simple serverless apps, I love seeing that written in F#. And we've had a ton of interest in PowerShell support since many folks working with infrastructure for the Microsoft stack know it.
I also won't discount the idea of us introducing a cloud infrastructure-specific language ;-). I worked a lot on parallel computing in the mid-2000s and that temptation was always there, but I'm glad we resisted it and instead just added tasks/promises and await to existing languages.
As to the Pulumi schema, you're right, that's a step we aim to remove soon. For TypeScript, we'll generate it off the d.ts files; for Go we'll use struct tags; and so on. Now that the basic runtime is in place, we are now going to focus there. This issue tracks it: https://github.com/pulumi/pulumi/issues/6804. Our goal is to make this as ridiculously easy as just writing a type/class in your language of choice.
Generate terraform infrastructure dynamically
2 projects | reddit.com/r/sre | 21 Jul 2022
Infrastructure as Code Should Feel
3 projects | news.ycombinator.com | 4 Apr 2022
py-terraform: Python binding for Terraform
4 projects | reddit.com/r/Python | 2 Apr 2022
Do not use AWS CloudFormation
6 projects | news.ycombinator.com | 6 Oct 2021
2 projects | reddit.com/r/Terraform | 5 Aug 2022