Skip to content
stillinbeta.com (the second version)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
assets
bmon
generator
minify
server
updater
.gitignore
Cargo.lock
Cargo.toml
Dockerfile
LICENSE
Makefile
README.md
site.yaml

README.md

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 kubernetes cluster. Flux watches for new docker images, and then automatically commits changes to the manifest.

Push to deploy takes about 10 minutes.

You can’t perform that action at this time.