floodgate@localhost:/docs/development
File: floodgate.info,Node: Development,Next: (dir),Prev: HTTP Surface,Up: docs

Development

build, test, format, run
  • just build — or: gleam build --target erlang
  • just test — or: gleam test
  • just format
  • just run
conformance suites

These live in the Levee repository's client workspace and run against a live server:

  • just test-floodgate-dual-mode — both wire protocols, one process
  • just test-levee-suite-vs-floodgate — Levee's own suites, repointed at Floodgate

test-levee-suite-vs-floodgate runs Levee's unmodified integration suites (levee-driver, levee-client, levee-example) against a containerised Floodgate, repointed only via LEVEE_HTTP_URL/LEVEE_SOCKET_URL/LEVEE_TENANT_KEY. Nothing in those suites is Floodgate-aware, so a failure there is a real behavioral difference between the servers.

architecture

Floodgate composes several sibling libraries rather than implementing the protocol itself — see architecture for the process tree and what each one owns.