.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
Nathan Sobo created
Rename zed-server to collab
.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(-)
@@ -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
@@ -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"
@@ -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"]
@@ -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"]
@@ -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
@@ -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
@@ -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"
@@ -1,2 +1,2 @@
-web: ./target/release/zed-server
+collab: ./target/release/collab
release: ./target/release/sqlx migrate run
@@ -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
@@ -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-----
-"""
@@ -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
@@ -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 -
@@ -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
@@ -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)"
@@ -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"
]
}