---
# System prepended metadata

title: terraform

---

# terraform - asix20242025
[TOC]
## instal·lació
- instal·lem aws cli i terraform via snap i preparem terraform per estalviar espai en disc
```
tee /tmp/setup-ec2.sh << EOT
sudo snap install aws-cli --classic
sudo snap install terraform --classic
terraform -install-autocomplete
export TF_PLUGIN_CACHE_DIR="$HOME/.terraform.d/plugin-cache"
grep TF_PLUGIN_CACHE_DIR ~/.bashrc || echo 'export TF_PLUGIN_CACHE_DIR="$HOME/.terraform.d/plugin-cache"' >> ~/.bashrc
EOT
source  /tmp/setup-ec2.sh
```
- alternativa: baixar el binari de tots dos programes i situar-los en algun directori del PATH del S.O.
- cal també configurar les credencials d'aws CADA cop que iniciem sessió a AWS ACADEMY (manera no interactiva a continuació: resta posar els valors a ~/.aws/credentials que retorna aws academy)
```
tee /tmp/setup-creds.sh << EOT
aws configure set region us-east-1 --profile default
aws configure set output json --profile default
aws configure set aws_access_key_id CHANGEME --profile default
aws configure set aws_secret_access_key CHANGEMETOO --profile default
aws configure set cli_pager "" --profile default
aws configure set cli_history enabled
EOT
source /tmp/setup-creds.sh
```
## primeres passes
- tutorial de hashicorp
  - [aws](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/aws-build)
  - docker (per casa)
- terraform best tutorial
https://cloudcasts.io/course/terraform

## objectiu
- controlar el cicle de terraform init|validate|fmt|plan|apply|destroy
- demostració
  - quina captura de pantalla penges que demostre que has creat una ec2 i que l'ha eliminat via terraform? [>>>formulari<<<](https://forms.gle/ZHFGy8VGG8GRruop8)
  
## mind-map terraform
[terraform mind map](/AGS-C3NVSOeXgNvJijwTKw)