The second iteration of stillinbeta.com.
site.yaml
is parsed and validated at compile time.
The generator
crate parses the yaml, and the bmon
crate serializes it back to a Rust AST.
The bmon
crate also has the handler that turns that AST into HTML or JSON.
The server
crate only serves the handler.
Most of the content is static, parsed directly from site.yaml
.
The latest
section of /hello
is the only dynamic content.
It's pulled from a redis
instance, one key per service.
The redis instance is populated by the updater
crate.
All commits are built and validated by CircleCI. Commits to master are then built as docker images and pushed to docker hub.
The site is deployed to my digital ocean droplet. I configure it with ansible.
Push to deploy takes about 10 minutes.