Merge pull request #785 from zed-industries/collab-renames

Nathan Sobo created

Rename zed-server to collab

Change summary

.gitignore                                                                |   4 
Cargo.lock                                                                | 108 
Dockerfile                                                                |  14 
Dockerfile.migrator                                                       |   2 
Procfile                                                                  |   2 
README.md                                                                 |   2 
crates/collab/.env.template.toml                                          |   0 
crates/collab/Cargo.toml                                                  |   6 
crates/collab/Procfile                                                    |   2 
crates/collab/README.md                                                   |   0 
crates/collab/basic.conf                                                  |   0 
crates/collab/favicon.ico                                                 |   0 
crates/collab/k8s/environments/production.sh                              |   0 
crates/collab/k8s/environments/staging.sh                                 |   0 
crates/collab/k8s/manifest.template.yml                                   |  14 
crates/collab/k8s/migrate.template.yml                                    |   0 
crates/collab/migrations/20210527024318_initial_schema.sql                |   0 
crates/collab/migrations/20210607190313_create_access_tokens.sql          |   0 
crates/collab/migrations/20210805175147_create_chat_tables.sql            |   0 
crates/collab/migrations/20210916123647_add_nonce_to_channel_messages.sql |   0 
crates/collab/migrations/20210920192001_add_interests_to_signups.sql      |   0 
crates/collab/src/admin.rs                                                |   0 
crates/collab/src/api.rs                                                  |   0 
crates/collab/src/assets.rs                                               |   0 
crates/collab/src/auth.rs                                                 |   0 
crates/collab/src/bin/dotenv.rs                                           |   0 
crates/collab/src/bin/seed.rs                                             |   0 
crates/collab/src/careers.rs                                              |   0 
crates/collab/src/community.rs                                            |   0 
crates/collab/src/db.rs                                                   |   0 
crates/collab/src/env.rs                                                  |   0 
crates/collab/src/errors.rs                                               |   0 
crates/collab/src/expiring.rs                                             |   0 
crates/collab/src/github.rs                                               |   0 
crates/collab/src/home.rs                                                 |   0 
crates/collab/src/main.rs                                                 |   0 
crates/collab/src/releases.rs                                             |   0 
crates/collab/src/rpc.rs                                                  |   0 
crates/collab/src/rpc/store.rs                                            |   0 
crates/collab/src/team.rs                                                 |   0 
crates/collab/static/browserconfig.xml                                    |   0 
crates/collab/static/fonts/VisbyCF-Bold.eot                               |   0 
crates/collab/static/fonts/VisbyCF-Bold.woff                              |   0 
crates/collab/static/fonts/VisbyCF-Bold.woff2                             |   0 
crates/collab/static/fonts/VisbyCF-BoldOblique.eot                        |   0 
crates/collab/static/fonts/VisbyCF-BoldOblique.woff                       |   0 
crates/collab/static/fonts/VisbyCF-BoldOblique.woff2                      |   0 
crates/collab/static/fonts/VisbyCF-DemiBold.eot                           |   0 
crates/collab/static/fonts/VisbyCF-DemiBold.woff                          |   0 
crates/collab/static/fonts/VisbyCF-DemiBold.woff2                         |   0 
crates/collab/static/fonts/VisbyCF-DemiBoldOblique.eot                    |   0 
crates/collab/static/fonts/VisbyCF-DemiBoldOblique.woff                   |   0 
crates/collab/static/fonts/VisbyCF-DemiBoldOblique.woff2                  |   0 
crates/collab/static/fonts/VisbyCF-ExtraBold.eot                          |   0 
crates/collab/static/fonts/VisbyCF-ExtraBold.woff                         |   0 
crates/collab/static/fonts/VisbyCF-ExtraBold.woff2                        |   0 
crates/collab/static/fonts/VisbyCF-ExtraBoldOblique.eot                   |   0 
crates/collab/static/fonts/VisbyCF-ExtraBoldOblique.woff                  |   0 
crates/collab/static/fonts/VisbyCF-ExtraBoldOblique.woff2                 |   0 
crates/collab/static/fonts/VisbyCF-Heavy.eot                              |   0 
crates/collab/static/fonts/VisbyCF-Heavy.woff                             |   0 
crates/collab/static/fonts/VisbyCF-Heavy.woff2                            |   0 
crates/collab/static/fonts/VisbyCF-HeavyOblique.eot                       |   0 
crates/collab/static/fonts/VisbyCF-HeavyOblique.woff                      |   0 
crates/collab/static/fonts/VisbyCF-HeavyOblique.woff2                     |   0 
crates/collab/static/fonts/VisbyCF-Light.eot                              |   0 
crates/collab/static/fonts/VisbyCF-Light.woff                             |   0 
crates/collab/static/fonts/VisbyCF-Light.woff2                            |   0 
crates/collab/static/fonts/VisbyCF-LightOblique.eot                       |   0 
crates/collab/static/fonts/VisbyCF-LightOblique.woff                      |   0 
crates/collab/static/fonts/VisbyCF-LightOblique.woff2                     |   0 
crates/collab/static/fonts/VisbyCF-Medium.eot                             |   0 
crates/collab/static/fonts/VisbyCF-Medium.woff                            |   0 
crates/collab/static/fonts/VisbyCF-Medium.woff2                           |   0 
crates/collab/static/fonts/VisbyCF-MediumOblique.eot                      |   0 
crates/collab/static/fonts/VisbyCF-MediumOblique.woff                     |   0 
crates/collab/static/fonts/VisbyCF-MediumOblique.woff2                    |   0 
crates/collab/static/fonts/VisbyCF-Regular.eot                            |   0 
crates/collab/static/fonts/VisbyCF-Regular.woff                           |   0 
crates/collab/static/fonts/VisbyCF-Regular.woff2                          |   0 
crates/collab/static/fonts/VisbyCF-RegularOblique.eot                     |   0 
crates/collab/static/fonts/VisbyCF-RegularOblique.woff                    |   0 
crates/collab/static/fonts/VisbyCF-RegularOblique.woff2                   |   0 
crates/collab/static/fonts/VisbyCF-Thin.eot                               |   0 
crates/collab/static/fonts/VisbyCF-Thin.woff                              |   0 
crates/collab/static/fonts/VisbyCF-Thin.woff2                             |   0 
crates/collab/static/fonts/VisbyCF-ThinOblique.eot                        |   0 
crates/collab/static/fonts/VisbyCF-ThinOblique.woff                       |   0 
crates/collab/static/fonts/VisbyCF-ThinOblique.woff2                      |   0 
crates/collab/static/images/android-chrome-192x192.png                    |   0 
crates/collab/static/images/android-chrome-512x512.png                    |   0 
crates/collab/static/images/apple-touch-icon.png                          |   0 
crates/collab/static/images/favicon-16x16.png                             |   0 
crates/collab/static/images/favicon-32x32.png                             |   0 
crates/collab/static/images/favicon.png                                   |   0 
crates/collab/static/images/favicon.svg                                   |   0 
crates/collab/static/images/mstile-144x144.png                            |   0 
crates/collab/static/images/mstile-150x150.png                            |   0 
crates/collab/static/images/mstile-310x150.png                            |   0 
crates/collab/static/images/mstile-310x310.png                            |   0 
crates/collab/static/images/mstile-70x70.png                              |   0 
crates/collab/static/images/safari-pinned-tab.svg                         |   0 
crates/collab/static/images/zed-og-image.png                              |   0 
crates/collab/static/images/zed-twitter-image.png                         |   0 
crates/collab/static/prism.js                                             |   0 
crates/collab/static/prose.css                                            |   0 
crates/collab/static/prose.css.map                                        |   0 
crates/collab/static/prose.scss                                           |   0 
crates/collab/static/site.webmanifest                                     |   0 
crates/collab/static/svg/hero.svg                                         |   0 
crates/collab/styles.css                                                  |   0 
crates/collab/templates/admin.hbs                                         |   0 
crates/collab/templates/careers.hbs                                       |   0 
crates/collab/templates/community.hbs                                     |   0 
crates/collab/templates/docs.hbs                                          |   0 
crates/collab/templates/error.hbs                                         |   0 
crates/collab/templates/home.hbs                                          |   0 
crates/collab/templates/partials/layout.hbs                               |   0 
crates/collab/templates/releases.hbs                                      |   0 
crates/collab/templates/signup.hbs                                        |   0 
crates/collab/templates/team.hbs                                          |   0 
crates/server/.env.toml                                                   |  42 
script/build-css                                                          |   2 
script/deploy                                                             |   6 
script/seed-db                                                            |   4 
script/sqlx                                                               |   2 
script/tailwind.config.js                                                 |   4 
127 files changed, 86 insertions(+), 128 deletions(-)

Detailed changes

.gitignore 🔗

@@ -3,6 +3,6 @@
 .DS_Store
 /script/node_modules
 /styles/node_modules
-/crates/server/.env.toml
-/crates/server/static/styles.css
+/crates/collab/.env.toml
+/crates/collab/static/styles.css
 /vendor/bin

Cargo.lock 🔗

@@ -1076,6 +1076,60 @@ dependencies = [
  "objc",
 ]
 
+[[package]]
+name = "collab"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "async-io",
+ "async-sqlx-session",
+ "async-std",
+ "async-trait",
+ "async-tungstenite",
+ "base64 0.13.0",
+ "clap 3.0.0-beta.2",
+ "client",
+ "collections",
+ "comrak",
+ "ctor",
+ "editor",
+ "either",
+ "env_logger 0.8.3",
+ "envy",
+ "futures",
+ "gpui",
+ "handlebars",
+ "http-auth-basic",
+ "json_env_logger",
+ "jwt-simple",
+ "language",
+ "lazy_static",
+ "lipsum",
+ "log",
+ "lsp",
+ "oauth2",
+ "oauth2-surf",
+ "parking_lot",
+ "project",
+ "rand 0.8.3",
+ "rpc",
+ "rust-embed",
+ "scrypt",
+ "serde",
+ "serde_json",
+ "settings",
+ "sha-1 0.9.6",
+ "sqlx 0.5.5",
+ "surf",
+ "theme",
+ "tide",
+ "tide-compress",
+ "time 0.2.27",
+ "toml",
+ "util",
+ "workspace",
+]
+
 [[package]]
 name = "collections"
 version = "0.1.0"
@@ -6151,60 +6205,6 @@ dependencies = [
  "workspace",
 ]
 
-[[package]]
-name = "zed-server"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "async-io",
- "async-sqlx-session",
- "async-std",
- "async-trait",
- "async-tungstenite",
- "base64 0.13.0",
- "clap 3.0.0-beta.2",
- "client",
- "collections",
- "comrak",
- "ctor",
- "editor",
- "either",
- "env_logger 0.8.3",
- "envy",
- "futures",
- "gpui",
- "handlebars",
- "http-auth-basic",
- "json_env_logger",
- "jwt-simple",
- "language",
- "lazy_static",
- "lipsum",
- "log",
- "lsp",
- "oauth2",
- "oauth2-surf",
- "parking_lot",
- "project",
- "rand 0.8.3",
- "rpc",
- "rust-embed",
- "scrypt",
- "serde",
- "serde_json",
- "settings",
- "sha-1 0.9.6",
- "sqlx 0.5.5",
- "surf",
- "theme",
- "tide",
- "tide-compress",
- "time 0.2.27",
- "toml",
- "util",
- "workspace",
-]
-
 [[package]]
 name = "zeroize"
 version = "1.3.0"

Dockerfile 🔗

@@ -14,20 +14,20 @@ RUN --mount=type=cache,target=./script/node_modules \
 RUN --mount=type=cache,target=./script/node_modules \
     script/build-css --release
 
-# Compile server
+# Compile collab server
 RUN --mount=type=cache,target=./script/node_modules \
     --mount=type=cache,target=/usr/local/cargo/registry \
     --mount=type=cache,target=./target \
-    cargo build --release --package zed-server --bin zed-server
+    cargo build --release --package collab --bin collab
 
-# Copy server binary out of cached directory
+# Copy collab server binary out of cached directory
 RUN --mount=type=cache,target=./target \
-    cp /app/target/release/zed-server /app/zed-server
+    cp /app/target/release/collab /app/collab
 
-# Copy server binary to the runtime image
+# Copy collab server binary to the runtime image
 FROM debian:bullseye-slim as runtime
 RUN apt-get update; \
     apt-get install -y --no-install-recommends libcurl4-openssl-dev ca-certificates
 WORKDIR app
-COPY --from=builder /app/zed-server /app
-ENTRYPOINT ["/app/zed-server"]
+COPY --from=builder /app/collab /app
+ENTRYPOINT ["/app/collab"]

Dockerfile.migrator 🔗

@@ -11,5 +11,5 @@ RUN apt-get update; \
     apt-get install -y --no-install-recommends libssl1.1
 WORKDIR app
 COPY --from=builder /app/bin/sqlx /app
-COPY ./server/migrations /app/migrations
+COPY ./collab/migrations /app/migrations
 ENTRYPOINT ["/app/sqlx", "migrate", "run"]

Procfile 🔗

@@ -1,2 +1,2 @@
 web: cd ../zed.dev && PORT=3000 npx next dev
-collab: cd crates/server && cargo run
+collab: cd crates/collab && cargo run

README.md 🔗

@@ -23,7 +23,7 @@ script/sqlx migrate run
 script/seed-db
 ```
 
-Run `zed.dev` and the collaboration server.
+Run the web frontend and the collaboration server.
 
 ```
 brew install foreman

crates/server/Cargo.toml → crates/collab/Cargo.toml 🔗

@@ -1,12 +1,12 @@
 [package]
 authors = ["Nathan Sobo <nathan@warp.dev>"]
-default-run = "zed-server"
+default-run = "collab"
 edition = "2021"
-name = "zed-server"
+name = "collab"
 version = "0.1.0"
 
 [[bin]]
-name = "zed-server"
+name = "collab"
 
 [[bin]]
 name = "seed"

crates/server/Procfile → crates/collab/Procfile 🔗

@@ -1,2 +1,2 @@
-web: ./target/release/zed-server
+collab: ./target/release/collab
 release: ./target/release/sqlx migrate run

crates/server/k8s/manifest.template.yml → crates/collab/k8s/manifest.template.yml 🔗

@@ -8,14 +8,14 @@ kind: Service
 apiVersion: v1
 metadata:
   namespace: ${ZED_KUBE_NAMESPACE}
-  name: zed
+  name: collab
   annotations:
     service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
-    service.beta.kubernetes.io/do-loadbalancer-certificate-id: "2634d353-1ab4-437f-add2-4ffd8f315233"
+    service.beta.kubernetes.io/do-loadbalancer-certificate-id: "40879815-9a6b-4bbb-8207-8f2c7c0218f9"
 spec:
   type: LoadBalancer
   selector:
-    app: zed
+    app: collab
   ports:
     - name: web
       protocol: TCP
@@ -26,19 +26,19 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   namespace: ${ZED_KUBE_NAMESPACE}
-  name: zed
+  name: collab
 spec:
   replicas: 1
   selector:
     matchLabels:
-      app: zed
+      app: collab
   template:
     metadata:
       labels:
-        app: zed
+        app: collab
     spec:
       containers:
-        - name: zed
+        - name: collab
           image: "${ZED_IMAGE_ID}"
           ports:
             - containerPort: 8080

crates/server/.env.toml 🔗

@@ -1,42 +0,0 @@
-# Prod database: CAREFUL!
-# DATABASE_URL = "postgres://postgres:f71db7645055488d666f3c26392113104706af1f24d2cf15@zed-db.internal:5432/zed"
-
-HTTP_PORT = 8080
-
-DATABASE_URL = "postgres://postgres@localhost/zed"
-SESSION_SECRET = "6E1GS6IQNOLIBKWMEVWF1AFO4H78KNU8"
-API_TOKEN = "secret"
-
-# Available at https://github.com/organizations/zed-industries/settings/apps/zed-local-development
-GITHUB_APP_ID = 115633
-GITHUB_CLIENT_ID = "Iv1.768076c9becc75c4"
-GITHUB_CLIENT_SECRET = "3592ffff1ecda9773a3df7b0e75375bfbe7992fc"
-GITHUB_PRIVATE_KEY = """\
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAtt0O2t69ksn2zX5ucHpflNRoqdh342OOwrazLA6GS8Kp2hWM
-NwLzymm2s8k1e2F7sAVYNHJvUPZCvM/xYuVMNpx33fVr00Tni2ATNJKS2lvCEBC0
-nTUKxXQImF82IQadg41o+81gofR3zt2UM7iDRMPbmn/aZe7K8vvFEERawSfKEMv3
-RqAzqt0fBDYvwHonje0Y7/5IAO5GDMd9kDE3w034ckwtyFAJDjRGYN5kVoRlua+Q
-aIHoBkJ/jUAsS4kWqZt/r6hbrAcgok7Iv2RoapfgNTPeJKEe0pAagz1orqbrm9Qk
-WBeAToTXl4YTfQruMNVyN2/5azqLnS8Urg2jHQIDAQABAoIBAF9TVY8bVk/TIOl2
-4zOXV4RKRlVkFvtexukSPMzWtYOA8vJREUsMKvJ1sVx/o3WyF7xmzNhqX0UhWyD6
-dadMSTKe1o3Khm8YGGw7pUdesVdLRhsB2mWpZPgRyPlFiP4maK5PZU7+fUVwH5Sj
-RcLAiQ2r3CrqQ3unw/xu6wfT2kueBMJz6DBCx3y5wwEyrR7b+8ZGrjUy9BelzKti
-yIT3OLWhilwho8l03Dg72SCSskotVMcywtc7SMr5PCILL7QANdJDhEO8FP4BysHx
-6wlFwpfIPnNHN/RN1Dnnut5F64nPu//6vUs9DR9c34FzDp0SR2hJ98PLYn3uyD5b
-6oOcZrECgYEA3QXrezpLwkZN2wS6r6vmNyEKSIevjpQpuFEzGSapJRJbGiP5/C+l
-DfTmYud6Ld5YrL7xIQuf6SQWyO8WZkKA6D15VBdsFzM0pzhNGNGUgZYiTQ6rdh83
-5mL8l9IqzT5LD5RRXTj2CO7SB5iuyp8PrPyGCCVhILYJP+a4e4kHwEsCgYEA0803
-oF/QBhfKC3n/7xbRTeT4PcAHra+X84rY+KkyP1/qJXMRbCumpvTL6kZg7Jv2I3hG
-SaRK7mGhi0/omVn9aEgn4E7UKmE2ZhVbigTiqnPdYoH/hmrbQ5Z7SVaT/MNzGuKQ
-QZOmASgsZEjqSX7extXDzKOGD/AzMp3iWElUGTcCgYAOoT+vDnLJT0IEB1IcIrLA
-X22A04ppU6FXU/if55E2pPpmxo7bhIPWYqmFTnEl7BvOg20OlOhm1D612i2PY0OJ
-G9iWGl7LQlZv4ygnRmggE8H9e8UZsoNOuqqhmgW/RCpPw6+HDigq+zPn0NFxFApD
-lwuAKok9Uw9VrX30n2Nl9QKBgAG7c/ED15e1Khnd7ZHvBdc1QDKBF478GKoNQKkH
-+Tk7d5bG0iWoVbyX0/MekDxfKiwwF6MSjOpWMhQJm0VlzwTDUlArVODj2qYLFqyS
-TahHOlBL7+MRjKmI2YlIA/3VO2PE5pkitADeaz6GuiPPvdKyfN93lukaddC8KdW/
-A8kRAoGBAJdU+sTC1zfP+tbgArzf4rU5qEknserAH+GE6C/Otn134WBEyqSgd2Jb
-JpJsl2l/X/8Wfwh+SJQbhvDoY4ApMKlgLFBAIY/p2UcpEdUL2juec/F6+qGnBncQ
-4I+MKiVfixBM9p66Afybiskh3a/RvXK+/6NNOVtVYaSd7aSIrq9W
------END RSA PRIVATE KEY-----
-"""

script/build-css 🔗

@@ -7,4 +7,4 @@ cd ./script
 if [[ $1 == --release ]]; then
     export NODE_ENV=production # Purge unused styles in --release mode
 fi
-npx tailwindcss build ../crates/server/styles.css --output ../crates/server/static/styles.css
+npx tailwindcss build ../crates/collab/styles.css --output ../crates/collab/static/styles.css

script/deploy 🔗

@@ -16,7 +16,7 @@ if [[ $# < 1 ]]; then
 fi
 
 export ZED_KUBE_NAMESPACE=$1
-ENV_FILE="crates/server/k8s/environments/${ZED_KUBE_NAMESPACE}.sh"
+ENV_FILE="crates/collab/k8s/environments/${ZED_KUBE_NAMESPACE}.sh"
 if [[ ! -f $ENV_FILE ]]; then
   echo "Invalid environment name '${ZED_KUBE_NAMESPACE}'"
   exit 1
@@ -28,10 +28,10 @@ if [[ $ZED_KUBE_NAMESPACE == "production" && -n $(git status --short) ]]; then
 fi
 
 git_sha=$(git rev-parse HEAD)
-export ZED_IMAGE_ID="registry.digitalocean.com/zed/zed-server:${ZED_KUBE_NAMESPACE}-${git_sha}"
+export ZED_IMAGE_ID="registry.digitalocean.com/zed/collab:${ZED_KUBE_NAMESPACE}-${git_sha}"
 export $(cat $ENV_FILE)
 
 docker build . --tag "$ZED_IMAGE_ID"
 docker push "$ZED_IMAGE_ID"
 
-envsubst < crates/server/k8s/manifest.template.yml | kubectl apply -f -
+envsubst < crates/collab/k8s/manifest.template.yml | kubectl apply -f -

script/seed-db 🔗

@@ -1,9 +1,9 @@
 #!/bin/bash
 set -e
 
-cd crates/server
+cd crates/collab
 
 # Export contents of .env.toml
 eval "$(cargo run --bin dotenv)"
 
-cargo run --package=zed-server --features seed-support --bin seed
+cargo run --package=collab --features seed-support --bin seed

script/sqlx 🔗

@@ -5,7 +5,7 @@ set -e
 # Install sqlx-cli if needed
 [[ "$(sqlx --version)" == "sqlx-cli 0.5.7" ]] || cargo install sqlx-cli --version 0.5.7
 
-cd crates/server
+cd crates/collab
 
 # Export contents of .env.toml
 eval "$(cargo run --bin dotenv)"

script/tailwind.config.js 🔗

@@ -40,7 +40,7 @@ module.exports = {
     },
     darkMode: false,
     purge: [
-        "../crates/server/templates/**/*.hbs",
-        "../crates/server/templates/*.hbs"
+        "../crates/collab/templates/**/*.hbs",
+        "../crates/collab/templates/*.hbs"
     ]
 }