# Terragrunt - Instalação

%[https://youtu.be/1rQoRtUKmNs] 

---

## Introdução

Terragrunt é um wrapper open-source (gratuito) criado pela empresa Gruntwork que fornece ferramentas extras para manter suas configurações `DRY` (menos repetitivas) enquanto você trabalha com vários módulos Terraform e também precisa gerenciar seu estado remoto.

<div data-node-type="callout">
<div data-node-type="callout-emoji">ℹ</div>
<div data-node-type="callout-text">Neste artigo não abordaremos muito sobre conceitos do Terragrunt, focaremos apenas na sua instalação. Como o Terragrunt está em constante atualizações, pode se tornar trabalhoso instalar cada nova versão. Para minimizar esse esforço, utilizaremos um gerenciador de versões do Terraform chamado <code>TG Switch</code></div>
</div>

---

## Instalação

1- Digite o comando:

```bash
sudo curl -L https://raw.githubusercontent.com/warrensbox/tgswitch/release/install.sh | sudo bash
```

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1663016123936/9EyZV52dK.png align="center")

2- Digite o comando → pressione `Enter` na versão do `Terragrunt` que você desejar instalar:

```bash
tgswitch
```

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1663016168729/p0vcBH7A3.png align="center")

<div data-node-type="callout">
<div data-node-type="callout-emoji">⚠</div>
<div data-node-type="callout-text">Aguarde! É demorado mesmo, você terá a impressão de que está travado ou que nada aconteceu, mas apenas aguarde o comando ser executado por completo.</div>
</div>

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1663016207040/Q6PKtLq13.png align="center")

Agora precisamos adicionar o diretório `/home/<user>/bin` criado para o seu `PATH`. Então digite o comando:

```bash
sudo nano ~/.zshrc
```

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1663014927910/gl5KB9sDn.png align="center")

E adicione a linha abaixo → pressione `CTRL + X` → `Y` → `Enter` para salvar:

```bash
export PATH=$PATH:/home/<user>/bin:PATH
```

<div data-node-type="callout">
<div data-node-type="callout-emoji">⚠</div>
<div data-node-type="callout-text">Lembre-se de alterar <code>user</code> do comando para o usuário real que você usa</div>
</div>

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1663015071452/v5HoxsEzF.png align="center")

3- Verifique a versão do Terragrunt instalado digitando o comando:

```bash
terragrunt --version
```

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1663016242578/pWq-oUCez.png align="center")

Então sempre que você precisar mudar de versão do terragrunt, basta digitar o comando `tgswitch` e selecionar a versão desejada. Bacana né?

Se você não quer procurar e selecionar uma versão no menu do `tgswitch`, pois já sabe exatamente a versão que deseja usar, você pode passar essa informação diretamente no comando:

```bash
tgswitch <version>
```

Por exemplo:

```bash
# tgswitch 0.36.0
```

E isso instalaria a versão `0.36.0` do Terragrunt.

<div data-node-type="callout">
<div data-node-type="callout-emoji">✅</div>
<div data-node-type="callout-text">Espero que essas informações tenham sido úteis para você!</div>
</div>
