Configuration Reference

Wippy is configured via .wippy.yaml files. All options have sensible defaults.

Log Manager

Controls runtime log routing. Console output is configured via CLI flags (-v, -c, -s).

Field Type Default Description
propagate_downstream bool true Send logs to console/file output
stream_to_events bool false Publish logs to event bus for programmatic access
min_level int -1 Minimum level: -1=debug, 0=info, 1=warn, 2=error
logmanager:
  propagate_downstream: true
  stream_to_events: false
  min_level: 0

See: Logger Module

Profiler

Go pprof HTTP server for CPU/memory profiling. Enable with -p flag or config.

Field Type Default Description
enabled bool false Start profiler server
address string localhost:6060 Listen address
read_timeout duration 15s HTTP read timeout
write_timeout duration 15s HTTP write timeout
idle_timeout duration 60s Keep-alive timeout
profiler:
  enabled: true
  address: "localhost:6060"

Access at http://localhost:6060/debug/pprof/

Security

Global security behavior. Individual policies are defined as security.policy entries.

Field Type Default Description
strict_mode bool false Deny access when security context is incomplete
security:
  strict_mode: true

See: Security System, Security Module

Registry

Entry storage and version history. The registry holds all configuration entries.

Field Type Default Description
enable_history bool true Track entry versions
history_type string memory Storage: memory, sqlite, nil
history_path string .wippy/registry.db SQLite file path
registry:
  history_type: sqlite
  history_path: /var/lib/wippy/registry.db

See: Registry Concept, Registry Module

Relay

Message routing between processes across nodes.

Field Type Default Description
node_name string local Identifier for this relay node
relay:
  node_name: worker-1

See: Process Model

Supervisor

Service lifecycle management. Controls how supervised entries start/stop.

Field Type Default Description
host.buffer_size int 1024 Message queue capacity
host.worker_count int NumCPU Concurrent workers
supervisor:
  host:
    buffer_size: 2048
    worker_count: 32

See: Supervision Guide

Functions

Function execution host. Runs function.lua entries.

Field Type Default Description
host.buffer_size int 1024 Task queue capacity
host.worker_count int NumCPU Concurrent workers
functions:
  host:
    buffer_size: 2048
    worker_count: 32

See: Functions Concept, Funcs Module

Lua Runtime

Lua VM caching and expression evaluation.

Field Type Default Description
proto_cache_size int 60000 Compiled prototype cache
main_cache_size int 10000 Main chunk cache
expr.cache_enabled bool true Cache compiled expressions
expr.capacity int 5000 Expression cache size
json.cache_enabled bool true Cache JSON schemas
json.capacity int 1000 JSON cache size
lua:
  proto_cache_size: 60000
  expr:
    cache_enabled: true
    capacity: 5000

See: Lua Overview

Finder

Registry search caching. Used internally for entry lookups.

Field Type Default Description
query_cache_size int 1000 Cached query results
regex_cache_size int 100 Compiled regex patterns
finder:
  query_cache_size: 2000

OpenTelemetry

Distributed tracing and metrics export via OTLP.

Field Type Default Description
enabled bool false Enable OTEL
endpoint string localhost:4318 OTLP endpoint
protocol string http/protobuf Protocol: grpc, http/protobuf
service_name string wippy Service identifier
sample_rate float 1.0 Trace sampling (0.0-1.0)
traces_enabled bool false Export traces
metrics_enabled bool false Export metrics
http.enabled bool true Trace HTTP requests
process.enabled bool true Trace process lifecycle
interceptor.enabled bool false Trace function calls
otel:
  enabled: true
  endpoint: "http://jaeger:4318"
  traces_enabled: true
  process:
    trace_lifecycle: true

See: Observability Guide

Shutdown

Graceful shutdown behavior.

Field Type Default Description
timeout duration 30s Max wait for components to stop
shutdown:
  timeout: 60s

Metrics

Internal metrics collection buffer.

Field Type Default Description
buffer.size int 10000 Metrics buffer capacity
interceptor.enabled bool false Auto-track function calls
metrics:
  buffer:
    size: 20000
  interceptor:
    enabled: true

See: Metrics Module, Observability Guide

Prometheus

Prometheus metrics endpoint.

Field Type Default Description
enabled bool false Start metrics server
address string localhost:9090 Listen address
prometheus:
  enabled: true
  address: "0.0.0.0:9090"

Exposes /metrics endpoint for Prometheus scraping.

See: Observability Guide

Cluster

Multi-node clustering with gossip discovery.

Field Type Default Description
enabled bool false Enable clustering
name string hostname Node identifier
internode.bind_addr string 0.0.0.0 Inter-node bind address
internode.bind_port int 0 Port (0=auto 7950-7959)
membership.bind_port int 7946 Gossip port
membership.join_addrs string Seed nodes (comma-separated)
membership.secret_key string Encryption key (base64)
membership.secret_file string Key file path
membership.advertise_addr string Public address for 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

See: Cluster Guide

Environment Variables

Variable Description
GOMEMLIMIT Memory limit (overrides --memory-limit flag)

See Also