xin

Documentation

xin is an HTTP web server, reverse proxy, load balancer and Kubernetes Gateway controller, written in Rust. It reads the configuration format you already use.

In a hurry? Install, then point it at the config you already run — it reads the file and reports, changing nothing:

curl -fsSL https://xinproxy.com/install.sh | sh
xind -t -c /etc/nginx/nginx.conf

Guides

The one rule worth knowing first

A configuration directive has exactly three possible fates in xin, and there is no fourth:

  • It runs. xin reproduces the behaviour, including the surprising parts of it.
  • It runs, and the difference is stated. Where xin's behaviour is not identical, the difference is catalogued and reported at load, with the file and line.
  • It refuses to start. A directive xin cannot honour is a startup error naming the file, the line and the reason — never a silent no-op.

Nothing is accepted, ignored and left unmentioned. That is what makes xind -t against your production config a meaningful answer rather than an optimistic one.