JOJ0 / synadm

Command line admin tool for Synapse (the Matrix reference homeserver)
https://synadm.readthedocs.io
GNU General Public License v3.0
186 stars 25 forks source link

synadm support for Synapse over a Unix socket #151

Open JacksonChen666 opened 3 months ago

JacksonChen666 commented 3 months ago

Synapse supports listening over a Unix socket. The library synadm uses to make HTTP requests is requests (python) (pretty much the requests part of synadm), which doesn't appear to support Unix sockets (https://stackoverflow.com/questions/26964595/whats-the-correct-way-to-use-a-unix-domain-socket-in-requests-framework/#27268999), so synadm doesn't support Synapse installs which listen over a Unix socket.

Some things to consider when implementing: The configurator (ask for http or unix, or try to interpret via some unix:// thing instead (handling URIs doesn't seem fun)), how synadm deals with library switeroo (and adding a dependency (plus distributions packaging synadm (although that might be a problem for distributions and not necessarily us)))

JacksonChen666 commented 3 months ago

(Re: Feature/Core feature label: I'm not sure if this should be considered a core feature, and so just made it a normal feature label)

JacksonChen666 commented 2 months ago

Another thing to consider is workers (which handle specific points sometimes e.g. media), but I'm not sure how that should be handled.