It was designed to be embedded, has a very small footprint, is relatively fast ( we use luajit ), and has few opinions as a language. That said, there is nothing locking us in to lua permanently as we would just need to implement a small-ish set of language bindings and docker configs to execute the language du jour.