Ruvoy is a Ruby application runtime inside Envoy. It loads an ordinary rackup into a CRuby VM embedded in a dynamic module and answers requests as a terminal HTTP filter, so a request reaches Rack as owned data rather than over a second HTTP connection to a separate application server. HTTP/1.1, HTTP/2, TLS, timeouts and the downstream connection lifecycle stay with Envoy. Scheduler-aware Ruby I/O overlaps on fibers; CPU-bound Ruby does not run in parallel, since the process holds one VM.
Required Ruby Version
>= 4.0.0
Authors
Zixin Zhou