Monorepo for Tangled โ€” https://tangled.org

[Feature] Make Knot PLC Directories configurable #268

closed
opened by shailpatels.me

Currently when looking up a DID, the knot server defaults to https://plc.directory, it appears this is coming from this dependency https://github.com/bluesky-social/indigo/blob/main/atproto/identity/directory.go#L62

As a result when performing DID resolution all requests are only sent that directory, it would be nice if there was a way for a knot to be configured to use an alternative PLC or a mirror.

Additional information My specific use case for this is https://plc.directory does not have a AAAA record for ipv6 networking

shail@debian13:~/tangled/tangled/core$ curl -6 https://plc.directory/did:plc:fjoxhdnj2kep6llsvhtxqrk3
curl: (6) Could not resolve host: plc.directory

and from journalctl -u knotserver

Oct 02 23:57:37 debian-2gb-ash-1 knot[16017]: time=2025-10-02T23:57:37.813Z level=ERROR msg="signature verification failed" command=knot url=/xrpc/sh.tangled.repo.create err="token is unverifiable: error while executing keyfunc: token has invalid issuer: resolving DID (did:plc:fjoxhdnj2kep6llsvhtxqrk3): DID resolution failed: PLC directory lookup: Get \"https://plc.directory/did:plc:fjoxhdnj2kep6llsvhtxqrk3\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Labels
duplicate
area

None yet.

assignee

None yet.

Participants 2
AT URI
at://did:plc:fjoxhdnj2kep6llsvhtxqrk3/sh.tangled.repo.issue/3m36wkeukwf22