Skip to content

stillinbeta/sibcom2

Repository files navigation

CircleCI

sibcom2

The second iteration of stillinbeta.com.

Built in Rust using Rocket.

Architecture

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.

Dynamic content

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.

Deployment

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.