Janderland/fenv: FoundationDB development environment

New dev tool promises plug‑and‑play FoundationDB, crowd cheers and shrugs

TLDR: fenv promises an easy, same‑everywhere setup for FoundationDB, auto‑starting the database and caching builds for smoother testing. Commenters split between praising a fix for local pain and saying a simple docker‑compose file is enough, while some plan real app migrations—making this a practical win worth watching.

FoundationDB (FDB)—the famously powerful but notoriously fussy database—just got a new helper: fenv, a script-and-container setup that makes FDB behave the same on your laptop and in GitHub Actions. Think of it as a build-and-test bubble: it spins up FDB automatically, keeps caches warm so you don’t re-download everything, and lets you extend the environment with your own tools. CI (continuous integration) folks are nodding along: fewer flaky builds, less “works on my machine” drama.

The reaction? A delightful split-screen. One camp is practically high‑fiving: “FDB is painful locally, this might save weekends.” Another camp rolls in with the classic minimalist flex: “I just use docker‑compose.” That’s the vibe from jcalabro’s example, which boils it down to: why a whole framework when a simple file works? Meanwhile, big‑app builders are already planning migrations—jwr says this might be the nudge to finally move a complex app to FDB.

Author janderland pops in with a friendly guide and backstory, turning the thread into an impromptu FDB support group. The strongest opinions circle around convenience vs. simplicity: do you want a batteries‑included tool with caching and namespaced images, or do you prefer the DIY route? The jokes write themselves: “FDB setup therapy”, “YAML vs. one‑liner wars”, and the eternal dev meme—“If it works locally, it’ll break in CI.”

Key Points

  • fenv provides a Docker-based CI framework for projects using FoundationDB, working identically locally and in GitHub Actions.
  • It includes a base container with the FoundationDB client, auto-starts an FDB container for integration tests, and configures the cluster file.
  • The framework supports caching (Docker images and a persistent /cache directory) to speed CI runs and store build/test caches.
  • Users can extend the base image via a Dockerfile using the FENV_DOCKER_TAG and benefit from automatic image namespacing per project.
  • Setup involves adding fenv as a Git submodule, using fenv.sh locally, selecting FDB versions via FENV_FDB_VER, and a GitHub Action that sets up Buildx and caching.

Hottest takes

“Fdb is a pain to work with locally” — tptacek
“I just run it in docker compose” — jcalabro
“dust off the task of migrating my app to FoundationDB” — jwr
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.