Or use code instead of HCL.<p>I joined Pulumi because I believe that using the abstraction and tooling that a proper language allows is the way to go, but anything that's not config: CDK, Bicep, TF CDK, etc – is to me a step in the right direction.<p>It's not that HCL is bad, and I get that it's dominant. It's just the same complaint I have with yaml and yaml templating: You will want something more than a config file at some point. Start today.
OpenTofu is now more secure (state encryption), maintainable (early variable evaluation), and powerful (provider iteration) than Terraform. This is the advantage of being truly open source, foundation-managed, and community-driven.<p>Now is a good time to make the switch!
Just to include this in the discussion, here's some major features that have been added over the last year (but there's a huge amount of small ones too):<p>- End-to-End State Encryption - lets you encrypt your state-file end-to-end, either with a key management system like AWS KMS, or static keys.<p>- Early Evaluation - the ability to parameterize initialiation-time values, like module versions and sources, backend configuration parameters, etc. and keep them DRY.<p>- Provider Iteration - lets you use for_each with providers, e.g. create one provider per region, something that currently requires a bunch of copy-paste, or tools like Terragrunt<p>- -exclude flag - the opposite of the -target flag, letting you skip planning/applying certain resources.<p>Probably the best way to see a summary is to check out the release blog posts for 1.7[0], 1.8[1], and 1.9[2], as well as TFA itself. If you'd like to learn more, I recommend taking a look at the related docs, too.<p>[0]: <a href="https://opentofu.org/blog/opentofu-1-7-0/" rel="nofollow">https://opentofu.org/blog/opentofu-1-7-0/</a><p>[1]: <a href="https://opentofu.org/blog/opentofu-1-8-0/" rel="nofollow">https://opentofu.org/blog/opentofu-1-8-0/</a><p>[2]: <a href="https://opentofu.org/blog/opentofu-1-9-0/" rel="nofollow">https://opentofu.org/blog/opentofu-1-9-0/</a><p>Disclaimer: involved in opentofu
I've been waiting for <a href="https://github.com/opentofu/registry/pull/824">https://github.com/opentofu/registry/pull/824</a> ("Revert commit that removed Russian providers") to be resolved, but it seems to have stalled.<p>Open source does not work as I envisioned, I guess.
Naming Spacelift, Env0, Scalr etc as suppprters without mentioning they had no other choice than to move away from Terraform feels like its missing some context.
I would assume they could've licensed it from HashiCorp but for a huge sum.