Source code
A Cargo workspace of five crates, one of which is the load balancer and the rest of which exist to serve it. Released under a BSD 2-clause licence.
The repository
gitlab.hacking.hu/szabolcs/sslb3
shell
git clone https://gitlab.hacking.hu/szabolcs/sslb3.git cd sslb3 cargo build --release
How the workspace is laid out
The layering is worth knowing when reading any of it: the engine is complete on its own and is configured by a file. The ingress controller is a layer over it, never a dependency of it, and the netlink helper is an optional accelerator with a complete fallback. Nothing in the engine knows Kubernetes exists.
Documentation in the repository
Longer-form reasoning lives next to the code rather than only here:
etc/sslb-sample.conf is the reference for every setting, with the reasoning beside each one. It is a more reliable source than any page here.
Contributing
Issues and pull requests are welcome. Two things make a change easy for me to accept:
shell
cargo test --workspace cargo clippy --workspace --all-targets -- -D warnings cargo fmt --all
My house style, if it helps: comments explain why, not what. A comment that restates the line above it is noise, and a decision with a real trade-off in it deserves a sentence about what the alternative was and why it lost. Several of the subtler parts of this codebase are commented that way because I got them wrong the first time.
Licence
BSD 2-clause. Use it, ship it, fork it — keep the notice. The full text.