> ## Documentation Index
> Fetch the complete documentation index at: https://strattumai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalação na GCP

> Deploy do strattum.ai em uma instância Compute Engine na GCP com Docker Compose (tier Starter) ou GKE (tiers Growth e Scale).

<Note>
  O deploy na GCP é realizado pelo time da Strattum via ferramenta automatizada. Esta página documenta o processo para referência técnica do cliente e do time de operações.
</Note>

## Modelo de deploy BYOC

O strattum.ai opera no modelo **BYOC (Bring Your Own Cloud)**: toda a plataforma é instalada no projeto GCP do próprio cliente. Os dados nunca saem do ambiente corporativo. O time da Strattum acessa apenas logs de infraestrutura via IAP — nunca os dados de negócio.

***

## Tiers disponíveis

| Tier        | Infra                                 | Preço            | Capacidade                            |
| ----------- | ------------------------------------- | ---------------- | ------------------------------------- |
| **Starter** | 1 VM `e2-standard-4` + Docker Compose | \~R\$ 795/mês    | Até 50K entidades, até 5 conectores   |
| **Growth**  | GKE (2–3 nodes)                       | \~R\$ 2.200/mês  | Até 500K entidades, até 15 conectores |
| **Scale**   | GKE cloud-native com HPA              | \~R\$ 4.500+/mês | Sem limite, multi-zone                |

<Tip>
  A GCP é a opção de menor custo para o tier Starter entre as três clouds, principalmente pelo IAP (Identity-Aware Proxy) incluso que elimina o custo de bastion host.
</Tip>

***

## Tier Starter — Compute Engine com Docker Compose

### Pré-requisitos

* [ ] Projeto GCP com billing ativo
* [ ] APIs habilitadas: Compute Engine, Cloud Storage, Secret Manager, IAM
* [ ] Permissões: `roles/editor` ou IAM customizado para os recursos listados
* [ ] Região definida (recomendação: `southamerica-east1` — São Paulo)
* [ ] Credenciais dos conectores coletadas (CRM, ERP, etc.)

### Infraestrutura provisionada pelo Terraform

O Terraform da Strattum cria automaticamente:

| Recurso GCP                    | Especificação                            | Finalidade                         |
| ------------------------------ | ---------------------------------------- | ---------------------------------- |
| Compute Engine `e2-standard-4` | 4 vCPU / 16GB RAM                        | Host principal da plataforma       |
| VPC + Subnet                   | 1 VPC privada + 1 subnet                 | Isolamento de rede                 |
| Firewall Rules                 | Ports 443 (HTTPS), 51820/UDP (WireGuard) | Controle de acesso                 |
| Cloud Storage Bucket           | `<project>-strattum-data`                | Data Lake (arquivos Parquet)       |
| GCP Secret Manager             | 1 secret por instalação                  | Credenciais e chaves               |
| IAM Service Account            | SA da VM                                 | Acesso ao GCS e Secret Manager     |
| Static IP                      | 1 IP estático regional                   | Endereço fixo da instância         |
| Cloud NAT                      | 1 NAT Gateway                            | Saída de internet para os serviços |

### Processo de instalação

O time da Strattum executa:

```bash theme={null}
strattum init \
  --cloud gcp \
  --tier starter \
  --client <nome-do-cliente> \
  --project <gcp-project-id> \
  --region southamerica-east1
```

### SSH via IAP (Identity-Aware Proxy)

O acesso SSH à instância é feito via IAP sem bastion host:

```bash theme={null}
gcloud compute ssh strattum-<client>-vm \
  --zone southamerica-east1-a \
  --tunnel-through-iap \
  --project <gcp-project-id>
```

<Note>
  O IAP elimina a necessidade de abrir a porta 22 publicamente. O acesso é autenticado via conta Google com permissão `roles/iap.tunnelResourceAccessor`.
</Note>

### Variáveis de ambiente obrigatórias

```bash theme={null}
# Storage GCS
STORAGE_BACKEND=gcs
GCS_BUCKET=<project>-strattum-data
GCP_PROJECT_ID=<gcp-project-id>
GOOGLE_APPLICATION_CREDENTIALS=/app/secrets/gcp-sa.json

# LLM Provider
LLM_PROVIDER=openai
LLM_API_KEY=<chave-do-cliente>
LLM_MODEL=gpt-4o

# Domínio público
TRAEFIK_DOMAIN=app.<dominio-do-cliente>.com.br
TRAEFIK_ACME_EMAIL=ops@<dominio-do-cliente>.com.br

# Zitadel
ZITADEL_DOMAIN=auth.<dominio-do-cliente>.com.br
ZITADEL_MASTERKEY=<gerado-via-openssl>
```

### Acesso após instalação

| URL                             | Descrição                                     |
| ------------------------------- | --------------------------------------------- |
| `https://app.<dominio>.com.br`  | Console UI (HTTPS via Let's Encrypt)          |
| `https://auth.<dominio>.com.br` | Zitadel — identity provider                   |
| VPN WireGuard `:51820`          | Acesso operacional                            |
| IAP SSH                         | Acesso da Strattum SRE (`gcloud compute ssh`) |

***

## Tier Growth/Scale — GKE

Para tiers Growth e Scale, a plataforma roda em um cluster GKE com:

* 2–3 nodes (`e2-standard-4` ou `e2-standard-8`)
* PostgreSQL managed via Cloud SQL for PostgreSQL
* GKE Autopilot ou Standard com HPA nas APIs stateless
* Cloud Load Balancing como ingress

<Warning>
  Especificações exatas de node types para os tiers Growth e Scale precisam ser validadas com o time de engenharia antes de ir para produção.
</Warning>

***

## Custos estimados (Starter — southamerica-east1)

| Recurso                      | Custo estimado/mês |
| ---------------------------- | ------------------ |
| VM `e2-standard-4`           | \~R\$ 550          |
| Cloud Storage (100 GB)       | \~R\$ 10           |
| Persistent Disk SSD (100 GB) | \~R\$ 85           |
| Cloud NAT                    | \~R\$ 150          |
| IAP (incluso)                | R\$ 0              |
| **Total**                    | **\~R\$ 795**      |

***

## Segurança

A configuração padrão inclui:

* Encryption at rest nos discos e buckets GCS (gerenciada pelo Google por padrão)
* TLS entre todos os serviços internos
* Zero IP público nas APIs internas (acessíveis apenas via VPN WireGuard)
* Secrets no GCP Secret Manager — nunca em plaintext no `.env`
* IAM Service Account com princípio de menor privilégio
* Backup automatizado: PostgreSQL (7 dias via Cloud SQL), FalkorDB (diário via cron)

***

## Suporte

Dúvidas sobre o deploy? Entre em contato com o time da Strattum:

* Canal Slack compartilhado: `#strattum-suporte`
* Todas as ações do time Strattum ficam registradas em **Governance → Audit Log** no Console
