~amolith/willow#44: 
Explore publishing data to pub/sub node

It might be interesting to look into exposing Willow's project data over pub/sub. When it fetches releases and notices that there are new ones, it could publish those versions and notes to a pub/sub node. Anyone subscribed to the project topic immediately sees the new releases.

I do like the idea of building all of Willow's features directly into the binary and not relying on external services. That would mean building XMPP-compatible pub/sub directly into Willow. It might also be good to allow Willow to run as a component in existing XMPP servers like ejabberd or Prosody. Willow could then be configured to publish releases through e.g. Prosody.

Status
REPORTED
Submitter
~amolith
Assigned to
No-one
Submitted
11 months ago
Updated
11 months ago
Labels
backend backlog enhancement frontend

~amolith 11 months ago*

Briefly discussing with someone who knows much more about XMPP and pub/sub than I indicates that building the functionality in directly would basically require a full XMPP server. I'd rather not reimplement all that inside Willow when perfectly suitable and simple options already exist (namely Prosody). Additionally, someone interested in using Willow through XMPP probably already has a server, and it makes more sense to just hook into that.

Building the feature as a server component or a client that publishes to an existing component is likely a better approach.

~amolith 11 months ago

Certwatch (also in Go) publishes notices over pub/sub and it's implemented as a Prosody component client. It does use Prosody-specific features, but avoiding those shouldn't be hard.

~amolith 11 months ago

Maybe look at detecting whether the component is Prosody, and if so, taking advantage of its extra features. Base functionality is just a XEP-0060 publish.

Register here or Log in to comment, or comment via email.