Skip to content

salvo-rs/gatel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Gatel

A high-performance, KDL-configured reverse proxy and web server built with Rust.

Gatel is a modern reverse proxy and web server inspired by Caddy, powered by Hyper and Tokio. It uses KDL as its configuration language, providing a clean and expressive way to define sites, routes, and middleware.

Features

  • KDL Configuration — Human-friendly config format with intuitive nesting
  • Reverse Proxy — Weighted load balancing, health checks, passive health monitoring, and automatic retries
  • TLS / ACME — Automatic HTTPS via ACME (Let's Encrypt), manual certificate support, and mTLS
  • HTTP/1.1, HTTP/2, HTTP/3 — Full protocol support including QUIC-based HTTP/3
  • Compression — Gzip, Zstd, and Brotli encoding
  • Static File Serving — Efficient file server with configurable root directories
  • Rate Limiting — Per-route request rate limiting
  • Stream Proxy — TCP/UDP stream proxying
  • Admin API — Runtime management endpoint

Quick Start

# Build
cargo build --release

# Run with a config file
gatel run --config gatel.kdl

Minimal Configuration

global {
    http ":8080"
}

site "localhost" {
    route "/*" {
        respond "Hello from Gatel!" status=200
    }
}

Reverse Proxy

global {
    http ":80"
}

site "example.com" {
    route "/api/*" {
        proxy {
            upstream "127.0.0.1:3001" weight=3
            upstream "127.0.0.1:3002" weight=1
            lb "weighted_round_robin"
            health-check uri="/health" interval="10s"
        }
    }
    route "/*" {
        root "/var/www/html"
        file-server
    }
}

Documentation

See the docs/en directory for full English documentation, or docs/zh for Chinese documentation.

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

About

A high-performance, KDL-configured reverse proxy and web server built with Rust

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors