Previously on Journey to a distributed PDS, I discovered that when one node generates the DPoP nonce that a client uses as part of a request and another node then receives that as part of a request to validate, it would fail because node one would have generated it differently than node 2. This was due to Cocoon using an incremental counter on a timer which would get used to generate and then validate a nonce. Each node would have a different counter and so they would both calculate different values.
It's been a while since my last update, or even any progress, on the distributed PDS. I started looking into it again last week though and have hit quite the show stopper... OAuth 🫠
In my last post I detailed the reasons for why I wanted to achieve a distributed PDS, or at least explore if it was possible. I also explained how I managed to achieve getting the database part of the PDS to be held on a server other than the PDS and then managed to run 2 PDS instances side by side, semi successfully.
Hopefully this is part 1 of many posts, describing my progress into running a PDS across many nodes or devices.
... without having NixOS running on your machine (kinda)
In my previous pub I went over the process I went through to set up my own Tangled Knot and the problems I faced. One of those problems stemmed from the fact that I was using my PDS server to host my Knot, but since I didn't use a subdomain for my PDS I had some issues with Caddy redirecting properly.
My journey to hosting my code on a Tangled Knot and the problems I hit