Files
tuio/docs/configuracao.md
T
jbandClaude Opus 4.8 25137eb5da docs: add Portuguese docs and English CLAUDE.md
Add README.md, docs/ (fluxo, configuracao, arquitetura) in PT-BR and a
CLAUDE.md technical reference in English describing the installer flow,
generated files, containers and architecture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 11:53:56 -03:00

5.2 KiB

Referência de Configuração

Este documento descreve todos os campos coletados pelo instalador e os arquivos que ele gera.

Arquivo config.toml

Gerado por GenerateConfigTOML em internal/tui/config.go e montado no container do app em /app/config.toml. Se um config.toml já existir no diretório ao iniciar o instalador, seus valores são usados como padrão nos formulários.

[server]

Campo Origem (formulário) Observações
port fixo 8080 no arquivo A porta do formulário é usada apenas no mapeamento do host (<porta>:8080). Dentro do container o app sempre escuta na 8080.
timeout_seconds Servidor → Timeout Em segundos. Padrão 30.
environment Servidor → Ambiente development ou production.

Atenção: o campo "Porta" do formulário define a porta exposta no host, não a porta interna. O config.toml sempre grava port = 8080.

[database]

Campo Origem Observações
type Banco → Tipo do Banco postgres ou oracle.
url Banco → URL de acesso String de conexão completa.
max_conns Banco → Conexões máx. Validado como número.
min_conns Banco → Conexões mín. Validado como número.

[certificate]

Campo Valor Observações
mapped_dir Certificado → Diretório Diretório local montado em /app/certs.
cert_path /app/certs/client.crt (fixo) Caminho dentro do container.
key_path /app/certs/client.key (fixo) Caminho dentro do container.
ca_path /app/certs/ca.crt (fixo) Caminho dentro do container.

O diretório indicado deve conter os arquivos client.crt, client.key e ca.crt (comunicação mTLS com o servidor central).

[application]

Campo Origem Observações
erp TOTVS (fixo) ERP integrado.
central_server_url Aplicação → URL Servidor Central Ex.: https://app-dono-api.vitruvio.com.br:8443.
enrollment_token Aplicação → Token de Inscrição Gerado no painel web.

[log]

Campo Valor
level debug (fixo)
format json (fixo)

Arquivo envs (vproxy / WireGuard)

Gerado por GenerateWireguardConfig apenas quando não há IP público. Passado ao container do vproxy via --env-file.

Variável Origem Observações
PRIVKEY vproxy → Chave Privada Chave privada WireGuard.
VIP vproxy → IP Virtual Padrão 127.0.0.1.
PSK vproxy → Pre-Shared Key Chave pré-compartilhada.
PROXY_EDPS vproxy → Proxy EDPS Mapeamento de portas, ex.: 22:127.0.0.1:22.
MTU vproxy → MTU Opcional. Padrão 1380. Validado como número.
PROTO vproxy → Protocolo UDP (padrão) ou TCP.

Sobre o protocolo

  • UDP (padrão): melhor desempenho e estabilidade. Manter sempre que possível.
  • TCP: usar apenas quando firewalls restritivos bloqueiam o tráfego UDP e não for possível negociar a liberação com o cliente.

Campo "Modo Compatibilidade"

Presente no formulário de Servidor (seccomp_unconfined). Quando definido como Sim, os containers sobem com --security-opt seccomp=unconfined. Útil em máquinas antigas onde o perfil seccomp padrão do Docker causa falhas. Aplica-se tanto ao container do app quanto ao do vproxy.

Tipos de campo dos formulários

Definidos em internal/tui/form.go:

Tipo Comportamento
FieldTypeText Texto livre.
FieldTypePassword Texto mascarado.
FieldTypeNumber Texto (validação numérica na gravação).
FieldTypeSelect Opções alternadas com ←/→.