---
# System prepended metadata

title: Summary

---

# Summary

creates the projects within the KelaHealth organization in terraform cloud using the [Terraform Enterprise Provider](https://www.terraform.io/docs/providers/tfe/index.html)

## STATUS

ON HOLD. need workspace IDs to import existing workspaces. can't get from API because API access requires a bronze account. @camilosantana is looking into pricing

UPDATE: workspace id is available in settings. back online! w00t!

### API access

API endpoint doesn't seem accessible to free accounts. this section is for academic purposes.

[API docs](https://www.terraform.io/docs/cloud/api/index.html)

example:

```bash
TOKEN=$(jq --raw-output '.credentials["app.terraform.io"].token' ~/.terraform.d/credentials.tfrc.json)
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  "https://app.terraform.io/api/v2/admin/workspaces/:id"
```

ref: [terraform-pricing](https://www.hashicorp.com/products/terraform/pricing/)

## file structure

- `project-terraform.tf` - terraform backend config
- `main.tf` - any shared resources
- `<project.tf>` - resources related to project that correlates to filename

## contribution guide

- cut branch related to Jira ticket
- create a `<project>.tf` file
- populate resources in above file
- plan/apply accordingly

### terraform plan/apply

local authentication

- `terraform login`
  - creates needed files in `~/.terraform.d`
  - token is stored in plaintext at `~/.terraform.d/credentials.tfrc.json`
  - token is referenced by the cli via [cli-config](https://www.terraform.io/docs/commands/cli-config.html#credentials-1)

terraform plan/apply will use the above auth info and the configuration defined in backend config

## VCS Provider

connection to github was added manually. this is a TODO item to get it in code.

[]@myorukoglu - review this section. we are likely obligated to IaC all this, below including

- [general-instructions](https://www.terraform.io/docs/cloud/vcs/github.html)
- [kelahealth-setup](https://app.terraform.io/app/KelaHealth/settings/version-control/add)
