Repository navigation
Home
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. |
| 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.