airbnb / hypernova

A service for server-side rendering your JavaScript views
MIT License
5.82k stars 207 forks source link

Export server components and allow listening on unix domain sockets #110

Closed schleyfox closed 6 years ago

schleyfox commented 6 years ago

Refactor hypernova server into subcomponents

The previous version is highly tied to a cluster-based coordinator/worker model with some custom lifecycle management. To allow experimentation with other process/configuration management, it is helpful to break up and export some of the components of the server configuration. This preserves the old interface, but allows an a la carte option.

Allow server.listen() arguments to be specified in configuration

Currently the configuration allows the host and port for the hypernova server to be specified. This change allows alternate listening arrangements to be made, such as Unix domain sockets. I like Unix domain sockets.

/cc @goatslacker @ljharb