> For the complete documentation index, see [llms.txt](https://cavonstavants-organization.gitbook.io/whanos-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cavonstavants-organization.gitbook.io/whanos-documentation/deployment/terraform.md).

# Terraform

<figure><img src="https://876999685-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0p0c1PTrmoKJWoz72Ovx%2Fuploads%2Ffep6wqZYZpUrrqctlqna%2F1280px-Terraform_Logo.svg.png?alt=media&amp;token=b5fca0d3-46f6-4e84-8b60-5c5a999b6c7a" alt=""><figcaption></figcaption></figure>

## Prerequisites

In order to deploy the infrastructure, you need to have a Google Cloud Platform account, and have the `gcloud` CLI installed. You will also need to setup the gcloud command to use the project you want to deploy to.

{% hint style="info" %}
You can use our home baked helper script to do this for you: `./scripts/gcloud_setup.sh`
{% endhint %}

Multiple variables are required to deploy the infrastructure, you can either set them in the `terraform.tfvars` file or input them when prompted

## Deploying

Launching terraform will create a new inventory file that wil be used by Ansible to provision the jenkins instance.

If you made any changes to the terraform files, you can apply them by running:

```bash
$ make deploy-terraform
```
