In order to make Aquameta easier to distribute (see also #208) it would improve things greatly if the endpoint server could be boiled down to a single binary that has no dependencies and could be compiled for All The Platforms. Right now, the endpoint server is a werkzeug+uwsgi WSGI application. Werkzeug handles regular http traffic and uwsgi handles WebSocket traffic through the python uwsgi module. We want to get off this train anyway, because WSGI doesn't support http/2 multiplexing, which we really need.
Rebuild the endpoint server in Go, and distribute a nice zero-dep binary.
This daemon could also become the place where other non-data stuff happens, like sending emails and accessing the filesystem. If the daemon handled those two things, we could drop both the email extension and the filesystem extension from the system, which are the two extensions that have more complex dependencies outside the database. As such, Aquameta would just be a) PostgreSQL, b) the Aquameta core PostgreSQL extensions, c) this daemon.
In order to make Aquameta easier to distribute (see also #208) it would improve things greatly if the endpoint server could be boiled down to a single binary that has no dependencies and could be compiled for All The Platforms. Right now, the endpoint server is a werkzeug+uwsgi WSGI application. Werkzeug handles regular http traffic and uwsgi handles WebSocket traffic through the python uwsgi module. We want to get off this train anyway, because WSGI doesn't support http/2 multiplexing, which we really need.
Rebuild the endpoint server in Go, and distribute a nice zero-dep binary.
This daemon could also become the place where other non-data stuff happens, like sending emails and accessing the filesystem. If the daemon handled those two things, we could drop both the
email
extension and thefilesystem
extension from the system, which are the two extensions that have more complex dependencies outside the database. As such, Aquameta would just be a) PostgreSQL, b) the Aquameta core PostgreSQL extensions, c) this daemon.