zed/crates/collab
Conrad Irwin f6c85b28d5
WIP: remoting (#10085)
Release Notes:

- Added private alpha support for remote development. Please reach out to hi@zed.dev if you'd like to be part of shaping this feature.
2024-04-11 15:36:35 -06:00
..
k8s Remove datadog (#10133) 2024-04-03 11:35:23 -06:00
migrations WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
migrations.sqlite WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
src WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
.env.toml WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
admin_api.conf
Cargo.toml WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
LICENSE-AGPL
README.md remoting (#9680) 2024-03-22 08:44:56 -06:00
seed.default.json

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.

Deployment

We run two instances of collab:

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 that is used for testing.