The server behind this blog.
This blog has undergone a few re-writes over time as I experiment with different projects and technologies. It’s most recent iterations have been based around building a static website. Espresso was born out of the need to more easily deploy these static sites, particularly when running in a containerized environment.
Espresso was originally built using Haskell and the Warp server, however, it later underwent a re-write in Rust.
The Rust implementation has the following features:
- Declarative server configuration via TOML files and environment variables.
- Multi-threaded design using Tokio.
- Downloads site bundle from S3 or serves a local directory.
- Health check endpoint.
- Built-in fallback error pages.
- Kubernetes Helm chart.
- Bundler utility for uploading bundles S3.