{"id":15350159,"url":"https://github.com/mars/marsi-science-terraform","last_synced_at":"2026-01-18T08:33:48.012Z","repository":{"id":139298134,"uuid":"154750839","full_name":"mars/marsi-science-terraform","owner":"mars","description":"🌲👨‍🔬 Terraforming marsi.science on Heroku","archived":false,"fork":false,"pushed_at":"2018-10-26T00:02:11.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T08:13:25.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.marsi.science","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mars.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-25T23:39:32.000Z","updated_at":"2018-10-26T00:02:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce131d25-cb41-4d89-8a22-02cd4cba16b8","html_url":"https://github.com/mars/marsi-science-terraform","commit_stats":{"total_commits":6,"total_committers":2,"mean_commits":3.0,"dds":"0.16666666666666663","last_synced_commit":"1e44048ba8534980816af5b56ebf1caf7caea633"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mars/marsi-science-terraform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mars%2Fmarsi-science-terraform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mars%2Fmarsi-science-terraform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mars%2Fmarsi-science-terraform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mars%2Fmarsi-science-terraform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mars","download_url":"https://codeload.github.com/mars/marsi-science-terraform/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mars%2Fmarsi-science-terraform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T11:57:46.056Z","updated_at":"2026-01-18T08:33:47.974Z","avatar_url":"https://github.com/mars.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"Terraforming 🌱 Heroku app\n===========================\n\n[Terraform](https://www.terraform.io/) as a [Heroku](https://www.heroku.com/) app.\n\nRun Terraform CLI in the cloud:\n\n```bash\nheroku run terraform apply\n```\n\n🔬🚧 This is a community proof-of-concept, [MIT license](LICENSE), provided \"as is\", without warranty of any kind.\n\n🌲🔥 To enable [Heroku Postgres](https://www.heroku.com/postgres) as the Terraform backend, this app uses the `terraform` binary built from an unmerged pull request to Terraform (see: [hashicorp/terraform #19070](https://github.com/hashicorp/terraform/pull/19070)).\n\nSet-up\n------\n\n### Create Heroku Team\n\nTerraform works best with Heroku when contained by a team.\n\n▶️ [Create a team](https://dashboard.heroku.com/teams/new) or use an existing team.\n\n### Create Heroku \"Machine\" Account\n\nTerraform uses an authorization token (secret key) access the Heroku API.\n\nTerraform's access can be isolated from your main user account by creating a separate Heroku account \u0026 authorization token, and inviting the new account to the team.\n\n▶️ [Sign-up for another account](https://signup.heroku.com/). Set the first \u0026 last name to \"Terraform\" \u0026 \"app\"\n\n▶️ [Create an Authorization for Terraform](https://dashboard.heroku.com/account/applications#authorizations). Set its description to `terraforming-app`. Note the generated **Authorization token**.\n\n▶️ [Invite the new account to the team](https://devcenter.heroku.com/articles/heroku-teams#setting-up-your-heroku-team). Set its role to **admin**, so that it can fully manage apps and other resources.\n\n### Deploy Terraform for Team\n\nCreate a new app for Terraform by clicking the \"Deploy\" button below. On the form that appears, set:\n\n* **App name** to something like `teamname-terraform`\n* **App owner** to the team name created above\n* **HEROKU_API_KEY** to the **Authorization token** generated above\n* **HEROKU_EMAIL** to the email of the separate account created above\n\n[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n\n### Connect source code\n\nCreate a local working copy of the Heroku app, to begin committing \u0026 applying Terraform configurations.\n\n✏️ *Replace `$APP_NAME` with the value of the **App name** created above, like `teamname-terraform`*\n\n```bash\ngit clone https://github.com/mars/terraforming-app.git $APP_NAME\ncd $APP_NAME\nheroku git:remote --app $APP_NAME\n```\n\nUsage\n-----\n\nOnce [set-up](#user-content-set-up) is complete, you can begin using Terraform!\n\n### Create your Terraform config\n\nUse the [Heroku provider](https://www.terraform.io/docs/providers/heroku/) and [others](https://www.terraform.io/docs/providers/) to build-up configuration in `*.tf` files.\n\nThe included `main.tf` is required to deploy successfully. The buildpack will not work without `main.tf`. You can replace its content as needed.\n\n### Push your changes\n\n```bash\ngit add .\ngit commit -m 'Initial configuration'\ngit push heroku master\n```\n\n⏳ Wait for the push to complete.\n\n### Run Terraform\n\nUse interactively in one-off dynos:\n\n```bash\nheroku run terraform plan\nheroku run terraform apply\n```\n\nDev Notes 📓\n------------\n\n### Manual setup\n\n```bash\nexport APP_NAME=my-app\ngit clone https://github.com/mars/terraforming-app\ncd terraforming-app/\n\nheroku create $APP_NAME --buildpack mars/terraforming\nheroku addons:create heroku-postgresql\n\n# Use our fork of Terraform that supports Postgres backend\n# https://github.com/hashicorp/terraform/pull/19070\n# \nheroku config:set TERRAFORM_BIN_URL=https://terraforming-buildpack.s3.amazonaws.com/terraform_0.11.9-pg.02_linux_amd64.zip\n\n# Set credentials for the Terraform Heroku provider\nheroku config:set HEROKU_API_KEY=xxxxx HEROKU_EMAIL=x@example.com\n\n# Set Terraform input variables\nheroku config:set TF_VAR_example_app_name=$APP_NAME-example\n\ngit push heroku master\n```\n\n### Run Terraform locally w/ Heroku Postgres backend\n\n🌲🔥 Requires local `terraform` binary built from the Postgres backend PR ([hashicorp/terraform #19070](https://github.com/hashicorp/terraform/pull/19070)).\n\n```bash\n# First-time for each terminal\nexport DATABASE_URL=`heroku config:get DATABASE_URL`\n$GOPATH/src/github.com/hashicorp/terraform/pkg/darwin_amd64/terraform init -backend-config=\"conn_str=$DATABASE_URL\"\n\n# Continue using Terraform with the Heroku app's Postgres backend\n$GOPATH/src/github.com/hashicorp/terraform/pkg/darwin_amd64/terraform plan\n$GOPATH/src/github.com/hashicorp/terraform/pkg/darwin_amd64/terraform apply\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmars%2Fmarsi-science-terraform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmars%2Fmarsi-science-terraform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmars%2Fmarsi-science-terraform/lists"}