# Estimativa de custo do Terraform em cada pull request

> O bot de PR da LevelFour calcula o custo de cada mudança de Terraform e CloudFormation no GitHub e no GitLab, sugere configurações mais baratas e faz o commit delas quando você responde.

Source: https://levelfour.ai/blog/custo-do-terraform-em-pull-requests

Updated: 2026-10-22

12 de agosto de 2026. Por Gabriel Nielsen.

Boa parte da fatura de cloud se decide no code review. Alguém escolhe o tamanho da instância por costume, copia o tipo de disco de outro módulo ou sobe o número de réplicas para um teste de carga e nunca mais baixa. Quando isso aparece na fatura, a mudança já está rodando há semanas.

O bot de PR da LevelFour traz essa conta para dentro do pull request. Ele lê cada pull request no GitHub e cada merge request no GitLab que mexe em Terraform ou CloudFormation, calcula o custo da mudança e propõe configurações mais baratas quando encontra alguma.

## O que o bot publica

- Um comentário com quanto os recursos alterados custam antes e depois da mudança, e o gasto mensal. A cada push, o bot edita esse mesmo comentário, e a conversa continua legível.
- Um status da LevelFour no painel de checks do GitHub e no status do pipeline do GitLab, com o resumo da análise. Esse status só falha quando a própria análise não conseguiu rodar.
- Sugestões inline nas linhas do diff, cada uma com uma mudança concreta num recurso, prontas para commit.

No CloudFormation, o bot lê templates em YAML e JSON, templates SAM e nested stacks cujo template está no repositório. Antes de calcular o custo, ele resolve parâmetros, condições e mapeamentos, e lista em Assumptions, no comentário de custo, tudo o que precisou supor.

## Faça o commit da correção com um comentário

Responda ao bot e ele atende o pedido. O `apply` grava as sugestões num único commit na branch e responde com o SHA curto desse commit. No GitLab, ele também resolve as threads cujas sugestões aplicou. No GitHub, se a branch andou depois da última análise do bot, ele se recusa a aplicar para não sobrescrever trabalho mais novo.

```text
@levelfourai apply all
@levelfourai apply aws_instance.batch
@levelfourai ignore AWS::EC2::Volume.Logs
@levelfourai snooze waiting for the load test
@levelfourai dismiss sized for the holiday peak
```

Quem pode comentar também pode rodar o `help`. Os comandos que mudam alguma coisa exigem acesso de escrita ao repositório no GitHub, ou o papel Developer ou superior no GitLab. `dismiss` e `snooze` pedem um motivo, e o comentário de custo mostra quem decidiu e por quê. Assim o próximo revisor vê a decisão.

## Ajuste por repositório

Um arquivo `.levelfour/config.yml` na raiz do repositório desliga o bot, mantém o comentário de custo sem as sugestões inline, ignora caminhos e tipos de recurso ou liga um template de CloudFormation ao arquivo de parâmetros usado no deploy dele:

```yaml
code_suggestions_enabled: false
excluded_paths:
  - tests/fixtures/**
  - examples/**
excluded_resource_types:
  - aws_iam_role_policy_attachment
  - AWS::Logs::*
cloudformation:
  parameter_files:
    stacks/app.yaml: stacks/params/prod.json
```

O `enabled: false` desliga o bot, o `max_code_suggestions` limita as sugestões inline a um número entre 0 e 25, e o `region_override` fixa todas as estimativas numa região da AWS. O bot descarta o campo que não reconhece e avisa no fim do comentário dele, então um erro de digitação como `enabld: false` deixa o bot ligado.

## A mesma estimativa no CI

A CLI `l4` calcula o custo do mesmo Terraform e do mesmo CloudFormation no terminal ou num pipeline. Com `--fail-above`, o [`l4 estimate`](https://docs.levelfour.ai/cli/commands/estimate) sai com código `2` quando o total mensal passa do limite que você definiu, e o pipeline pode decidir o que fazer com esse código antes de qualquer deploy. O [`l4 diff`](https://docs.levelfour.ai/cli/commands/diff) usa como critério o que a mudança acrescenta ao custo, em vez do total.

```bash
l4 estimate --fail-above 500 -q ./infra/
```

Por padrão, o `l4 diff` compara com o merge-base do git em relação à `main` ou à `master`, então o job precisa do histórico completo do git: `fetch-depth: 0` no GitHub Actions e `GIT_DEPTH: 0` no GitLab CI. O [guia de CI/CD](https://docs.levelfour.ai/guides/ci-cd) traz os dois jobs completos.

## Como começar

Conecte o [GitHub](https://docs.levelfour.ai/integrations/github) ou o [GitLab](https://docs.levelfour.ai/integrations/gitlab) pelo dashboard da LevelFour, e o bot começa a trabalhar no próximo pull request que mexer em Terraform ou CloudFormation. No GitHub, quem instala o app da LevelFour é um Owner da organização. No GitLab, você precisa do papel Maintainer ou Owner em cada projeto, seja no GitLab.com ou numa instância self-managed. A checagem de custo em pull requests vem em todos os planos.

A [documentação do bot de PR](https://docs.levelfour.ai/integrations/pull-request-bot) lista todos os comandos, e a [referência de configuração](https://docs.levelfour.ai/guides/pr-bot-configuration) traz todos os campos.

[Comece com a LevelFour](https://levelfour.ai/sign-up) e veja o custo do seu próximo pull request antes do merge.

## Perguntas frequentes

### Que tipo de Infrastructure as Code o bot de PR da LevelFour lê?

Terraform e CloudFormation, em pull requests do GitHub e merge requests do GitLab. No CloudFormation, ele lê templates em YAML e JSON, templates SAM e nested stacks cujo template está no repositório. [O que é Shift-Left FinOps?](https://levelfour.ai/glossary/shift-left-finops.md).

### Quem pode usar os comandos do bot?

Quem pode comentar pode rodar o `help`. `dismiss`, `snooze`, `ignore` e `apply` exigem acesso de escrita ao repositório no GitHub, ou o papel Developer ou superior no GitLab.

### O bot faz commit num pull request que vem de um fork?

O `apply` pula pull requests e merge requests de forks, porque a branch do fork é de quem criou o fork.

### Como manter o comentário de custo sem as sugestões inline?

Defina `code_suggestions_enabled` como `false` no `.levelfour/config.yml`. O bot continua publicando o comentário de custo e o status.

## See what LevelFour can save you

[Start free trial](https://levelfour.ai/sign-up) · [Get in touch](https://levelfour.cal.com/)

## About LevelFour

The FinOps platform that actually cuts costs. One system of record for Cloud, SaaS, and AI spend. LevelFour applies each saving, or your engineers merge it as code.

- **Cloud Savings**: 30% success fee on savings found and applied. No hidden charges, only pay on what you actually save.
- **Pro**: $30 per month · Up to $2,500 spend/mo
- **Scale**: $200 per month · Up to $7,500 spend/mo
- **Enterprise**: Custom · Unlimited spend

[Pricing](https://levelfour.ai/pricing.md) · [Guide for agents (llms.txt)](https://levelfour.ai/llms.txt) · [Documentation](https://docs.levelfour.ai) · MCP server: `https://mcp.levelfour.ai/mcp`
