{"slug": "terraform", "name": "Terraform", "category": "infra", "category_name": "Infrastructure and DevOps", "description": "Infrastructure-as-code tool by HashiCorp for declaratively provisioning cloud and on-prem resources.", "recommenders": 7, "commenters": 27, "warners": 4, "score": 6.741, "rising": -2.29, "first": "2025-11-05", "latest": "2026-10-23", "why": "Liked for provisioning cloud and Kubernetes infrastructure alongside Ansible and CI pipelines like GitHub Actions or GitLab.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 7, "neutral": 15, "compare": 1, "warn": 4}, "spark": [1, 0, 1, 0, 0, 2, 0, 2, 0, 1, 0, 0], "listed": true, "loved": ["Pairs with Ansible", "CI/CD integration"], "caveat": "Provider quality", "short_quote": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://www.terraform.io/", "pricing": "freemium", "aliases": ["Terraform"], "verdict": [{"text": "Liked for provisioning cloud and Kubernetes infrastructure", "cites": [{"id": 747322816, "item_id": 46707676, "url": "https://news.ycombinator.com/item?id=46707676", "by": "madduci", "date": "2026-01-21", "stance": "recommend", "quote": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself.", "excerpt": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself. Templating / injection of values has been much better, skipping the Helm Templating madness and relying on a set of tools that allow perform minting, security scans, generation of docs, unit tests and establish clear dependencies within Terraform, thanks to the graph model. Helm Charts are a nice idea, but mistakes can", "context": "", "use_case": "Kubernetes deployments", "switched_from": "Helm", "story": "Building Robust Helm Charts"}, {"id": 761552529, "item_id": 47597033, "url": "https://news.ycombinator.com/item?id=47597033", "by": "matifali", "date": "2026-03-31", "stance": "neutral", "quote": "heavily rely on Terraform to provision resources.", "excerpt": "Any plans or thoughts for? Terraform Provider? I use Proxmox as my infrastructure provider and heavily rely on Terraform to provision resources.", "context": "", "use_case": "provisioning resources", "switched_from": "", "story": "From Proxmox to FreeBSD and Sylve in Our Office Lab"}, {"id": 801514960, "item_id": 50094685, "url": "https://news.ycombinator.com/item?id=50094685", "by": "hangrybear666", "date": "2026-10-14", "stance": "neutral", "quote": "Besides Terraform, in my team we use Packer to build reusable \"golden\" machine images but also Ansible to configure live machines.", "excerpt": "Oh that's neat. Yeah I got started on heroku too. Fly.io also comes to mind. We run our own gitlab instance in a central AWS account that has some infra buckets containing modularized Terraform packaged into tarballs that are then fanned out to a couple hundred aws accounts across the teams and environments (prod, qual, dev). Its all deployed via gitlab ci cd pipelines (which are just ec2 instances spawned at pipelin", "context": "runs infra across a couple hundred AWS accounts", "use_case": "AWS infrastructure as code", "switched_from": "", "story": "Neckbeard \u2013 A DevOps/platform/SRE plugin for your agent"}]}, {"text": " alongside Ansible and CI pipelines like GitHub Actions or GitLab.", "cites": [{"id": 775947489, "item_id": 48496718, "url": "https://news.ycombinator.com/item?id=48496718", "by": "klodolph", "date": "2026-06-11", "stance": "recommend", "quote": "which I manage using Terraform and Ansible (I am happy with these)", "excerpt": "I\u2019m not sure what I would get out of nix-Darwin. It looks like it does not solve any of the problems I am trying to solve? I don\u2019t need or want configuration management on my personal systems, except for the web servers, which I manage using Terraform and Ansible (I am happy with these). We use Nix at work for all sorts of stuff. Binaries run in production from Nix paths. Software we build has dependencies in Nix. Pe", "context": "", "use_case": "managing web servers", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 803418625, "item_id": 50213664, "url": "https://news.ycombinator.com/item?id=50213664", "by": "cloudyporpoise", "date": "2026-10-23", "stance": "neutral", "quote": "running simple linux hosts and building with terraform \\ ansible", "excerpt": "I see less and less of a need for Docker when running simple linux hosts and building with terraform \\ ansible. For any codebase with dep management it is great and I still prefer building code through Docker but that's about all I use it for.", "context": "", "use_case": "provisioning hosts", "switched_from": "", "story": "Docker is weird"}, {"id": 737317136, "item_id": 46082321, "url": "https://news.ycombinator.com/item?id=46082321", "by": "autotune", "date": "2025-11-28", "stance": "recommend", "quote": "Terraform with GitHub Actions works out perfectly.", "excerpt": "No love for DigitalOcean yet? Managed Kubernetes at around $60/month. Terraform with GitHub Actions works out perfectly.", "context": "", "use_case": "infrastructure provisioning", "switched_from": "", "story": "Ask HN: Which cloud provider do you like best and why?"}, {"id": 734634529, "item_id": 45914658, "url": "https://news.ycombinator.com/item?id=45914658", "by": "proxysna", "date": "2025-11-13", "stance": "neutral", "quote": "At work i use terraform to configure nomad/consul combo", "excerpt": "At work i use terraform to configure nomad/consul combo, so basically just a tf with Gitlab. At home i am using this approach. Dumb, but works well. https://royportas.com/posts/simple-gitops-with-nomad", "context": "", "use_case": "configuring Nomad/Consul", "switched_from": "", "story": "Kubernetes Is Your Private Cloud"}]}, {"text": " The most common complaint is unreliable or limited providers,", "cites": [{"id": 747966016, "item_id": 46747876, "url": "https://news.ycombinator.com/item?id=46747876", "by": "sshine", "date": "2026-01-24", "stance": "neutral", "quote": "I love how terraform can describe what I\u2019ve got.", "excerpt": "I love how terraform can describe what I\u2019ve got. Sort of. Assuming I or my colleagues or my noob customers don\u2019t modify resources on the same account. I don\u2019t love how unreliable providers are, even for creating resources. Clouds like DigitalOcean will 429 throttle me for making too many plans in a row with only 100+ resources. Sometimes the plan goes through, but the apply fails. Sometimes halfway through. I\u2019d rathe", "context": "has customers and colleagues", "use_case": "infrastructure as code", "switched_from": "", "story": "Why Does Destroying Resources via TF Suck?"}, {"id": 739566016, "item_id": 46222876, "url": "https://news.ycombinator.com/item?id=46222876", "by": "dev_l1x_be", "date": "2025-12-10", "stance": "warn", "quote": "It would be great to have an alternative to Terraform", "excerpt": "It would be great to have an alternative to Terraform that uses a bit more advanced provider (at last for AWS). Does OpenTofu use that same provider?", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "The future of Terraform CDK"}, {"id": 776906880, "item_id": 48556680, "url": "https://news.ycombinator.com/item?id=48556680", "by": "JohnMakin", "date": "2026-06-16", "stance": "neutral", "quote": "I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm.", "excerpt": "Yea, I used to believe this too, and still sort of agree - I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm. The charts break terraform quite a bit sometimes, so you have to keep it simple, and god help you if you want to use CRD's, hashicorp providers have the notion no one actually needs those. I had dismal hopes of i", "context": "", "use_case": "managing k8s infra", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}]}, {"text": " with state-format breakage on upgrades and hard debugging also noted.", "cites": [{"id": 776834368, "item_id": 48552148, "url": "https://news.ycombinator.com/item?id=48552148", "by": "InvertedRhodium", "date": "2026-06-16", "stance": "warn", "quote": "One person upgrading terraform can break the state format for backwards compatibility.", "excerpt": "One person upgrading terraform can break the state format for backwards compatibility. We use direnv with asdf to ensure everyone is in the same version now.", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}, {"id": 784568208, "item_id": 49035513, "url": "https://news.ycombinator.com/item?id=49035513", "by": "torginus", "date": "2026-07-24", "stance": "warn", "quote": "now I have to wait for terraform to churn through the monstrosity I made with AI. Debugging is hard.", "excerpt": "I have noticed the exact behavior change on myself that you describe. But, thanks to the magic of keeping track of time and tasks, I have discovered: - I am not all that faster when project timelines are concerned - I've often built things with AI with the latest and greatest technologies that I've always wanted to learn but never did, like write a microservice backend with the trendiest frameworks with infrastructur", "context": "", "use_case": "infrastructure as code deployment", "switched_from": "", "story": "I Tried Building a Real App with AI. It Took a Year"}]}], "praise": [{"label": "Pairs with Ansible", "summary": "Commenters routinely combine it with Ansible, Packer and scripts to build and configure hosts.", "quotes": [{"id": 775947489, "item_id": 48496718, "url": "https://news.ycombinator.com/item?id=48496718", "by": "klodolph", "date": "2026-06-11", "stance": "recommend", "quote": "which I manage using Terraform and Ansible (I am happy with these)", "excerpt": "I\u2019m not sure what I would get out of nix-Darwin. It looks like it does not solve any of the problems I am trying to solve? I don\u2019t need or want configuration management on my personal systems, except for the web servers, which I manage using Terraform and Ansible (I am happy with these). We use Nix at work for all sorts of stuff. Binaries run in production from Nix paths. Software we build has dependencies in Nix. Pe", "context": "", "use_case": "managing web servers", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 803418625, "item_id": 50213664, "url": "https://news.ycombinator.com/item?id=50213664", "by": "cloudyporpoise", "date": "2026-10-23", "stance": "neutral", "quote": "running simple linux hosts and building with terraform \\ ansible", "excerpt": "I see less and less of a need for Docker when running simple linux hosts and building with terraform \\ ansible. For any codebase with dep management it is great and I still prefer building code through Docker but that's about all I use it for.", "context": "", "use_case": "provisioning hosts", "switched_from": "", "story": "Docker is weird"}, {"id": 801514960, "item_id": 50094685, "url": "https://news.ycombinator.com/item?id=50094685", "by": "hangrybear666", "date": "2026-10-14", "stance": "neutral", "quote": "Besides Terraform, in my team we use Packer to build reusable \"golden\" machine images but also Ansible to configure live machines.", "excerpt": "Oh that's neat. Yeah I got started on heroku too. Fly.io also comes to mind. We run our own gitlab instance in a central AWS account that has some infra buckets containing modularized Terraform packaged into tarballs that are then fanned out to a couple hundred aws accounts across the teams and environments (prod, qual, dev). Its all deployed via gitlab ci cd pipelines (which are just ec2 instances spawned at pipelin", "context": "runs infra across a couple hundred AWS accounts", "use_case": "AWS infrastructure as code", "switched_from": "", "story": "Neckbeard \u2013 A DevOps/platform/SRE plugin for your agent"}]}, {"label": "CI/CD integration", "summary": "Runs smoothly from GitHub Actions or GitLab pipelines.", "quotes": [{"id": 737317136, "item_id": 46082321, "url": "https://news.ycombinator.com/item?id=46082321", "by": "autotune", "date": "2025-11-28", "stance": "recommend", "quote": "Terraform with GitHub Actions works out perfectly.", "excerpt": "No love for DigitalOcean yet? Managed Kubernetes at around $60/month. Terraform with GitHub Actions works out perfectly.", "context": "", "use_case": "infrastructure provisioning", "switched_from": "", "story": "Ask HN: Which cloud provider do you like best and why?"}, {"id": 734634529, "item_id": 45914658, "url": "https://news.ycombinator.com/item?id=45914658", "by": "proxysna", "date": "2025-11-13", "stance": "neutral", "quote": "At work i use terraform to configure nomad/consul combo", "excerpt": "At work i use terraform to configure nomad/consul combo, so basically just a tf with Gitlab. At home i am using this approach. Dumb, but works well. https://royportas.com/posts/simple-gitops-with-nomad", "context": "", "use_case": "configuring Nomad/Consul", "switched_from": "", "story": "Kubernetes Is Your Private Cloud"}, {"id": 801514960, "item_id": 50094685, "url": "https://news.ycombinator.com/item?id=50094685", "by": "hangrybear666", "date": "2026-10-14", "stance": "neutral", "quote": "Besides Terraform, in my team we use Packer to build reusable \"golden\" machine images but also Ansible to configure live machines.", "excerpt": "Oh that's neat. Yeah I got started on heroku too. Fly.io also comes to mind. We run our own gitlab instance in a central AWS account that has some infra buckets containing modularized Terraform packaged into tarballs that are then fanned out to a couple hundred aws accounts across the teams and environments (prod, qual, dev). Its all deployed via gitlab ci cd pipelines (which are just ec2 instances spawned at pipelin", "context": "runs infra across a couple hundred AWS accounts", "use_case": "AWS infrastructure as code", "switched_from": "", "story": "Neckbeard \u2013 A DevOps/platform/SRE plugin for your agent"}]}, {"label": "AI-assisted infra", "summary": "Commenters report building and managing Terraform setups effectively with LLM agents.", "quotes": [{"id": 786150082, "item_id": 49134380, "url": "https://news.ycombinator.com/item?id=49134380", "by": "mattm", "date": "2026-08-01", "stance": "recommend", "quote": "Infra setup can now be done easily with AI and terraform.", "excerpt": "Yeah this is what I did. All my personal services are running on one EC2 instance and I use subdomains to separate them. If I need more memory it's easy to scale up. I just use sqlite on the instance for my database. You don't need a postgres service if it's just for you. Hosted services are only great for setup and scaling. You're not going to need scaling. Infra setup can now be done easily with AI and terraform.", "context": "", "use_case": "infrastructure setup", "switched_from": "", "story": "Software for One"}, {"id": 774629666, "item_id": 48414354, "url": "https://news.ycombinator.com/item?id=48414354", "by": "solumos", "date": "2026-06-05", "stance": "recommend", "quote": "Robust multi-environment infra deploy scripts that leverage terraform + AWS SSO", "excerpt": "Something different that other folks might not have thought of: Robust multi-environment infra deploy scripts that leverage terraform + AWS SSO I've found that converting stuff that's previously been very ops-cli heavy into very detailed skills has worked really really well. I use Claude Opus 4.8 + Conductor as my daily driver", "context": "", "use_case": "infra deploy scripts", "switched_from": "", "story": "Ask HN: What is your (AI) dev tech stack / workflow? (June 2026)"}, {"id": 778907121, "item_id": 48681695, "url": "https://news.ycombinator.com/item?id=48681695", "by": "pxc", "date": "2026-06-25", "stance": "neutral", "quote": "I do lots of Terraform work and some Nix work with LLM agents at my job.", "excerpt": "> Firstly, NixOS is hype NixOS is more than 20 years old, and virtually all of the things that make it compelling were already present a decade ago. If it's not for you, you'll know after you give it a try. But for those for whom it clicks, it's desirable because it just provides a more enjoyable computing experience. It's not more complicated than that. > Secondly, \"AI ... can .... safely modify my infrastructure\", ", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "Migrating from Proxmox to NixOS and Incus"}]}, {"label": "Kubernetes management", "summary": "The Kubernetes provider and Helm wrappers are described as cleaner than raw Helm templating.", "quotes": [{"id": 747322816, "item_id": 46707676, "url": "https://news.ycombinator.com/item?id=46707676", "by": "madduci", "date": "2026-01-21", "stance": "recommend", "quote": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself.", "excerpt": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself. Templating / injection of values has been much better, skipping the Helm Templating madness and relying on a set of tools that allow perform minting, security scans, generation of docs, unit tests and establish clear dependencies within Terraform, thanks to the graph model. Helm Charts are a nice idea, but mistakes can", "context": "", "use_case": "Kubernetes deployments", "switched_from": "Helm", "story": "Building Robust Helm Charts"}, {"id": 776906880, "item_id": 48556680, "url": "https://news.ycombinator.com/item?id=48556680", "by": "JohnMakin", "date": "2026-06-16", "stance": "neutral", "quote": "I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm.", "excerpt": "Yea, I used to believe this too, and still sort of agree - I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm. The charts break terraform quite a bit sometimes, so you have to keep it simple, and god help you if you want to use CRD's, hashicorp providers have the notion no one actually needs those. I had dismal hopes of i", "context": "", "use_case": "managing k8s infra", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}]}, {"label": "Proven at scale", "summary": "Used across thousands of repos and hundreds of AWS accounts without much difficulty.", "quotes": [{"id": 733537472, "item_id": 45846092, "url": "https://news.ycombinator.com/item?id=45846092", "by": "cyberpunk", "date": "2025-11-07", "stance": "neutral", "quote": "Running terraform isn\u2019t difficult - thousands of orgs handle it no problem", "excerpt": "> Most systems handle this defensively with locks and runtime validation. So i work at an org with 1000s of terraform repos, we use the enterprise version which locks workspaces during runs etc. everywhere else i\u2019ve worked, we either just use some lock mechanism or only do applies from a specific branch and CI enforces they run one at a time. My question is: who is this aimed at and what problem is it actually solvin", "context": "works at an org with 1000s of terraform repos", "use_case": "infrastructure as code", "switched_from": "", "story": "We chose OCaml to write Stategraph"}, {"id": 801514960, "item_id": 50094685, "url": "https://news.ycombinator.com/item?id=50094685", "by": "hangrybear666", "date": "2026-10-14", "stance": "neutral", "quote": "Besides Terraform, in my team we use Packer to build reusable \"golden\" machine images but also Ansible to configure live machines.", "excerpt": "Oh that's neat. Yeah I got started on heroku too. Fly.io also comes to mind. We run our own gitlab instance in a central AWS account that has some infra buckets containing modularized Terraform packaged into tarballs that are then fanned out to a couple hundred aws accounts across the teams and environments (prod, qual, dev). Its all deployed via gitlab ci cd pipelines (which are just ec2 instances spawned at pipelin", "context": "runs infra across a couple hundred AWS accounts", "use_case": "AWS infrastructure as code", "switched_from": "", "story": "Neckbeard \u2013 A DevOps/platform/SRE plugin for your agent"}]}], "caveats": [{"label": "Provider quality", "summary": "Providers can be unreliable, get throttled mid-apply, or lack support for things like CRDs.", "quotes": [{"id": 747966016, "item_id": 46747876, "url": "https://news.ycombinator.com/item?id=46747876", "by": "sshine", "date": "2026-01-24", "stance": "neutral", "quote": "I love how terraform can describe what I\u2019ve got.", "excerpt": "I love how terraform can describe what I\u2019ve got. Sort of. Assuming I or my colleagues or my noob customers don\u2019t modify resources on the same account. I don\u2019t love how unreliable providers are, even for creating resources. Clouds like DigitalOcean will 429 throttle me for making too many plans in a row with only 100+ resources. Sometimes the plan goes through, but the apply fails. Sometimes halfway through. I\u2019d rathe", "context": "has customers and colleagues", "use_case": "infrastructure as code", "switched_from": "", "story": "Why Does Destroying Resources via TF Suck?"}, {"id": 776906880, "item_id": 48556680, "url": "https://news.ycombinator.com/item?id=48556680", "by": "JohnMakin", "date": "2026-06-16", "stance": "neutral", "quote": "I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm.", "excerpt": "Yea, I used to believe this too, and still sort of agree - I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm. The charts break terraform quite a bit sometimes, so you have to keep it simple, and god help you if you want to use CRD's, hashicorp providers have the notion no one actually needs those. I had dismal hopes of i", "context": "", "use_case": "managing k8s infra", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}, {"id": 739566016, "item_id": 46222876, "url": "https://news.ycombinator.com/item?id=46222876", "by": "dev_l1x_be", "date": "2025-12-10", "stance": "warn", "quote": "It would be great to have an alternative to Terraform", "excerpt": "It would be great to have an alternative to Terraform that uses a bit more advanced provider (at last for AWS). Does OpenTofu use that same provider?", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "The future of Terraform CDK"}]}, {"label": "Complexity", "summary": "Some find it painful, slow to churn through large configs, and hard to debug.", "quotes": [{"id": 791483553, "item_id": 49467722, "url": "https://news.ycombinator.com/item?id=49467722", "by": "YesThatTom2", "date": "2026-08-27", "stance": "warn", "quote": "It's like Terraform for DNS but it doesn't suck like Terraform.", "excerpt": "This is FANTASTIC! I laughed so hard I nearly fell out of my chair. Have you seen DNSControl? If you want a serious alternative to the Route53 API, there's an open source project called https://dnscontrol.org/ DNSControl. It's like Terraform for DNS but it doesn't suck like Terraform. Version v5.0 just shipped. It's a major rewrite that makes it much more extensible. https://github.com/DNSControl/dnscontrol/releases/", "context": "", "use_case": "", "switched_from": "", "story": "Launching Route 53 Files"}, {"id": 784568208, "item_id": 49035513, "url": "https://news.ycombinator.com/item?id=49035513", "by": "torginus", "date": "2026-07-24", "stance": "warn", "quote": "now I have to wait for terraform to churn through the monstrosity I made with AI. Debugging is hard.", "excerpt": "I have noticed the exact behavior change on myself that you describe. But, thanks to the magic of keeping track of time and tasks, I have discovered: - I am not all that faster when project timelines are concerned - I've often built things with AI with the latest and greatest technologies that I've always wanted to learn but never did, like write a microservice backend with the trendiest frameworks with infrastructur", "context": "", "use_case": "infrastructure as code deployment", "switched_from": "", "story": "I Tried Building a Real App with AI. It Took a Year"}]}, {"label": "State versioning", "summary": "One person upgrading can break state compatibility, so teams pin versions.", "quotes": [{"id": 776834368, "item_id": 48552148, "url": "https://news.ycombinator.com/item?id=48552148", "by": "InvertedRhodium", "date": "2026-06-16", "stance": "warn", "quote": "One person upgrading terraform can break the state format for backwards compatibility.", "excerpt": "One person upgrading terraform can break the state format for backwards compatibility. We use direnv with asdf to ensure everyone is in the same version now.", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}]}, {"label": "State drift", "summary": "Its description of resources breaks down when others modify resources outside Terraform.", "quotes": [{"id": 747966016, "item_id": 46747876, "url": "https://news.ycombinator.com/item?id=46747876", "by": "sshine", "date": "2026-01-24", "stance": "neutral", "quote": "I love how terraform can describe what I\u2019ve got.", "excerpt": "I love how terraform can describe what I\u2019ve got. Sort of. Assuming I or my colleagues or my noob customers don\u2019t modify resources on the same account. I don\u2019t love how unreliable providers are, even for creating resources. Clouds like DigitalOcean will 429 throttle me for making too many plans in a row with only 100+ resources. Sometimes the plan goes through, but the apply fails. Sometimes halfway through. I\u2019d rathe", "context": "has customers and colleagues", "use_case": "infrastructure as code", "switched_from": "", "story": "Why Does Destroying Resources via TF Suck?"}]}, {"label": "BUSL license", "summary": "HashiCorp's switch to the BUSL license prompted the OpenTofu fork.", "quotes": [{"id": 793367984, "item_id": 49585499, "url": "https://news.ycombinator.com/item?id=49585499", "by": "mihaelm", "date": "2026-09-06", "stance": "compare", "quote": "Terraform -> OpenTofu", "excerpt": "You might also be interested in the O'Saasy license (https://osaasy.dev/) which is in the similar vein, but simpler. HashiCorp switched to BUSL license for their products/tools when they already had substantial market share, and they still faced MPL-licensed forks (Terraform -> OpenTofu, Vault -> OpenBao). It will be interesting to see in a few years if those tools notably cut into their share. I'm not sure a new too", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "I changed my license"}]}], "who": [{"by": "hangrybear666", "context": "runs infra across a couple hundred AWS accounts", "url": "https://news.ycombinator.com/item?id=50094685", "date": "2026-10-14"}, {"by": "curioustinkerer", "context": "Python backend engineer, 7+ years", "url": "https://news.ycombinator.com/item?id=49989699", "date": "2026-10-07"}, {"by": "znpy", "context": "devops/cloud engineer from sysadmin background", "url": "https://news.ycombinator.com/item?id=47873753", "date": "2026-04-23"}, {"by": "LANcaster", "context": "Linux sysadmin/DevOps with 20+ years experience", "url": "https://news.ycombinator.com/item?id=47356043", "date": "2026-03-12"}, {"by": "sshine", "context": "has customers and colleagues", "url": "https://news.ycombinator.com/item?id=46747876", "date": "2026-01-24"}, {"by": "pranavarora99", "context": "founder hiring engineers for healthcare AI startup", "url": "https://news.ycombinator.com/item?id=46423705", "date": "2025-12-29"}, {"by": "cyberpunk", "context": "works at an org with 1000s of terraform repos", "url": "https://news.ycombinator.com/item?id=45846092", "date": "2025-11-07"}, {"by": "jwr", "context": "runs own servers for many years, runs a business", "url": "https://news.ycombinator.com/item?id=45822111", "date": "2025-11-05"}], "tags": ["for AWS multi-account setups", "for Kubernetes", "for homelabs", "for CI/CD pipelines", "for personal servers"], "use_cases": ["infrastructure as code", "replicating deployments", "provisioning hosts", "homelab provisioning", "aws infrastructure as code", "infrastructure setup"], "compared": [{"slug": "opentofu", "name": "OpenTofu", "co": 5, "switched_from": 0, "switched_to": 1}, {"slug": "ansible", "name": "Ansible", "co": 7, "switched_from": 0, "switched_to": 0}, {"slug": "helm", "name": "Helm", "co": 3, "switched_from": 1, "switched_to": 0}, {"slug": "claude", "name": "Claude", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "aws-cdk", "name": "AWS CDK", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "postgresql", "name": "PostgreSQL", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "sqlite", "name": "SQLite", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49053437", "title": "QuickFlo \u2013 I got sick of exporting workflows and everything that came with them", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48546428", "title": "What job interviews taught me about Kubernetes", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50202681", "title": "Docker is weird", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50088643", "title": "Running Windows desktop tests from Linux with disposable VMs", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50091794", "title": "Neckbeard \u2013 A DevOps/platform/SRE plugin for your agent", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49922568", "title": "Ask HN: Who wants to be hired? (October 2026)", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 4, "recommend": 1}, "2025-12": {"warn": 1, "neutral": 1}, "2026-01": {"recommend": 1, "neutral": 1}, "2026-02": {}, "2026-03": {"neutral": 2}, "2026-04": {"recommend": 2}, "2026-05": {}, "2026-06": {"recommend": 2, "warn": 1, "neutral": 2}, "2026-07": {"warn": 1, "neutral": 1}, "2026-08": {"recommend": 1, "warn": 1}, "2026-09": {"compare": 1}, "2026-10": {"neutral": 4}}, "quotes": [{"id": 803418625, "item_id": 50213664, "url": "https://news.ycombinator.com/item?id=50213664", "by": "cloudyporpoise", "date": "2026-10-23", "stance": "neutral", "quote": "running simple linux hosts and building with terraform \\ ansible", "excerpt": "I see less and less of a need for Docker when running simple linux hosts and building with terraform \\ ansible. For any codebase with dep management it is great and I still prefer building code through Docker but that's about all I use it for.", "context": "", "use_case": "provisioning hosts", "switched_from": "", "story": "Docker is weird"}, {"id": 801570179, "item_id": 50098136, "url": "https://news.ycombinator.com/item?id=50098136", "by": "whalesalad", "date": "2026-10-15", "stance": "neutral", "quote": "Making changes is done via a mix of one off tooling, ansible and terraform.", "excerpt": "Why not both? My entire home network (dns, zfs nas, subnets, kube, proxmox hosts, ipa domain, its overkill homeprod) is represented by a git repo. Docs, plans, scripts to bootstrap nodes to domain join, kube config, proxmox tooling, ipa as code, nas as code, cert management, my own ec2 as a service, etc. Making changes is done via a mix of one off tooling, ansible and terraform. I use Claude or codex to manage the en", "context": "", "use_case": "homelab provisioning", "switched_from": "", "story": "Running Windows desktop tests from Linux with disposable VMs"}, {"id": 801514960, "item_id": 50094685, "url": "https://news.ycombinator.com/item?id=50094685", "by": "hangrybear666", "date": "2026-10-14", "stance": "neutral", "quote": "Besides Terraform, in my team we use Packer to build reusable \"golden\" machine images but also Ansible to configure live machines.", "excerpt": "Oh that's neat. Yeah I got started on heroku too. Fly.io also comes to mind. We run our own gitlab instance in a central AWS account that has some infra buckets containing modularized Terraform packaged into tarballs that are then fanned out to a couple hundred aws accounts across the teams and environments (prod, qual, dev). Its all deployed via gitlab ci cd pipelines (which are just ec2 instances spawned at pipelin", "context": "runs infra across a couple hundred AWS accounts", "use_case": "AWS infrastructure as code", "switched_from": "", "story": "Neckbeard \u2013 A DevOps/platform/SRE plugin for your agent"}, {"id": 799835190, "item_id": 49989699, "url": "https://news.ycombinator.com/item?id=49989699", "by": "curioustinkerer", "date": "2026-10-07", "stance": "neutral", "quote": "GCP, Terraform", "excerpt": "Location: Lucknow, India Remote: Yes Willing to relocate: No Technologies: Python, Django, FastAPI, PostgreSQL, Celery, LLM APIs (Gemini, Claude), agentic workflows, embeddings/clustering, GCP, Terraform R\u00e9sum\u00e9/CV: https://drive.google.com/file/d/1pulNpC8VJnV01pCzg0QRhgqOTazTWhk7/view Email: 5ifocyqgf@relay.firefox.com GitHub: https://github.com/abhiabhi94 Python backend engineer, 7+ years. Lately building LLM system", "context": "Python backend engineer, 7+ years", "use_case": "", "switched_from": "", "story": "Ask HN: Who wants to be hired? (October 2026)"}, {"id": 793367984, "item_id": 49585499, "url": "https://news.ycombinator.com/item?id=49585499", "by": "mihaelm", "date": "2026-09-06", "stance": "compare", "quote": "Terraform -> OpenTofu", "excerpt": "You might also be interested in the O'Saasy license (https://osaasy.dev/) which is in the similar vein, but simpler. HashiCorp switched to BUSL license for their products/tools when they already had substantial market share, and they still faced MPL-licensed forks (Terraform -> OpenTofu, Vault -> OpenBao). It will be interesting to see in a few years if those tools notably cut into their share. I'm not sure a new too", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "I changed my license"}, {"id": 791483553, "item_id": 49467722, "url": "https://news.ycombinator.com/item?id=49467722", "by": "YesThatTom2", "date": "2026-08-27", "stance": "warn", "quote": "It's like Terraform for DNS but it doesn't suck like Terraform.", "excerpt": "This is FANTASTIC! I laughed so hard I nearly fell out of my chair. Have you seen DNSControl? If you want a serious alternative to the Route53 API, there's an open source project called https://dnscontrol.org/ DNSControl. It's like Terraform for DNS but it doesn't suck like Terraform. Version v5.0 just shipped. It's a major rewrite that makes it much more extensible. https://github.com/DNSControl/dnscontrol/releases/", "context": "", "use_case": "", "switched_from": "", "story": "Launching Route 53 Files"}, {"id": 786150082, "item_id": 49134380, "url": "https://news.ycombinator.com/item?id=49134380", "by": "mattm", "date": "2026-08-01", "stance": "recommend", "quote": "Infra setup can now be done easily with AI and terraform.", "excerpt": "Yeah this is what I did. All my personal services are running on one EC2 instance and I use subdomains to separate them. If I need more memory it's easy to scale up. I just use sqlite on the instance for my database. You don't need a postgres service if it's just for you. Hosted services are only great for setup and scaling. You're not going to need scaling. Infra setup can now be done easily with AI and terraform.", "context": "", "use_case": "infrastructure setup", "switched_from": "", "story": "Software for One"}, {"id": 784857539, "item_id": 49053596, "url": "https://news.ycombinator.com/item?id=49053596", "by": "zajasa", "date": "2026-07-25", "stance": "neutral", "quote": "building my own tooling around service deploys using terraform, bash scripts, etc", "excerpt": "hi folks. I build custom services and integrations for ccaas platforms. something that's always annoyed me: every workflow tool lets you export a workflow. cool, here's your JSON. now go rebuild the connections, the environment, the trigger, the data tables it works with, and whatever dashboard the customer wanted on top. by hand. every single time you install it somewhere new. In my integration work, I used to reach", "context": "", "use_case": "replicating deployments", "switched_from": "", "story": "QuickFlo \u2013 I got sick of exporting workflows and everything that came with them"}, {"id": 784855011, "item_id": 49053438, "url": "https://news.ycombinator.com/item?id=49053438", "by": "zajasa", "date": "2026-07-25", "stance": "neutral", "quote": "building my own tooling around service deploys using terraform, bash scripts, etc", "excerpt": "hi folks. I build custom services and integrations for ccaas platforms. something that's always annoyed me: every workflow tool lets you export a workflow. cool, here's your JSON. now go rebuild the connections, the environment, the trigger, the data tables it works with, and whatever dashboard the customer wanted on top. by hand. every single time you install it somewhere new. In my integration work, I used to reach", "context": "", "use_case": "replicating deployments", "switched_from": "", "story": "QuickFlo \u2013 I got sick of exporting workflows and everything that came with them"}, {"id": 784568208, "item_id": 49035513, "url": "https://news.ycombinator.com/item?id=49035513", "by": "torginus", "date": "2026-07-24", "stance": "warn", "quote": "now I have to wait for terraform to churn through the monstrosity I made with AI. Debugging is hard.", "excerpt": "I have noticed the exact behavior change on myself that you describe. But, thanks to the magic of keeping track of time and tasks, I have discovered: - I am not all that faster when project timelines are concerned - I've often built things with AI with the latest and greatest technologies that I've always wanted to learn but never did, like write a microservice backend with the trendiest frameworks with infrastructur", "context": "", "use_case": "infrastructure as code deployment", "switched_from": "", "story": "I Tried Building a Real App with AI. It Took a Year"}, {"id": 778907121, "item_id": 48681695, "url": "https://news.ycombinator.com/item?id=48681695", "by": "pxc", "date": "2026-06-25", "stance": "neutral", "quote": "I do lots of Terraform work and some Nix work with LLM agents at my job.", "excerpt": "> Firstly, NixOS is hype NixOS is more than 20 years old, and virtually all of the things that make it compelling were already present a decade ago. If it's not for you, you'll know after you give it a try. But for those for whom it clicks, it's desirable because it just provides a more enjoyable computing experience. It's not more complicated than that. > Secondly, \"AI ... can .... safely modify my infrastructure\", ", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "Migrating from Proxmox to NixOS and Incus"}, {"id": 776906880, "item_id": 48556680, "url": "https://news.ycombinator.com/item?id=48556680", "by": "JohnMakin", "date": "2026-06-16", "stance": "neutral", "quote": "I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm.", "excerpt": "Yea, I used to believe this too, and still sort of agree - I got so tired of the argument in maintaining k8s infra in terraform I gave up and wrote what is essentially a terraform wrapper module around helm. The charts break terraform quite a bit sometimes, so you have to keep it simple, and god help you if you want to use CRD's, hashicorp providers have the notion no one actually needs those. I had dismal hopes of i", "context": "", "use_case": "managing k8s infra", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}, {"id": 776834368, "item_id": 48552148, "url": "https://news.ycombinator.com/item?id=48552148", "by": "InvertedRhodium", "date": "2026-06-16", "stance": "warn", "quote": "One person upgrading terraform can break the state format for backwards compatibility.", "excerpt": "One person upgrading terraform can break the state format for backwards compatibility. We use direnv with asdf to ensure everyone is in the same version now.", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}, {"id": 775947489, "item_id": 48496718, "url": "https://news.ycombinator.com/item?id=48496718", "by": "klodolph", "date": "2026-06-11", "stance": "recommend", "quote": "which I manage using Terraform and Ansible (I am happy with these)", "excerpt": "I\u2019m not sure what I would get out of nix-Darwin. It looks like it does not solve any of the problems I am trying to solve? I don\u2019t need or want configuration management on my personal systems, except for the web servers, which I manage using Terraform and Ansible (I am happy with these). We use Nix at work for all sorts of stuff. Binaries run in production from Nix paths. Software we build has dependencies in Nix. Pe", "context": "", "use_case": "managing web servers", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 774629666, "item_id": 48414354, "url": "https://news.ycombinator.com/item?id=48414354", "by": "solumos", "date": "2026-06-05", "stance": "recommend", "quote": "Robust multi-environment infra deploy scripts that leverage terraform + AWS SSO", "excerpt": "Something different that other folks might not have thought of: Robust multi-environment infra deploy scripts that leverage terraform + AWS SSO I've found that converting stuff that's previously been very ops-cli heavy into very detailed skills has worked really really well. I use Claude Opus 4.8 + Conductor as my daily driver", "context": "", "use_case": "infra deploy scripts", "switched_from": "", "story": "Ask HN: What is your (AI) dev tech stack / workflow? (June 2026)"}, {"id": 765980050, "item_id": 47873753, "url": "https://news.ycombinator.com/item?id=47873753", "by": "znpy", "date": "2026-04-23", "stance": "recommend", "quote": "frankly it works beautifully.", "excerpt": "> It always starts off all good with just managing a couple of containers to run your web app. Then before you know it, the devops folks have decided that they need to put a gazillion other services and an entire software-defined networking layer on top of it. As a devops/cloud engineer coming from a pure sysadmin background (you've got a cluster of n machines running RHEL and that's it) i feel this. The issues i see", "context": "devops/cloud engineer from sysadmin background", "use_case": "managing Kubernetes and infrastructure", "switched_from": "", "story": "I Am Building a Cloud"}, {"id": 763794001, "item_id": 47737125, "url": "https://news.ycombinator.com/item?id=47737125", "by": "gobdovan", "date": "2026-04-12", "stance": "recommend", "quote": "My go-to move when I spin up servers is a two-stage Terraform setup", "excerpt": "Nice list! I'd say the SQLite with WAL is the biggest money saver mentioned. One note: you can absolutely use Python or Node just as well as Go. There's Hetzner that offers 4GB RAM, 10TB network (then 1$/TB egress), 2CPUs machines for 5$. Two disclaimers for VPS: If you're using a dedicated server instead of a cloud server, just don't forget to backup DB to a Storage box often (3$ /mo for 1TB, use rsync). It's a good", "context": "", "use_case": "provisioning servers", "switched_from": "", "story": "I run multiple $10K MRR companies on a $20/month tech stack"}, {"id": 761552529, "item_id": 47597033, "url": "https://news.ycombinator.com/item?id=47597033", "by": "matifali", "date": "2026-03-31", "stance": "neutral", "quote": "heavily rely on Terraform to provision resources.", "excerpt": "Any plans or thoughts for? Terraform Provider? I use Proxmox as my infrastructure provider and heavily rely on Terraform to provision resources.", "context": "", "use_case": "provisioning resources", "switched_from": "", "story": "From Proxmox to FreeBSD and Sylve in Our Office Lab"}, {"id": 757696691, "item_id": 47356043, "url": "https://news.ycombinator.com/item?id=47356043", "by": "LANcaster", "date": "2026-03-12", "stance": "neutral", "quote": "I use monitoring and automation tools like Zabbix, Grafana, Ansible, and Terraform", "excerpt": "Working with Linux for more than 20 years | SysOps and DevOps Expert | Secure and Versatile Infrastructure Design Location: Lisbon, Portugal Remote: Yes, I work remotely since 2005 Willing to relocate: Yes Technologies: Linux, Kubernetes, Docker, Proxmox, Ansible, Terraform, Zabbix, Grafana, Prometheus, PostgreSQL, MySQL, and much, much more LinkedIn: https://www.linkedin.com/in/krzysztofkotkowicz/ Resume/CV: https:/", "context": "Linux sysadmin/DevOps with 20+ years experience", "use_case": "infrastructure as code", "switched_from": "", "story": "Ask HN: Who wants to be hired? (March 2026)"}, {"id": 747966016, "item_id": 46747876, "url": "https://news.ycombinator.com/item?id=46747876", "by": "sshine", "date": "2026-01-24", "stance": "neutral", "quote": "I love how terraform can describe what I\u2019ve got.", "excerpt": "I love how terraform can describe what I\u2019ve got. Sort of. Assuming I or my colleagues or my noob customers don\u2019t modify resources on the same account. I don\u2019t love how unreliable providers are, even for creating resources. Clouds like DigitalOcean will 429 throttle me for making too many plans in a row with only 100+ resources. Sometimes the plan goes through, but the apply fails. Sometimes halfway through. I\u2019d rathe", "context": "has customers and colleagues", "use_case": "infrastructure as code", "switched_from": "", "story": "Why Does Destroying Resources via TF Suck?"}, {"id": 747322816, "item_id": 46707676, "url": "https://news.ycombinator.com/item?id=46707676", "by": "madduci", "date": "2026-01-21", "stance": "recommend", "quote": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself.", "excerpt": "I use Terraform with the Kubernetes Provider, which is also actively developed by HashiCorp itself. Templating / injection of values has been much better, skipping the Helm Templating madness and relying on a set of tools that allow perform minting, security scans, generation of docs, unit tests and establish clear dependencies within Terraform, thanks to the graph model. Helm Charts are a nice idea, but mistakes can", "context": "", "use_case": "Kubernetes deployments", "switched_from": "Helm", "story": "Building Robust Helm Charts"}, {"id": 742779286, "item_id": 46423705, "url": "https://news.ycombinator.com/item?id=46423705", "by": "pranavarora99", "date": "2025-12-29", "stance": "neutral", "quote": "Own AWS, Terraform, CI/CD, observability.", "excerpt": "We build conversational AI infrastructure for healthcare. Voice agents that talk to real patients, coordinate care, and drive outcomes at scale. Our AI is on calls with Medicare patients right now. We're two founders looking for three founding engineers. Backend: Own the API layer, AI agent orchestration, event-driven systems. Hono.js on Lambda, TypeScript, PostgreSQL, DynamoDB. Real-time patient conversations. Front", "context": "founder hiring engineers for healthcare AI startup", "use_case": "infrastructure as code", "switched_from": "", "story": "Rivvi.ai \u2013 Founding Engineers (Back End, Front End, Infra) \u2013 Cambridge, MA"}, {"id": 739566016, "item_id": 46222876, "url": "https://news.ycombinator.com/item?id=46222876", "by": "dev_l1x_be", "date": "2025-12-10", "stance": "warn", "quote": "It would be great to have an alternative to Terraform", "excerpt": "It would be great to have an alternative to Terraform that uses a bit more advanced provider (at last for AWS). Does OpenTofu use that same provider?", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "The future of Terraform CDK"}, {"id": 737317136, "item_id": 46082321, "url": "https://news.ycombinator.com/item?id=46082321", "by": "autotune", "date": "2025-11-28", "stance": "recommend", "quote": "Terraform with GitHub Actions works out perfectly.", "excerpt": "No love for DigitalOcean yet? Managed Kubernetes at around $60/month. Terraform with GitHub Actions works out perfectly.", "context": "", "use_case": "infrastructure provisioning", "switched_from": "", "story": "Ask HN: Which cloud provider do you like best and why?"}, {"id": 734634529, "item_id": 45914658, "url": "https://news.ycombinator.com/item?id=45914658", "by": "proxysna", "date": "2025-11-13", "stance": "neutral", "quote": "At work i use terraform to configure nomad/consul combo", "excerpt": "At work i use terraform to configure nomad/consul combo, so basically just a tf with Gitlab. At home i am using this approach. Dumb, but works well. https://royportas.com/posts/simple-gitops-with-nomad", "context": "", "use_case": "configuring Nomad/Consul", "switched_from": "", "story": "Kubernetes Is Your Private Cloud"}, {"id": 733727895, "item_id": 45857993, "url": "https://news.ycombinator.com/item?id=45857993", "by": "pahae", "date": "2025-11-08", "stance": "neutral", "quote": "the provider I use nonetheless has a terraform provider", "excerpt": "I wish the big providers would offer some sort of trial period where you can evaluate models in a _realistic_ setting yourself (i.e cli tools or IDE integrations). I wouldn't even mind strict limits -- just give me two hours or so of usage and I'd already be happy. Seriously. My use-case is probably pretty far from the usual tasks: I'm currently implementing a full observability platform based on VictoriaMetrics / Vi", "context": "", "use_case": "infrastructure as code", "switched_from": "", "story": "Study identifies weaknesses in how AI systems are evaluated"}, {"id": 733537472, "item_id": 45846092, "url": "https://news.ycombinator.com/item?id=45846092", "by": "cyberpunk", "date": "2025-11-07", "stance": "neutral", "quote": "Running terraform isn\u2019t difficult - thousands of orgs handle it no problem", "excerpt": "> Most systems handle this defensively with locks and runtime validation. So i work at an org with 1000s of terraform repos, we use the enterprise version which locks workspaces during runs etc. everywhere else i\u2019ve worked, we either just use some lock mechanism or only do applies from a specific branch and CI enforces they run one at a time. My question is: who is this aimed at and what problem is it actually solvin", "context": "works at an org with 1000s of terraform repos", "use_case": "infrastructure as code", "switched_from": "", "story": "We chose OCaml to write Stategraph"}, {"id": 733153778, "item_id": 45822111, "url": "https://news.ycombinator.com/item?id=45822111", "by": "jwr", "date": "2025-11-05", "stance": "neutral", "quote": "with terraform for bringing up the cluster", "excerpt": "This is all correct. I've been running my own servers for many years now, keeping things simple and saving a lot of money and time (setting anything up in AWS or Azure is horribly complicated and the UIs are terrible). One thing to remember is that you do need to treat your servers as \"cloud servers\" in the sense that you should be able to re-generate your entire setup from your configuration at any time, given a bun", "context": "runs own servers for many years, runs a business", "use_case": "provisioning disaster recovery cluster", "switched_from": "", "story": "I took all my projects off the cloud, saving thousands of dollars"}]}