hugo + GHA = POSSE

well, let’s see how this goes

i got a burr up my ass and decided to poke at this whole POSSE thing. given that pretty much all of this site is driven out of github, using github actions (even with all of their flaws) seemed like the right move. having things generated out of hugo with actual serving/hosting via cloudflare has some fun little quirks in the operational flow.

operational overview

bin/posse.py is a standalone script that will do the needful with the associated POSSE destinations (currently mastodon and bluesky). there’s a small bit of GHA environment chicanery associated with creating the necessary linkages to the targets. nothing out of the ordinary there.

this all gets triggered via a GHA action against the hugo publication branch and action. GHA itself does a little bit of waiting to make sure that the posts actually exist on the internet writ large. (i.e., they got through the cloudflare pipeline) then parses the posts and publishes to the destinations. munging the contents as appropriate.

there’s a little bit of nuance in the rate limiting and the handling of link/posting storms as well as state management across what are inherently stateless GHA runs. more details should probably be provided here, but honestly. this is more of a test post.