{"full_name":"hashicorp/terraform","owner":"hashicorp","name":"terraform","url":"https://github.com/hashicorp/terraform","description":"Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.","homepage":"http://developer.hashicorp.com/terraform","topics":[],"language":"Go","license":"NOASSERTION","avatar":"https://avatars.githubusercontent.com/u/761456?v=4","created_at":"2014-03-13T22:25:48Z","pushed_at":"2026-11-10T04:51:06Z","metrics":{"stars":50188,"forks":10596,"watchers":1156,"issues":21839,"prs":17153,"releases":452,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":14,"forks":1,"base_day":"2026-11-09"},"week":{"stars":-161,"forks":-3,"base_day":"2026-11-03"},"month":{"stars":361,"forks":-43,"base_day":"2026-10-11"}},"history":{"dates":["2026-09-06","2026-09-07","2026-09-08","2026-09-09","2026-09-10","2026-09-11","2026-09-12","2026-09-13","2026-09-14","2026-09-15","2026-09-16","2026-09-17","2026-09-18","2026-09-19","2026-09-20","2026-09-21","2026-09-22","2026-09-23","2026-09-24","2026-09-25","2026-09-26","2026-09-27","2026-09-28","2026-09-29","2026-09-30","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07","2026-10-08","2026-10-09","2026-10-10","2026-10-11","2026-10-12","2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[49526,49544,49541,49550,49556,49561,49569,49597,49608,49611,49612,49616,49634,49635,49630,49633,49639,49646,49658,49662,49671,49676,49686,49690,49700,49708,49713,49724,49739,49752,49782,49789,49802,49813,49821,49827,49831,49835,49841,49842,49857,49884,49901,49912,49923,49933,49946,49984,49984,50000,50066,50089,50101,50191,50069,50083,50082,50088,50349,50119,50174,50188],"forks":[10611,10616,10617,10619,10619,10614,10616,10616,10617,10622,10626,10629,10635,10632,10609,10610,10611,10615,10618,10616,10618,10622,10624,10626,10626,10624,10624,10627,10627,10630,10635,10633,10635,10638,10640,10639,10642,10643,10643,10641,10643,10642,10643,10643,10643,10645,10647,10649,10639,10602,10596,10597,10599,10600,10598,10600,10597,10599,10599,10600,10595,10596],"watchers":[1181,1182,1182,1182,1182,1182,1183,1187,1186,1184,1184,1185,1187,1185,1176,1176,1176,1176,1176,1176,1176,1177,1177,1177,1176,1181,1175,1175,1175,1175,1176,1176,1178,1178,1178,1178,1178,1178,1178,1179,1179,1180,1181,1181,1181,1181,1182,1182,1180,1169,1161,1161,1156,1156,1156,1157,1157,1157,1157,1157,1156,1156],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{},"same_owner":[{"full_name":"hashicorp/hcl","name":"hcl","boards":{}},{"full_name":"hashicorp/nomad","name":"nomad","boards":{}},{"full_name":"hashicorp/packer","name":"packer","boards":{}},{"full_name":"hashicorp/raft","name":"raft","boards":{}},{"full_name":"hashicorp/terraform-provider-azurerm","name":"terraform-provider-azurerm","boards":{}},{"full_name":"hashicorp/vault","name":"vault","boards":{}}],"issues":[{"number":13022,"title":"Using variables in terraform backend config block","comments":315,"created_at":"2017-03-23T20:06:56Z"},{"number":24476,"title":"Ability to pass providers to modules in for_each","comments":190,"created_at":"2020-03-26T22:14:44Z"},{"number":2253,"title":"feature request: inverse targeting / exclude","comments":169,"created_at":"2015-06-06T06:19:11Z"},{"number":3874,"title":"prevent_destroy should let you succeed","comments":165,"created_at":"2015-11-12T08:11:47Z"},{"number":21953,"title":"`enabled` parameter to avoid logical statements in `count`","comments":153,"created_at":"2019-07-02T08:16:23Z"},{"number":19932,"title":"Instantiating Multiple Providers with a loop","comments":128,"created_at":"2019-01-07T21:16:34Z"},{"number":15966,"title":"Feature: Conditionally load tfvars/tf file based on Workspace","comments":103,"created_at":"2017-08-30T19:01:53Z"},{"number":27360,"title":"A method to override configuration and meta arguments within a module","comments":86,"created_at":"2020-12-24T09:02:33Z"}],"discussions":[],"latest_release":{"name":"v1.17.1","tag":"v1.17.1","published_at":"2026-10-28T18:02:22Z","body":"## 1.17.1 (October 28, 2026)\n\n\nBUG FIXES:\n\n* fmt: The original content of a file is now preserved if Terraform experiences an error writing to the original file. ([#39303](https://github.com/hashicorp/terraform/issues/39303))\n\n* Always evaluate module policies during destroy plan ([#39455](https://github.com/hashicorp/terraform/issues/39455))\n\n* stacks: report every policy result for a replaced resource instead of only one of them ([#39453](https://github.com/hashicorp/terraform/issues/39453))\n\n\n"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}