Mirror from bluesky-social/pds

added guidelines, minor improvements

+46 -33
+46 -33
SANDBOX.md
··· 1 - # Sandbox Guide 1 + # Bluesky Developer Sandbox Guide 2 2 3 - Welcome to the atproto federation sandbox! 3 + Welcome to the atproto federation developer sandbox! 4 4 5 5 This is a completely separate network from our production services that allows us to test out the federation architecture and wire protocol. 6 6 7 - **🐉 Beware of dragons!** 7 + The federation sandbox environment is an area set up for exploration and testing of the technical components of the AT Protocol distributed social network. It is intended for developers and self-hosters to test out data availability in a federated environment. 8 8 9 - This hasn’t been production tested yet. It seems to work pretty well, but who knows what’s lurking under the surface. Have patience with us as we prep for federation. 9 + To maintain a positive and productive developer experience, we've established a Code of Conduct that outlines our expectations and guidelines. This sandbox environment is initially meant to test the technical components of federation. 10 10 11 - On that note, please give us feedback either in [Issues](https://github.com/bluesky-social/atproto/issues) (actual bugs) or [Discussions](https://github.com/bluesky-social/atproto/discussions) (higher-level questions/discussions) on the [atproto repo](https://github.com/bluesky-social/atproto). 11 + Given that this is a testing environment, we will be defederating from any instances that do not abide by these guidelines, or that cause unnecessary trouble, and will not be providing specific justifications for these decisions. 12 + 13 + # AT Protocol Sandbox Environment Guidelines 14 + 15 + Using the sandbox environment means you agree to adhere to our Guidelines. Please read the following carefully: 16 + 17 + ## Post responsibly 18 + 19 + The sandbox environment is intended to test infrastructure, but user content may be created as part of this testing process. Content generation can be automated or manual, but it should adhere to the Bluesky Community Guidelines (link) 20 + 21 + Do not post content that requires active moderation or violates the [Bluesky Community Guidelines](https://blueskyweb.xyz/support/community-guidelines) 22 + 23 + ## Keep the emphasis on testing 24 + 25 + We’re striving to maintain a sandbox environment that fosters learning and technical growth. We will defederate with instances that recruit users without making it clear that this is a test environment. 26 + 27 + ## Do limit account creation 28 + 29 + We don't want any one server using a majority of the resources in the sandbox. To keep things balanced, to start, we’re only federating with Personal Data Servers (PDS) with up to 1000 accounts. However, we may change this if needed. 30 + 31 + ## Don’t expect persistence or uptime 32 + 33 + We will routinely be wiping the data on our infrastructure. This is intended to reset the network state and to test sync protocols. Accounts and content should not be mirrored or migrated between the sandbox and real-world environments. 34 + 35 + ## Don't advertise your service as being "Bluesky" 36 + 37 + This is a developer sandbox and is meant for technical users. Do not promote your service as being a way for non-technical users to use Bluesky. 38 + 39 + ## Other 40 + 41 + * Do not mirror sandbox did:plcs to production 12 42 13 - ### Sandbox Rules 43 + ## 🐉 Beware of dragons! 14 44 15 - Please checkout the [Sandbox Rules](LINK_ME) before we get started. The gist is: this network is meant to test the technical underpinnings of federation. If you turn up technical problems for us, then you’re doing a great job. If you cause problems for us otherwise, we will defederate from you and will not give an explanation. 45 + This hasn’t been production tested yet. It seems to work pretty well, but who knows what’s lurking under the surface. Have patience with us as we prep for federation. 16 46 17 - Do not: 47 + On that note, please give us feedback either in [Issues](https://github.com/bluesky-social/atproto/issues) (actual bugs) or [Discussions](https://github.com/bluesky-social/atproto/discussions) (higher-level questions/discussions) on the [atproto repo](https://github.com/bluesky-social/atproto). 18 48 19 - - post content that requires active moderation or violates the [Bluesky Community Guidelines](https://blueskyweb.xyz/support/community-guidelines) 20 - - advertise your service as being “Bluesky” or “production atproto network” - this is a sandbox and is meant for technical users 21 - - create a service with more than 1000 accounts on it 22 - - mirror sandbox did:plcs to production 23 49 24 50 ### Routine wipes 25 51 ··· 29 55 30 56 When we wipe data, we will be wiping it on all services (BGS, App View, PLC). We will also mark any existing DIDs as “invalid” & will refuse to index those accounts in the next epoch of the network to discourage users from attempting to “rollover” their accounts across wipes. 31 57 32 - # The Sandbox Network 58 + # Learn more about atproto federation 33 59 34 - This is a parallel network to production Bluesky where we can test out the federation architecture and wire protocol. 35 - 36 - You can check out a high-level view of federation [here](https://blueskyweb.xyz/blog/5-5-2023-federation-architecture). 60 + Check out the [high-level view of federation](https://blueskyweb.xyz/blog/5-5-2023-federation-architecture). 37 61 38 - You can dive deeper into atproto [here](https://atproto.com/docs). 62 + Dive deeper with the [atproto docs](https://atproto.com/docs). 39 63 40 64 ## Network Services 41 65 42 - We are running three services: PLC, BGS, Bluesky App View 66 + We are running three services: PLC, BGS, Bluesky "App View" 43 67 44 68 ### PLC 45 69 ··· 75 99 76 100 # The PDS 77 101 78 - The PDS (personal data server) is where users host their social data such as posts, profiles, likes, and follows. The goal of the sandbox is to federate many PDS together, so we hope you’ll run your own. 102 + The PDS (Personal Data Server) is where users host their social data such as posts, profiles, likes, and follows. The goal of the sandbox is to federate many PDS together, so we hope you’ll run your own. 79 103 80 104 We’re not actually running a Bluesky PDS in sandbox. All of the team’s sandbox accounts are self-hosted. 81 105 ··· 83 107 84 108 ### Getting started 85 109 86 - For complete instructions on getting your PDS set up, check out the [README](https://github.com/bluesky-social/pds/blob/main/README.md). 110 + For complete instructions on getting your PDS set up, check out the [README](./README.md). 87 111 88 - To access your account, you’ll log in with the client of your choice in the exact same way that you log into production Bluesky, for instance the [Bluesky web client](https://bsky.app/). When you do so, please provide the url of *your PDS* as the service that you wish to log in to. 89 - 90 - Invites on your PDS are required by default - to generate your first invite code, please run: 91 - 92 - ```bash 93 - # PDS_HOSTNAME & PDS_ADMIN_PASSWORD both come from your pds.env file 94 - 95 - curl -X POST https://<PDS_HOSTNAME>/xrpc/com.atproto.server.createInviteCode \ 96 - -u "admin:<PDS_ADMIN_PASSWORD>" \ 97 - -H "Content-Type: application/json" \ 98 - -d '{"useCount": 1}' 99 - ``` 112 + To access your account, you’ll log in with the client of your choice in the exact same way that you log into production Bluesky, for instance the [Bluesky web client](https://app.bsky-sandbox.dev/). When you do so, please provide the url of *your PDS* as the service that you wish to log in to. 100 113 101 114 ### Auto-updates 102 115 ··· 122 135 123 136 📣 This is a sandbox version of a **public broadcast protocol** - please do not share sensitive information. 124 137 125 - 🤝 Help each other out! Respond to issues & discussions, chat in Matrix/Discord, etc. 138 + 🤝 Help each other out! Respond to issues & discussions, chat in Matrix/Discord, etc.