Referencia de Configuración
Wippy se configura mediante archivos .wippy.yaml. Todas las opciones tienen valores por defecto sensatos.
Logger
Controla el encoder del logger zap. Los flags de CLI (-v, -c, -s) sobrescriben el nivel/salida; la única opción controlada por yaml es la codificación.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
encoding |
string | console | Encoder: console (humanizado) o json (estructurado) |
logger:
encoding: json
Gestor de Logs
Controla el enrutamiento de logs del runtime. La salida de consola se configura vía flags CLI (-v, -c, -s).
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
propagate_downstream |
bool | true | Enviar logs a salida de consola/archivo |
stream_to_events |
bool | false | Publicar logs al bus de eventos para acceso programático |
min_level |
int | -1 | Nivel mínimo: -1=debug, 0=info, 1=warn, 2=error |
logmanager:
propagate_downstream: true
stream_to_events: false
min_level: 0
Ver: Módulo Logger
Profiler
Servidor HTTP de pprof de Go para perfilado de CPU/memoria. Habilitar con flag -p o configuración.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enabled |
bool | false | Iniciar servidor de profiler |
address |
string | localhost:6060 | Dirección de escucha |
read_timeout |
duration | 15s | Timeout de lectura HTTP |
write_timeout |
duration | 15s | Timeout de escritura HTTP |
idle_timeout |
duration | 60s | Timeout de keep-alive |
profiler:
enabled: true
address: "localhost:6060"
Acceder en http://localhost:6060/debug/pprof/
Seguridad
Comportamiento de seguridad global. Las políticas individuales se definen como entradas security.policy.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
strict_mode |
bool | false | Denegar acceso cuando el contexto de seguridad está incompleto |
security:
strict_mode: true
Ver: Sistema de Seguridad, Módulo Security
Registro
Almacenamiento de entradas e historial de versiones. El registro contiene todas las entradas de configuración.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enable_history |
bool | true | Rastrear versiones de entradas |
history_type |
string | memory | Almacenamiento: memory, sqlite, nil |
history_path |
string | .wippy/registry.db | Ruta del archivo SQLite |
registry:
history_type: sqlite
history_path: /var/lib/wippy/registry.db
Ver: Concepto de Registro, Módulo Registry
Relay
Enrutamiento de mensajes entre procesos a través de nodos.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
node_name |
string | local | Identificador para este nodo relay |
relay:
node_name: worker-1
Ver: Modelo de Procesos
Supervisor
Gestión del ciclo de vida de servicios. Controla el buzón de control interno del supervisor usado para despachar eventos del ciclo de vida.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
host.buffer_size |
int | 1024 | Capacidad del buzón de control interno |
host.worker_count |
int | 16 | Workers despachadores concurrentes |
supervisor:
host:
buffer_size: 2048
worker_count: 32
Ver: Guía de Supervisión
Runtime de Lua
Caché de VM Lua y evaluación de expresiones.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
proto_cache_size |
int | 60000 | Caché de prototipos compilados |
main_cache_size |
int | 10000 | Caché de chunks principales |
cache.enabled |
bool | false | Persistir caché de bytecode/typecheck compilado en disco |
cache.dir |
string | (directorio de caché del sistema) | Ruta del directorio de caché |
cache.mode |
string | read_write |
Modo de caché: read_write, read_only, write_only |
type_system.enabled |
bool | false | Habilitar verificación estática de tipos |
type_system.strict |
bool | false | Tratar advertencias de tipos como errores |
lua:
proto_cache_size: 60000
cache:
enabled: true
dir: .cache/lua
type_system:
enabled: true
Finder
Caché de búsqueda del registro. Usado internamente para búsquedas de entradas.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
query_cache_size |
int | 1000 | Resultados de consultas cacheados |
regex_cache_size |
int | 100 | Patrones regex compilados |
finder:
query_cache_size: 2000
OpenTelemetry
Trazado distribuido y exportación de métricas vía OTLP.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enabled |
bool | false | Habilitar OTEL |
endpoint |
string | localhost:4318 | Endpoint OTLP |
protocol |
string | http/protobuf | Protocolo: grpc, http/protobuf |
service_name |
string | wippy-runtime | Identificador de servicio |
service_version |
string | Etiqueta de versión del servicio | |
insecure |
bool | true | Permitir conexión OTLP en texto plano |
sample_rate |
float | 1.0 | Muestreo de trazas (0.0-1.0) |
propagators |
string[] | [tracecontext, baggage] |
Propagadores de contexto |
traces_enabled |
bool | true | Exportar trazas |
metrics_enabled |
bool | false | Exportar métricas |
http.enabled |
bool | true | Trazar solicitudes HTTP |
http.extract_headers |
bool | true | Extraer contexto de traza de cabeceras entrantes |
http.inject_headers |
bool | true | Inyectar contexto de traza en cabeceras salientes |
process.enabled |
bool | true | Trazar ciclo de vida de procesos |
process.trace_lifecycle |
bool | true | Emitir spans para spawn/terminate |
interceptor.enabled |
bool | true | Trazar llamadas de funciones |
interceptor.order |
int | 100 | Prioridad del interceptor |
queue.enabled |
bool | true | Trazar publicación/consumo de colas |
temporal.enabled |
bool | false | Trazar workflows de Temporal |
otel:
enabled: true
endpoint: "http://jaeger:4318"
traces_enabled: true
process:
trace_lifecycle: true
Las variables de entorno OTEL estándar (OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME, OTEL_TRACES_SAMPLER_ARG, OTEL_PROPAGATORS, OTEL_SDK_DISABLED) sobrescriben los campos correspondientes.
Shutdown
Comportamiento de apagado graceful.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
timeout |
duration | 30s | Espera máxima para que los componentes se detengan |
shutdown:
timeout: 60s
Métricas
Buffer de recolección de métricas internas.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
buffer.size |
int | 10000 | Capacidad del buffer de métricas |
interceptor.enabled |
bool | false | Auto-rastrear llamadas de funciones |
metrics:
buffer:
size: 20000
interceptor:
enabled: true
Ver: Módulo Metrics, Guía de Observabilidad
Prometheus
Endpoint de métricas Prometheus.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enabled |
bool | false | Iniciar servidor de métricas |
address |
string | localhost:9090 | Dirección de escucha |
prometheus:
enabled: true
address: "0.0.0.0:9090"
Expone endpoint /metrics para scraping de Prometheus.
Cluster
Clustering multi-nodo con descubrimiento por gossip.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enabled |
bool | false | Habilitar clustering |
name |
string | hostname | Identificador de nodo |
internode.bind_addr |
string | 0.0.0.0 | Dirección de bind inter-nodo |
internode.bind_port |
int | 0 | Puerto (0=auto 7950-7959) |
membership.bind_port |
int | 7946 | Puerto de gossip |
membership.join_addrs |
string | Nodos semilla (separados por coma) | |
membership.secret_key |
string | Clave de encriptación (base64) | |
membership.secret_file |
string | Ruta del archivo de clave | |
membership.advertise_addr |
string | Dirección pública 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 del Language Server Protocol para integraciones con editores.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enabled |
bool | false | Habilitar el servidor TCP |
address |
string | :7777 | Dirección de escucha TCP |
http_enabled |
bool | false | Habilitar el transporte HTTP |
http_address |
string | :7778 | Dirección de escucha HTTP |
http_path |
string | /lsp | Ruta del endpoint HTTP |
http_allow_origin |
string | * | Origen permitido por CORS |
max_message_bytes |
int | 8388608 | Tamaño máximo del mensaje entrante |
lsp:
enabled: true
address: ":7777"
http_enabled: true
Ver: Guía LSP
Servicio de Red
Gestor de redes overlay (drivers SOCKS5, I2P, Tailscale).
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
state_dir |
string | .wippy/net | Directorio de almacenamiento de estado del driver |
default_network |
string | ID de red por defecto aplicado cuando las entradas omiten network |
network_service:
state_dir: /var/lib/wippy/net
default_network: app:tailscale
Ver: Overlays de Red
Módulos
Cliente del registro de módulos usado por wippy install/update.
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
registry_url |
string | https://hub.wippy.ai | Endpoint del registro |
modules:
registry_url: https://internal-registry.example.com
Extensiones
Extensiones nativas de plugins Go cargadas al arrancar (solo Unix).
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
enabled |
bool | true | Cargar extensiones |
paths |
string[] | Rutas de archivos de plugins (relativas al directorio de configuración) |
extensions:
enabled: true
paths:
- ./extensions/myplugin.so
Variables de Entorno
| Variable | Descripción |
|---|---|
GOMEMLIMIT |
Límite de memoria (sobrescribe flag --memory-limit) |
Ver También
- Referencia CLI - Opciones de línea de comandos
- Tipos de Entrada - Todos los tipos de entrada
- Guía de Observabilidad - Logging, métricas, tracing