Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scale ATProto handle resolution #744

Open
snarfed opened this issue Dec 7, 2023 · 11 comments
Open

Scale ATProto handle resolution #744

snarfed opened this issue Dec 7, 2023 · 11 comments
Labels

Comments

@snarfed
Copy link
Owner

snarfed commented Dec 7, 2023

We need to serve ATProto handle resolution for all users bridged into ATProto (background: #381). They support both DNS and HTTPS methods, but our ATProto handles are multi-level, eg @user@mastodon.social becomes user.mastodon.social.ap.brid.gy, and you can't make multi-level wildcard SSL certs, so HTTPS won't work, so DNS it is.

We're currently using Google Cloud DNS. It serves the entire brid.gy DNS zone, and we create _atproto records for handle resolution manually. The catch is that GCP DNS has a hard limit of 10k records per zone, which we'll likely outgrow. Grr.

We could make a zone per sub-subdomain, eg per fediverse instance, so mastodon.social.ap.brid.gy would become its own zone, but GCP DNS also has a hard limit of 10k zones total.

So, we eventually need to switch to a different programmatic DNS service or run our own DNS server. Whee.

@snarfed snarfed changed the title Scale ATProto handle resolution (whether DNS or HTTPS) Scale ATProto handle resolution Dec 7, 2023
@snarfed
Copy link
Owner Author

snarfed commented Dec 26, 2023

Upcoming option: https://dns.kitchen/ , all you can eat zones/records, $5/mo.

@snarfed
Copy link
Owner Author

snarfed commented Feb 10, 2024

@neatnik mentioned https://desec.io/ too.

@snarfed
Copy link
Owner Author

snarfed commented Feb 11, 2024

@snarfed
Copy link
Owner Author

snarfed commented Feb 12, 2024

Maybe obsoleted by #830 🤞

@snarfed
Copy link
Owner Author

snarfed commented Apr 9, 2024

...nope, turns out #830 probably won't work after all, so this issue definitely still applies.

@snarfed
Copy link
Owner Author

snarfed commented Apr 16, 2024

The 10k limit in Google Cloud DNS is a quota, rrsetsPerManagedZone, that I can request an increase for. May try that.

@snarfed
Copy link
Owner Author

snarfed commented May 5, 2024

Tried requesting a quota bump. 🤞

@snarfed
Copy link
Owner Author

snarfed commented May 5, 2024

In unrelated very good news, @bnewbold built us a whole new microservice to solve this! bluesky-social/atproto#1697 (comment) . Extremely generous of him. Thank you Bryan!!!

@snarfed
Copy link
Owner Author

snarfed commented May 7, 2024

More good news, I asked for a GCP DNS quota bump to 50k and got it. Woo!

@snarfed snarfed removed the now label May 9, 2024
@snarfed snarfed added now infra and removed now labels May 19, 2024
@snarfed
Copy link
Owner Author

snarfed commented Jul 26, 2024

We're currently at 6500 DNS records, with the limit still at 50k. We'll (hopefully) still need to figure this out eventually, but it seems like we have plenty of time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant