Open foundation · pre-release

The guarded
gateway.

Hoplite brings Hara to the edge—an application server built into Nginx, where immutable resources meet worker-local compiled handlers.

Hara nativeNginx embeddedEPL-2.0
I · THE PREMISE

The network boundary, made legible

Infrastructure should be strong enough to disappear.

Hoplite keeps the request path short and the operating model explicit. Applications are data. Handlers are resolved once. The host provides only the capabilities your code is allowed to use.

II · REQUEST PATH

From the edge
to your code.

One narrow route through the system, with each boundary visible and inspectable.

01 · ARRIVEHTTPRequest
02 · GUARDNginxHost
03 · TRANSLATEHTAValue
04 · RESOLVEHaraHandler
05 · RETURNHTAResponse

Each Nginx worker owns one Hoplite runtime and compiles route handlers once during startup.

III · CAPABILITIES

Small surface.
Strong boundary.

Designed for systems that value clarity at runtime and calm in production.

01

Immutable routing

Applications are declared as resource trees, making the server shape data you can inspect before it runs.

02

Async by design

Handlers can await host services without blocking the worker that carries the request.

03

Operationally direct

Check, build, serve, inspect, reload, and stop through one deliberately small command surface.

04

OpenAPI included

Route declarations become generated interface descriptions alongside the built application.

IV · APPLICATION AS DATA

Declare the route.
Keep the handler.

A Hoplite application selects one Hara Var. The resource tree describes the interface; calling the handler remains a runtime operation.

Read the architecture notes
example/app.halHAL
(ns example.app
  (:require [hoplite.core :as h]))

(defn hello [request]
  {:status 200
   :headers {"content-type" "text/plain"}
   :body "Hello from Hoplite\n"})

(def app
  (h/app
    {:name "example"
     :resources
     [["/hello"
       {:get {:handler #'hello}}]]}))

Begin at the source

Stand at the threshold.

Hoplite is pre-release and macOS-first. Linux is exercised in CI and Docker while the first packaged release is prepared.

git clone https://github.com/greenways-ai/hoplite.git