Referência de Configuração
O Wippy é configurado via arquivos .wippy.yaml. Todas as opções têm padrões sensíveis.
Logger
Controla o encoder do logger zap. Flags do CLI (-v, -c, -s) sobrescrevem nível/saída; a única opção controlada por yaml é a codificação.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
encoding |
string | console | Encoder: console (legível) ou json (estruturado) |
logger:
encoding: json
Gerenciador de Log
Controla o roteamento de logs do runtime. A saída do console é configurada via flags do CLI (-v, -c, -s).
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
propagate_downstream |
bool | true | Envia logs para saída console/arquivo |
stream_to_events |
bool | false | Publica logs no barramento de eventos para acesso programático |
min_level |
int | -1 | Nível mínimo: -1=debug, 0=info, 1=warn, 2=error |
logmanager:
propagate_downstream: true
stream_to_events: false
min_level: 0
Veja: Módulo Logger
Profiler
Servidor HTTP pprof do Go para profiling de CPU/memória. Habilite com a flag -p ou configuração.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled |
bool | false | Inicia servidor do profiler |
address |
string | localhost:6060 | Endereço de escuta |
read_timeout |
duration | 15s | Timeout de leitura HTTP |
write_timeout |
duration | 15s | Timeout de escrita HTTP |
idle_timeout |
duration | 60s | Timeout de keep-alive |
profiler:
enabled: true
address: "localhost:6060"
Acesse em http://localhost:6060/debug/pprof/
Segurança
Comportamento de segurança global. Políticas individuais são definidas como entradas security.policy.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
strict_mode |
bool | false | Nega acesso quando contexto de segurança está incompleto |
security:
strict_mode: true
Veja: Sistema de Segurança, Módulo Security
Registro
Armazenamento de entradas e histórico de versões. O registro armazena todas as entradas de configuração.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enable_history |
bool | true | Rastreia versões de entradas |
history_type |
string | memory | Armazenamento: memory, sqlite, nil |
history_path |
string | .wippy/registry.db | Caminho do arquivo SQLite |
registry:
history_type: sqlite
history_path: /var/lib/wippy/registry.db
Veja: Conceito de Registro, Módulo Registry
Relay
Roteamento de mensagens entre processos através de nós.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
node_name |
string | local | Identificador para este nó de relay |
relay:
node_name: worker-1
Veja: Modelo de Processos
Supervisor
Gerenciamento de ciclo de vida de serviços. Controla a caixa de mensagens de controle interna do supervisor usada para despachar eventos de ciclo de vida.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
host.buffer_size |
int | 1024 | Capacidade da caixa de mensagens de controle interna |
host.worker_count |
int | 16 | Workers despachantes concorrentes |
supervisor:
host:
buffer_size: 2048
worker_count: 32
Veja: Guia de Supervisão
Runtime Lua
Cache de VM Lua e avaliação de expressões.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
proto_cache_size |
int | 60000 | Cache de protótipos compilados |
main_cache_size |
int | 10000 | Cache de chunks principais |
cache.enabled |
bool | false | Persistir cache de bytecode/typecheck compilado em disco |
cache.dir |
string | (diretório de cache do sistema) | Caminho do diretório de cache |
cache.mode |
string | read_write |
Modo de cache: read_write, read_only, write_only |
type_system.enabled |
bool | false | Habilitar verificação estática de tipos |
type_system.strict |
bool | false | Tratar avisos de tipo como erros |
lua:
proto_cache_size: 60000
cache:
enabled: true
dir: .cache/lua
type_system:
enabled: true
Veja: Visão Geral Lua
Finder
Cache de busca do registro. Usado internamente para consultas de entradas.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
query_cache_size |
int | 1000 | Resultados de consulta em cache |
regex_cache_size |
int | 100 | Padrões regex compilados |
finder:
query_cache_size: 2000
OpenTelemetry
Tracing distribuído e exportação de métricas via OTLP.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled |
bool | false | Habilita OTEL |
endpoint |
string | localhost:4318 | Endpoint OTLP |
protocol |
string | http/protobuf | Protocolo: grpc, http/protobuf |
service_name |
string | wippy-runtime | Identificador do serviço |
service_version |
string | Tag de versão do serviço | |
insecure |
bool | true | Permite conexão OTLP em texto plano |
sample_rate |
float | 1.0 | Amostragem de trace (0.0-1.0) |
propagators |
string[] | [tracecontext, baggage] |
Propagadores de contexto |
traces_enabled |
bool | true | Exporta traces |
metrics_enabled |
bool | false | Exporta métricas |
http.enabled |
bool | true | Rastreia requisições HTTP |
http.extract_headers |
bool | true | Extrai contexto de trace dos cabeçalhos de entrada |
http.inject_headers |
bool | true | Injeta contexto de trace nos cabeçalhos de saída |
process.enabled |
bool | true | Rastreia ciclo de vida de processos |
process.trace_lifecycle |
bool | true | Emite spans para spawn/terminate |
interceptor.enabled |
bool | true | Rastreia chamadas de funções |
interceptor.order |
int | 100 | Prioridade do interceptor |
queue.enabled |
bool | true | Rastreia publicação/consumo de filas |
temporal.enabled |
bool | false | Rastreia workflows do Temporal |
otel:
enabled: true
endpoint: "http://jaeger:4318"
traces_enabled: true
process:
trace_lifecycle: true
Variáveis de ambiente OTEL padrão (OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME, OTEL_TRACES_SAMPLER_ARG, OTEL_PROPAGATORS, OTEL_SDK_DISABLED) sobrescrevem os campos correspondentes.
Veja: Guia de Observabilidade
Shutdown
Comportamento de encerramento gracioso.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
timeout |
duration | 30s | Tempo máximo de espera para componentes pararem |
shutdown:
timeout: 60s
Métricas
Buffer de coleta de métricas internas.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
buffer.size |
int | 10000 | Capacidade do buffer de métricas |
interceptor.enabled |
bool | false | Rastreia chamadas de funções automaticamente |
metrics:
buffer:
size: 20000
interceptor:
enabled: true
Veja: Módulo Metrics, Guia de Observabilidade
Prometheus
Endpoint de métricas Prometheus.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled |
bool | false | Inicia servidor de métricas |
address |
string | localhost:9090 | Endereço de escuta |
prometheus:
enabled: true
address: "0.0.0.0:9090"
Expõe endpoint /metrics para scraping do Prometheus.
Veja: Guia de Observabilidade
Cluster
Clustering multi-nó com descoberta gossip.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled |
bool | false | Habilita clustering |
name |
string | hostname | Identificador do nó |
internode.bind_addr |
string | 0.0.0.0 | Endereço de bind entre nós |
internode.bind_port |
int | 0 | Porta (0=auto 7950-7959) |
membership.bind_port |
int | 7946 | Porta gossip |
membership.join_addrs |
string | Nós seed (separados por vírgula) | |
membership.secret_key |
string | Chave de criptografia (base64) | |
membership.secret_file |
string | Caminho do arquivo de chave | |
membership.advertise_addr |
string | Endereço público para NAT |
cluster:
enabled: true
name: node-1
membership:
bind_port: 7946
join_addrs: "10.0.0.1:7946,10.0.0.2:7946"
secret_file: /etc/wippy/cluster.key
LSP
Servidor do Language Server Protocol para integrações com editores.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled |
bool | false | Habilitar o servidor TCP |
address |
string | :7777 | Endereço de escuta TCP |
http_enabled |
bool | false | Habilitar o transporte HTTP |
http_address |
string | :7778 | Endereço de escuta HTTP |
http_path |
string | /lsp | Caminho do endpoint HTTP |
http_allow_origin |
string | * | Origem permitida por CORS |
max_message_bytes |
int | 8388608 | Tamanho máximo de mensagem recebida |
lsp:
enabled: true
address: ":7777"
http_enabled: true
Veja: Guia do LSP
Serviço de Rede
Gerenciador de redes overlay (drivers SOCKS5, I2P, Tailscale).
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
state_dir |
string | .wippy/net | Diretório de armazenamento do estado do driver |
default_network |
string | ID de rede padrão aplicado quando entradas omitem network |
network_service:
state_dir: /var/lib/wippy/net
default_network: app:tailscale
Veja: Overlays de Rede
Módulos
Cliente do registro de módulos usado por wippy install/update.
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
registry_url |
string | https://hub.wippy.ai | Endpoint do registro |
modules:
registry_url: https://internal-registry.example.com
Extensões
Extensões nativas de plugin Go carregadas no boot (somente Unix).
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
enabled |
bool | true | Carregar extensões |
paths |
string[] | Caminhos dos arquivos de plugin (relativos ao diretório de configuração) |
extensions:
enabled: true
paths:
- ./extensions/myplugin.so
Variáveis de Ambiente
| Variável | Descrição |
|---|---|
GOMEMLIMIT |
Limite de memória (sobrescreve flag --memory-limit) |
Veja Também
- Referência do CLI - Opções de linha de comando
- Tipos de Entradas - Todos os tipos de entradas
- Guia de Observabilidade - Logging, métricas, tracing