2.2 KiB
Developing Zed's Backend
Zed's backend consists of the following components:
- The Zed.dev web site
- The Zed Collaboration server
- implemented in the
crates/collab
directory of the mainzed
repository - hosted on DigitalOcean, using Kubernetes
- implemented in the
- The Zed Postgres database
- defined via migrations in the
crates/collab/migrations
directory - hosted on DigitalOcean
- defined via migrations in the
Local Development
Here's some things you need to develop backend code locally.
Dependencies
- Postgres - download Postgres.app.
Setup
-
Check out the
zed
andzed.dev
repositories into a common parent directory -
Set the
GITHUB_TOKEN
environment variable to one of your GitHub personal access tokens (PATs).-
You can create a PAT here.
-
You may want to add something like this to your
~/.zshrc
:export GITHUB_TOKEN=<the personal access token>
-
-
In the
zed.dev
directory, runnpm install
to install dependencies. -
In the
zed directory
, runscript/bootstrap
to set up the database -
In the
zed directory
, runforeman start
to start both servers
Production Debugging
Datadog
Zed uses Datadog to collect metrics and logs from backend services. The Zed organization lives within Datadog's US5 site, so it can be accessed at us5.datadoghq.com. Useful things to look at in Datadog:
- The Logs page shows logs from Zed.dev and the Collab server, and the internals of Zed's Kubernetes cluster.
- The collab metrics dashboard shows metrics about the running collab server