Bloom – HTTP REST API caching middleware

Bloom is a REST API caching middleware, acting as a reverse proxy between your load balancers and your REST API workers.
It is completely agnostic of your API implementation, and requires minimal changes to your existing API code to work.
Bloom relies on redis, configured as a cache to store cached data. It is built in Rust and focuses on stability, performance and low resource usage.

Getting peaclock to build on Ubuntu 18.04

Peaclock uses C++17, this requires us to go through some hoops.

sudo apt install clang-7 llvm-7-dev
git clone
cd peaclock
export CC=/usr/bin/clang-7
export CXX=/usr/bin/clang++-7
find . -type f -exec sed -i -e \ 
's#std::filesystem#std::experimental::filesystem#g' {} \;
find . -type f -exec sed -i -e  \
's#<filesystem>#<experimental/filesystem>#g' {} \;
find . -type f -exec sed -i -e \
's/lexically_normal().//g' {} \; # HACK!

Orange Pi 3

I recently ordered an Orange Pi 3.

Why an OPi3 rather than a Raspberry Pi? Because:

  • Onboard storage (eMMC is faster & more reliable than an SD card)
  • Faster GBit networking
  • USB3

However it is obviously less mainstream. I bought it from AliExpress with a case (& fan / heatsinks) & a PSU (although it can be powered up with a decent USB cable / supply). You’ll also need a micro SD card to install different OSes.

I wanted to run console / server Linux & the images supplied by OrangePi aren’t up to much so I’m using an early Armbian image. Follow this thread for more details and builds are available here.

So far I’m very impressed, it boots very quickly and seems stable. Only used wired networking so far.

Using pfsense / OpenVPN client access and can’t reach your internal LAN?

Remember to create a route from your internal LAN machines to your pfsense / OpenVPN network.

ie if internal lan is, pfsense is on & your OpenVPN client lan is, you’d want something like

route add -net gw