mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-07 02:57:34 +00:00
cb4f868815
This PR provides some of the plumbing needed for a "remote" zed instance. The way this will work is: * From zed on your laptop you'll be able to manage a set of dev servers, each of which is identified by a token. * You'll run `zed --dev-server-token XXXX` to boot a remotable dev server. * From the zed on your laptop you'll be able to open directories and work on the projects on the remote server (exactly like collaboration works today). For now all this PR does is provide the ability for a zed instance to sign in using a "dev server token". The next steps will be: * Adding support to the collaboration protocol to instruct a dev server to "open" a directory and share it into a channel. * Adding UI to manage these servers and tokens (manually for now) Related #5347 Release Notes: - N/A --------- Co-authored-by: Nathan <nathan@zed.dev>
37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Zed Server
|
|
|
|
This crate is what we run at https://collab.zed.dev.
|
|
|
|
It contains our back-end logic for collaboration, to which we connect from the Zed client via a websocket after authenticating via https://zed.dev, which is a separate repo running on Vercel.
|
|
|
|
# Local Development
|
|
|
|
Detailed instructions on getting started are [here](https://zed.dev/docs/local-collaboration).
|
|
|
|
# Deployment
|
|
|
|
We run two instances of collab:
|
|
|
|
- Staging (https://staging-collab.zed.dev)
|
|
- Production (https://collab.zed.dev)
|
|
|
|
Both of these run on the Kubernetes cluster hosted in Digital Ocean.
|
|
|
|
Deployment is triggered by pushing to the `collab-staging` (or `collab-production`) tag in Github. The best way to do this is:
|
|
|
|
- `./script/deploy-collab staging`
|
|
- `./script/deploy-collab production`
|
|
|
|
You can tell what is currently deployed with `./script/what-is-deployed`.
|
|
|
|
# Database Migrations
|
|
|
|
To create a new migration:
|
|
|
|
```
|
|
./script/create-migration <name>
|
|
```
|
|
|
|
Migrations are run automatically on service start, so run `foreman start` again. The service will crash if the migrations fail.
|
|
|
|
When you create a new migration, you also need to update the [SQLite schema](./migrations.sqlite/20221109000000_test_schema.sql) that is used for testing.
|