Merge pull request #2260 from zed-industries/increase-max-connections

Antonio Scandurra created

Increase the amount of max connections to the database

Change summary

crates/collab/.env.toml                      | 1 +
crates/collab/k8s/environments/preview.sh    | 1 +
crates/collab/k8s/environments/production.sh | 1 +
crates/collab/k8s/environments/staging.sh    | 1 +
crates/collab/k8s/manifest.template.yml      | 2 ++
crates/collab/src/lib.rs                     | 3 ++-
6 files changed, 8 insertions(+), 1 deletion(-)

Detailed changes

crates/collab/.env.toml 🔗

@@ -1,4 +1,5 @@
 DATABASE_URL = "postgres://postgres@localhost/zed"
+DATABASE_MAX_CONNECTIONS = 5
 HTTP_PORT = 8080
 API_TOKEN = "secret"
 INVITE_LINK_PREFIX = "http://localhost:3000/invites/"

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

@@ -80,6 +80,8 @@ spec:
                 secretKeyRef:
                   name: database
                   key: url
+            - name: DATABASE_MAX_CONNECTIONS
+              value: ${DATABASE_MAX_CONNECTIONS}
             - name: API_TOKEN
               valueFrom:
                 secretKeyRef:

crates/collab/src/lib.rs 🔗

@@ -91,6 +91,7 @@ impl std::error::Error for Error {}
 pub struct Config {
     pub http_port: u16,
     pub database_url: String,
+    pub database_max_connections: u32,
     pub api_token: String,
     pub invite_link_prefix: String,
     pub live_kit_server: Option<String>,
@@ -116,7 +117,7 @@ pub struct AppState {
 impl AppState {
     pub async fn new(config: Config) -> Result<Arc<Self>> {
         let mut db_options = db::ConnectOptions::new(config.database_url.clone());
-        db_options.max_connections(5);
+        db_options.max_connections(config.database_max_connections);
         let db = Database::new(db_options).await?;
         let live_kit_client = if let Some(((server, key), secret)) = config
             .live_kit_server