made using Leaflet

PDS gatekeeper's PDS admin idea

Pardon me if I over explain, but I want to make sure to give a lot of base context for anyone reading this


pdsadmin is currently the default way for admins to administer their PDS. Which they are just bash scripts that read the PDS_ADMIN_PASSWORD env variable which is a password for the /xrpc/com.atproto.admin.* endpoints like this one


My idea is that since PDS gatekeeper is already a service many are installing could host a UI that gives a nice interface for admins to interact with those endpoints. Send admin emails, add users, delete, users, etc, etc. Currently those endpoints are protected by the admin password, so it's a bit of that's the keys to kingdom. While also it's just http endpoints you call to admin the PDS. So the thought is you have an oauth/atproto authenticated client app that sends requests to the /xrpc/com.atproto.admin.* endpoints with a serviceAuth token. PDS gatekeeper does the usual song and dance to check that the token is valid and they are who they say they are. Then checks a list of allowed PDS admins. If they are allowed it then reads the env variable and proxies the web request to the admin endpoint.


The idea is:

A nice UI PDS admins can access anywhere. Like if they're out and need to ban someone, can hop on their phone and take care of it easily.

I also think the sendEmail is a big one to have so admins can send email notices about updates, maintenance, etc

Protects the "keys to the kingdom" admin password since it is never taken off of the server

Allows more than one admin for larger servers

made using Leaflet