Skip to content
xuckless edited this page Oct 25, 2026 · 21 revisions

Anole is a Zig server library: REST, WebSockets, gRPC, HTTP/3 and WebTransport from one core, with TLS, auth, database connectors and observability built in.

Start with Getting Started, then read the guide for what you are building.

Guide What it covers
Getting Started Install Zig, add Anole, write and run a first app.
Routing Routes, parameters, middleware, requests and responses, errors.
Validation Field rules, req.bind and 422 problem+json answers, typed handler inputs.
Server Listeners, TLS, HTTP/2 and HTTP/3, limits, timeouts, drain and restarts.
Config Typed settings, .env files, environment and deployment modes, trusted proxies.
WebSocket WebSocket over HTTP/1.1, HTTP/2 and HTTP/3; the loop and callback APIs.
WebTransport WebTransport sessions, streams and datagrams over HTTP/3.
gRPC gRPC services, gRPC-Web, Connect and JSON transcoding.
Clients Outbound HTTP/1.1, HTTP/2, HTTP/3 and gRPC from a handler.
Database PostgreSQL, SQLite, MongoDB and Redis, and the opt-in caches.
Messaging Message brokers: NATS (publish, request/reply, handlers, JetStream) and Kafka.
Storage Object storage: the S3 client for AWS S3, R2, MinIO, B2 and Supabase Storage.
Email Sending mail over SMTP: STARTTLS or TLS, HTML, attachments, a pool per core.
Realtime Server-sent events with topics and replay, and anole.watch for database changes.
Jobs Background jobs: queues, retries and backoff, delays, workers, durable stores.
Cron Cron schedules on the job queue: one job per tick across instances, time zones.
Webhooks Webhooks out (signed, retried) and in (verification presets for Stripe, GitHub, Slack).
Net Raw TCP and UDP servers on Anole's runtime and listeners, with TLS and the PROXY protocol.
Resilience Retries, retry throttling and circuit breakers for clients, databases and brokers.
Auth JWT, OIDC sign-in, sessions, CSRF, API keys, roles and rate limits.
Observability Access logs, Prometheus metrics, OpenTelemetry tracing, health checks.
Logging JSON Lines and text logs, request logs, redaction.
Console The live console: anole console, c + Enter in development, commands, the control socket.
Testing anole.testing: an in-memory client for routes and middleware.
OpenAPI OpenAPI 3.1 documents from typed routes, validator rules and gRPC services; /docs and zig build openapi.
Templates The anole command line: anole new and anole init, the project templates.
Lambda The same app as an AWS Lambda function: deployment = .lambda and zig build lambda.
From Fiber Fiber's API next to Anole's.
Migrating What changes between releases and how to update an app.
C ABI The C ABI that Node, Python and other languages build on.

Also in the repository: the README (features, build flags), CHANGELOG.md, SECURITY.md and the examples.

These pages are copied from docs/ in the repository (commit ddac47c). To change one, edit the file in docs/ and open a pull request; edits made here are overwritten.

Clone this wiki locally