From ea1b320370c9f9b93d89b4633419f7d555ac0c22 Mon Sep 17 00:00:00 2001
From: Michael Lin
Date: Wed, 18 Feb 2026 16:24:04 -0800
Subject: [PATCH 001/217] update aws diagrams (#1617)
---
docs/admin/architecture.mdx | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/docs/admin/architecture.mdx b/docs/admin/architecture.mdx
index 0399ae2b9..d14e74f9d 100644
--- a/docs/admin/architecture.mdx
+++ b/docs/admin/architecture.mdx
@@ -481,26 +481,37 @@ For customers with specific needs, a variety of self-hosted deployment methods a
Learn more in the [Sourcegraph self-hosted docs](/self-hosted).
+
+ Below diagrams are used to outline the architecture of Sourcegraph
+ self-hosted deployments on AWS. For more details on the core application
+ architecture, please refer to the [Sourcegraph architecture
+ overview](#overview) section above.
+
+
#### AWS (Docker Compose)
```mermaid
architecture-beta
- group vpc(aws:vpc)[VPC]
+ group account(aws:account)[AWS Account]
+
+ group vpc(aws:vpc)[VPC] in account
+ service ebs(aws:ebs)[Data Volume] in vpc
group public_subnet(aws:public-subnet)[Public Subnet] in vpc
group ec2_sg[Security Group] in public_subnet
- service ec2(aws:ec2)[Sourcegraph Deployment] in ec2_sg
- service ebs(aws:ebs)[Data Volume] in ec2_sg
+
+ group ec2(aws:ec2)[EC2] in ec2_sg
+ service sg_core(server)[Sourcegraph core] in ec2
group private_subnet(aws:private-subnet)[Private Subnet] in vpc
group rds_sg[Security Group] in private_subnet
service rds(aws:rds)[RDS PostgreSQL] in rds_sg
- ec2:R -- L:ebs
- ec2:B -- T:rds
+ sg_core{group}:R -- L:ebs
+ sg_core:B -- T:rds
```
-#### AWS (EKS)
+#### AWS (Kubernetes)
```mermaid
architecture-beta
From bc10774e9ae1646f3a12ab3f6817774428469b95 Mon Sep 17 00:00:00 2001
From: Petri Last
Date: Thu, 19 Feb 2026 09:24:24 -0700
Subject: [PATCH 002/217] Remove OneLogin warning from 2018 (#1621)
This warning is older than the Sourcegraph repo
---
docs/admin/auth/index.mdx | 2 --
1 file changed, 2 deletions(-)
diff --git a/docs/admin/auth/index.mdx b/docs/admin/auth/index.mdx
index 1ce6af921..0e91af63e 100644
--- a/docs/admin/auth/index.mdx
+++ b/docs/admin/auth/index.mdx
@@ -412,8 +412,6 @@ The [`openidconnect` auth provider](/admin/config/site-config#openid-connect-inc
- [Salesforce Identity](https://developer.salesforce.com/page/Inside_OpenID_Connect_on_Force.com)
- [Microsoft Entra ID (Azure Active Directory)](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-openid-connect-code)
- [Google Identity Platform](https://developers.google.com/identity/)
-- Known issue: [OneLogin](https://www.onelogin.com/openid-connect) OpenID Connect is not supported (use SAML for OneLogin instead)
-
If the OpenID Connect provider requires specifying scopes, the following scopes are required:
- `openid`
From 66b686bdd5675d92a2a4b64bc71c54e17a7c9f9c Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 19 Feb 2026 10:48:39 -0800
Subject: [PATCH 003/217] chore/release: kustomize deprecate warning (#1624)
closes PLAT-22
extra warnings for deprecation of kustomize deployment type
---
docs/self-hosted/deploy/kubernetes/configure.mdx | 4 ++++
docs/self-hosted/deploy/kubernetes/operations.mdx | 4 ++++
docs/self-hosted/deploy/kubernetes/upgrade.mdx | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/docs/self-hosted/deploy/kubernetes/configure.mdx b/docs/self-hosted/deploy/kubernetes/configure.mdx
index a71d78aa2..de21aa5d4 100644
--- a/docs/self-hosted/deploy/kubernetes/configure.mdx
+++ b/docs/self-hosted/deploy/kubernetes/configure.mdx
@@ -1,5 +1,9 @@
# Configure Sourcegraph with Kustomize
+
+ The Kustomize deployment type is planned for deprecation and will be sunset in a future release. We recommend using the [Helm deployment](/self-hosted/deploy/kubernetes) for all new Kubernetes installations.
+
+
This guide will demonstrate how to customize a Kubernetes deployment (**non-Helm**) using Kustomize components.
diff --git a/docs/self-hosted/deploy/kubernetes/operations.mdx b/docs/self-hosted/deploy/kubernetes/operations.mdx
index 12015d14e..63a95d3c8 100644
--- a/docs/self-hosted/deploy/kubernetes/operations.mdx
+++ b/docs/self-hosted/deploy/kubernetes/operations.mdx
@@ -1,5 +1,9 @@
# Operations guides for Sourcegraph on Kubernetes
+
+ The Kustomize deployment type is planned for deprecation and will be sunset in a future release. We recommend using the [Helm deployment](/self-hosted/deploy/kubernetes) for all new Kubernetes installations.
+
+
Operations guides specific to managing [Sourcegraph on Kubernetes](/self-hosted/deploy/kubernetes/) installations.
diff --git a/docs/self-hosted/deploy/kubernetes/upgrade.mdx b/docs/self-hosted/deploy/kubernetes/upgrade.mdx
index d134bfc87..c11a60b01 100644
--- a/docs/self-hosted/deploy/kubernetes/upgrade.mdx
+++ b/docs/self-hosted/deploy/kubernetes/upgrade.mdx
@@ -1,5 +1,9 @@
# Updating Sourcegraph with Kubernetes
+
+ The Kustomize deployment type is planned for deprecation and will be sunset in a future release. We recommend using the [Helm deployment](/self-hosted/deploy/kubernetes) for all new Kubernetes installations.
+
+
This document describes the process to update a **Kubernetes Kustomize** or **Kubernetes Legacy** Sourcegraph instance. If you are unfamiliar with Sourcegraph versioning or releases see our [general concepts documentation](/self-hosted/updates/).
This guide is **not for use with Helm**. Please refer to the [Upgrading Sourcegraph with Helm docs](/self-hosted/deploy/kubernetes#upgrading-sourcegraph) for Helm deployments.
From 4460f0b64c247a314cf58ee3e572a9a215bd79cc Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 19 Feb 2026 10:51:18 -0800
Subject: [PATCH 004/217] chore/release: k3s and AMI sunset notice (#1623)
closes PLAT-412
closes PLAT-413
This PR adds a deprecation and sunset warning for the AMIs and k3s
install script deployment types
---
docs/how-to/aws-instance-sizing.mdx | 4 ++++
docs/self-hosted/deploy/docker-compose/migrate.mdx | 2 +-
docs/self-hosted/deploy/index.mdx | 4 ++++
docs/self-hosted/deploy/machine-images/aws-ami.mdx | 4 ++++
docs/self-hosted/deploy/machine-images/aws-oneclick.mdx | 4 ++++
docs/self-hosted/deploy/machine-images/index.mdx | 4 ++++
docs/self-hosted/deploy/single-node/index.mdx | 2 +-
docs/self-hosted/deploy/single-node/script.mdx | 4 ++++
.../postgresql-collation-version-mismatch-resolution.mdx | 4 ++++
docs/self-hosted/updates/index.mdx | 4 ++--
10 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/docs/how-to/aws-instance-sizing.mdx b/docs/how-to/aws-instance-sizing.mdx
index 00729ed39..d60545a1e 100644
--- a/docs/how-to/aws-instance-sizing.mdx
+++ b/docs/how-to/aws-instance-sizing.mdx
@@ -1,5 +1,9 @@
# AWS Instance Sizing for Sourcegraph
+
+**Deprecation notice:** AWS AMI deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+
+
## Instance size chart
Select an instance type according to the number of users and repositories you have using this table. If you fall between two sizes, choose the larger of the two.
diff --git a/docs/self-hosted/deploy/docker-compose/migrate.mdx b/docs/self-hosted/deploy/docker-compose/migrate.mdx
index 5af5976ec..39fd2d928 100644
--- a/docs/self-hosted/deploy/docker-compose/migrate.mdx
+++ b/docs/self-hosted/deploy/docker-compose/migrate.mdx
@@ -1,6 +1,6 @@
# Migrate from the single Docker image to Docker Compose
-> ⚠️ We recommend new users use our [machine image](/self-hosted/deploy/machine-images/) or [script-install](/self-hosted/deploy/single-node/script) instructions, which are easier and offer more flexibility when configuring Sourcegraph. Existing customers can reach out to our Customer Engineering team support@sourcegraph.com if they wish to migrate to these deployment models.
+> ⚠️ We recommend new users use our [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Note: [machine image](/self-hosted/deploy/machine-images/) and [script-install](/self-hosted/deploy/single-node/script) deployments are being sunset in Sourcegraph 7.0.0. Existing customers can reach out to our Customer Engineering team support@sourcegraph.com for migration assistance.
Since Sourcegraph 3.13, deploying via Docker Compose is the recommended method for production deployments as it provides resource isolation between Sourcegraph services which makes it more scalable and stable. This page describes how to migrate from a single Docker image deployment to the Docker Compose deployment method.
diff --git a/docs/self-hosted/deploy/index.mdx b/docs/self-hosted/deploy/index.mdx
index dd97dda04..dc20d6ebd 100644
--- a/docs/self-hosted/deploy/index.mdx
+++ b/docs/self-hosted/deploy/index.mdx
@@ -84,6 +84,10 @@ Best for enterprises looking for a self-hosted solution on the Cloud provider of
Machine images provide a pre-configured Sourcegraph instance that can be deployed in minutes with minimal effort. While they offer simplicity, they are designed as a standardized solution and do not support customization. Currently available on the following hosts:
+
+**Note:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0.
+
+
+**Deprecation notice:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+
+
Sourcegraph [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instances-and-amis.html) allow you to quickly deploy a production-ready Sourcegraph instance tuned to your organization's scale in just a few clicks.
Following these docs will provision the following resources:
diff --git a/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx b/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
index d43df9f7e..63e15428f 100644
--- a/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
+++ b/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
@@ -1,5 +1,9 @@
# AWS One-Click Installation for Sourcegraph
+
+**Deprecation notice:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+
+
This page describes how to launch a verified and pre-configured Sourcegraph instance in just ~10 minutes using our one-click CloudFormation template and standard AMIs.
Prefer manually installing on AWS yourself? See our [AMI](/self-hosted/deploy/machine-images/aws-ami) installation options.
diff --git a/docs/self-hosted/deploy/machine-images/index.mdx b/docs/self-hosted/deploy/machine-images/index.mdx
index abeb53e90..24699a116 100644
--- a/docs/self-hosted/deploy/machine-images/index.mdx
+++ b/docs/self-hosted/deploy/machine-images/index.mdx
@@ -1,5 +1,9 @@
# Sourcegraph Machine Images
+
+**Deprecation notice:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+
+
Sourcegraph machine images help to simplify the deployment experience for our users by using a pre-setup machine image.
## Overview
diff --git a/docs/self-hosted/deploy/single-node/index.mdx b/docs/self-hosted/deploy/single-node/index.mdx
index ae83fab13..22213c9db 100644
--- a/docs/self-hosted/deploy/single-node/index.mdx
+++ b/docs/self-hosted/deploy/single-node/index.mdx
@@ -3,6 +3,6 @@
For customers who want to self-host, we recommend one of the single-node deployment options.
- Cloud
- - [Machine images](/self-hosted/deploy/machine-images)
+ - [Machine images](/self-hosted/deploy/machine-images) *(deprecated — sunset in 7.0.0)*
- Local
- [Docker Compose](/self-hosted/deploy/docker-compose)
diff --git a/docs/self-hosted/deploy/single-node/script.mdx b/docs/self-hosted/deploy/single-node/script.mdx
index e46dd06bf..fbbcc3070 100644
--- a/docs/self-hosted/deploy/single-node/script.mdx
+++ b/docs/self-hosted/deploy/single-node/script.mdx
@@ -1,5 +1,9 @@
# Install Sourcegraph via Shell Script
+
+**Deprecation notice:** The k3s install script deployment method will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+
+
Following these docs will launch a pre-configured single node Sourcegraph instance via shell script.
## Supported Distros
diff --git a/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx b/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx
index da61994a4..39adbbcc3 100644
--- a/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx
+++ b/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx
@@ -219,6 +219,10 @@ kubectl apply --prune -l deploy=sourcegraph -f cluster.yaml
## AMI/Machine Image based deployments
+
+**Deprecation notice:** AMI and machine image deployments will be sunset in Sourcegraph 7.0.0.
+
+
Our AMI and GCP machine image deployments run Kubernetes internally, and thus follow the same general directions as our Helm Deployments described above.
To access the deployment you must SSH into your AMI/Machine image first.
diff --git a/docs/self-hosted/updates/index.mdx b/docs/self-hosted/updates/index.mdx
index 0d480ef2e..0a5022895 100644
--- a/docs/self-hosted/updates/index.mdx
+++ b/docs/self-hosted/updates/index.mdx
@@ -48,7 +48,7 @@ Sourcegraph has two upgrade types. **Standard** upgrades and **Multiversion** up
- Moves Sourcegraph multiple versions forward (`v5.0.0` to `v5.2.0`).
- Requires downtime while the database schemas and rewritten and unfinished out-of-band migrations are applied
- We currently support jumping from version `v3.20` or later to any future version.
-- **AMIs do not yet support multiversion upgrades. We hope to improve this soon.**
+- **AMIs do not yet support multiversion upgrades. Note: AMI deployments will be sunset in 7.0.0.**
> _Note: Patch versions don't determine upgrade type -- you should always upgrade to the latest patch._
@@ -130,7 +130,7 @@ If your instance has schema drift or unfinished oob migrations you may need to a
- [Multiversion Upgrade Operations](/self-hosted/deploy/docker-single-container/#multi-version-upgrades)
- [Upgrade Notes](https://sourcegraph.com/changelog/self-hosted/server)
- [**Pure-docker custom deployments**](/self-hosted/updates/pure-docker)
-- [**Sourcegraph AWS AMI instances**](/self-hosted/deploy/machine-images/aws-ami#upgrade)
+- [**Sourcegraph AWS AMI instances**](/self-hosted/deploy/machine-images/aws-ami#upgrade) *(deprecated — sunset in 7.0.0)*
## Other helpful links
From 662758a603f7de1dc55bd5b6dd7d4c567d2af05f Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 19 Feb 2026 11:07:33 -0800
Subject: [PATCH 005/217] chore/release: sunset notice (#1612)
closes PLAT-415
This PR adds a sunset warning to the docs repo that single-container
will be sunset in the 7.0.0 release.
---
docs/admin/auth/saml/index.mdx | 2 --
docs/admin/auth/troubleshooting.mdx | 1 -
docs/admin/config/site-config.mdx | 1 -
docs/admin/repo/auth.mdx | 1 -
docs/self-hosted/advanced-config-file.mdx | 3 ---
docs/self-hosted/deploy/docker-compose/migrate.mdx | 2 ++
docs/self-hosted/deploy/docker-single-container/aws.mdx | 2 ++
.../deploy/docker-single-container/digitalocean.mdx | 2 ++
.../deploy/docker-single-container/google-cloud.mdx | 2 ++
docs/self-hosted/deploy/docker-single-container/index.mdx | 2 ++
docs/self-hosted/deploy/index.mdx | 4 ++--
docs/self-hosted/index.mdx | 2 --
docs/self-hosted/observability/logs.mdx | 4 +++-
docs/self-hosted/observability/metrics.mdx | 8 ++++++--
docs/self-hosted/postgres.mdx | 4 +++-
docs/self-hosted/updates/index.mdx | 5 ++---
16 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/docs/admin/auth/saml/index.mdx b/docs/admin/auth/saml/index.mdx
index 035d43b98..e05280972 100644
--- a/docs/admin/auth/saml/index.mdx
+++ b/docs/admin/auth/saml/index.mdx
@@ -71,7 +71,6 @@ Here are some examples of what your site config might look like:
Then, confirm that there are no error messages in:
- The `sourcegraph-frontend` deployment logs for instances using [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/)
-- The `sourcegraph/server` container logs for instances using a [single docker container](/self-hosted/deploy/docker-single-container/)
The most likely error message indicating a problem is:
@@ -179,7 +178,6 @@ See [SAML troubleshooting](#troubleshooting) for more tips.
Set the env var `INSECURE_SAML_LOG_TRACES=1` to log all SAML requests and responses on:
- The `sourcegraph-frontend` deployment for instances using [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/)
-- The `sourcegraph/server` container for instances using a [single docker container](/self-hosted/deploy/docker-single-container/)
### Debugging with your browser
diff --git a/docs/admin/auth/troubleshooting.mdx b/docs/admin/auth/troubleshooting.mdx
index 9e09b6460..bdc943ce0 100644
--- a/docs/admin/auth/troubleshooting.mdx
+++ b/docs/admin/auth/troubleshooting.mdx
@@ -39,7 +39,6 @@ Therefore, it makes no sense to have the central SSO redirect users directly bac
Set the env var `INSECURE_OAUTH2_LOG_TRACES=1` to log all OAuth2 requests and responses on:
- [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/): the `sourcegraph-frontend` deployment
-- [Single-container](/self-hosted/deploy/docker-single-container/): the `sourcegraph/server` container
### Make sure the client ID and client secret are actually correct
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 739d9b865..7ddb2fd37 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -1160,7 +1160,6 @@ If you are having trouble accessing the web UI, you can make edits to your site
Set `FRONTEND_CONTAINER` to:
- [Docker Compose](/self-hosted/deploy/docker-compose/): the `sourcegraph-frontend` container
-- [Single-container](/self-hosted/deploy/docker-single-container/): the `sourcegraph/server` container
```sh
docker exec -it --user=root $FRONTEND_CONTAINER sh -c 'apk add --no-cache && nano /home/sourcegraph/site-config.json'
diff --git a/docs/admin/repo/auth.mdx b/docs/admin/repo/auth.mdx
index 10da2cb75..9e91db9a4 100644
--- a/docs/admin/repo/auth.mdx
+++ b/docs/admin/repo/auth.mdx
@@ -33,7 +33,6 @@ Some providers may require additional configuration, consult the [code host spec
- [Sourcegraph with Docker Compose](/self-hosted/deploy/docker-compose/): See [the Docker Compose git configuration guide](/self-hosted/deploy/docker-compose/#git-configuration).
- [Sourcegraph with Kubernetes](/self-hosted/deploy/kubernetes/): See [Configure repository cloning via SSH](/self-hosted/deploy/kubernetes/configure#ssh-for-cloning).
-- [Single-container Sourcegraph](/self-hosted/deploy/docker-single-container/): See [the single-container git configuration guide](/self-hosted/deploy/docker-single-container/#git-configuration-and-authentication).
## Troubleshooting
diff --git a/docs/self-hosted/advanced-config-file.mdx b/docs/self-hosted/advanced-config-file.mdx
index 07c0ba5ba..010ef7fa5 100644
--- a/docs/self-hosted/advanced-config-file.mdx
+++ b/docs/self-hosted/advanced-config-file.mdx
@@ -27,7 +27,6 @@ Set `SITE_CONFIG_FILE=site.json` and mount the config on:
- [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/): all `frontend`
containers
-- [Single-container](/self-hosted/deploy/docker-single-container/): the `sourcegraph/server` container
Where `site.json` is a file that contains the [site configuration](/admin/config/site-config), which you would otherwise edit
through the in-app site configuration editor.
@@ -50,7 +49,6 @@ Set `EXTSVC_CONFIG_FILE=extsvc.json` and mount the config on:
- [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/): all `frontend`
containers
-- [Single-container](/self-hosted/deploy/docker-single-container/): the `sourcegraph/server` container
Where `extsvc.json` contains a JSON object that specifies _all_ of your code hosts in a single JSONC file:
@@ -117,7 +115,6 @@ To configure a GitHub App, add `clientID` and `privateKey` fields to the `gitHub
Set `GLOBAL_SETTINGS_FILE=global-settings.json` and mount the config on:
- [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/): all `frontend` containers
-- [Single-container](/self-hosted/deploy/docker-single-container/): the `sourcegraph/server` container
Where `global-settings.json` contains the global settings, which you would otherwise edit through the in-app global settings editor.
diff --git a/docs/self-hosted/deploy/docker-compose/migrate.mdx b/docs/self-hosted/deploy/docker-compose/migrate.mdx
index 39fd2d928..1ece2e3b3 100644
--- a/docs/self-hosted/deploy/docker-compose/migrate.mdx
+++ b/docs/self-hosted/deploy/docker-compose/migrate.mdx
@@ -1,5 +1,7 @@
# Migrate from the single Docker image to Docker Compose
+The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. You **must** migrate to Docker Compose or Kubernetes before upgrading to 7.0.0.
+
> ⚠️ We recommend new users use our [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Note: [machine image](/self-hosted/deploy/machine-images/) and [script-install](/self-hosted/deploy/single-node/script) deployments are being sunset in Sourcegraph 7.0.0. Existing customers can reach out to our Customer Engineering team support@sourcegraph.com for migration assistance.
Since Sourcegraph 3.13, deploying via Docker Compose is the recommended method for production deployments as it provides resource isolation between Sourcegraph services which makes it more scalable and stable. This page describes how to migrate from a single Docker image deployment to the Docker Compose deployment method.
diff --git a/docs/self-hosted/deploy/docker-single-container/aws.mdx b/docs/self-hosted/deploy/docker-single-container/aws.mdx
index 8d082ae03..eef6959cc 100644
--- a/docs/self-hosted/deploy/docker-single-container/aws.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/aws.mdx
@@ -1,5 +1,7 @@
# Install single-container Sourcegraph with Docker on AWS
+The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+
This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single EC2 instance on AWS.
> NOTE: We _do not_ recommend using this method for a production instance. If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/aws) for most initial production deployments.
diff --git a/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx b/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
index 495f9f56d..6afc58a35 100644
--- a/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
@@ -1,5 +1,7 @@
# Install single-container Sourcegraph with Docker on DigitalOcean
+The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+
This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single node running on DigitalOcean.
> NOTE: We _do not_ recommend using this method for a production instance. If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/digitalocean) for most initial production deployments.
diff --git a/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx b/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
index d6ca19cc2..863ae1ae4 100644
--- a/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
@@ -1,5 +1,7 @@
# Install single-container Sourcegraph with Docker on Google Cloud
+The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+
This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single node running on Google Cloud.
> NOTE: We _do not_ recommend using this method for a production instance. If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/google-cloud) for most initial production deployments.
diff --git a/docs/self-hosted/deploy/docker-single-container/index.mdx b/docs/self-hosted/deploy/docker-single-container/index.mdx
index e167935a7..a55289e90 100644
--- a/docs/self-hosted/deploy/docker-single-container/index.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/index.mdx
@@ -1,5 +1,7 @@
# Docker Single Container Deployment
+The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+
The Docker Single Container deployment type is a way to very quickly get an instance of Sourcegraph set up locally to experiment with many of its features. However, it is **not recommended** for a production instance, and **has limitations** depending on the OS you are deploying to, as well as the associated resources. See the [troubleshooting section](#troubleshooting) for additional information.
[Code Insights](/code-insights/) is not supported in Single Container deployments. To try Code Insights you must deploy using [Docker Compose](/self-hosted/deploy/docker-compose/) or [Kubernetes](/self-hosted/deploy/kubernetes/). [Tracing](/self-hosted/observability/tracing) is disabled by default, and if you intend to enable it, you will have to deploy and configure the [OpenTelemetry Collector](/self-hosted/observability/opentelemetry). The Single Container deployment does not ship with this service included. It is strongly recommended to use one of the aforementioned deployment methods if tracing support is a requirement.
diff --git a/docs/self-hosted/deploy/index.mdx b/docs/self-hosted/deploy/index.mdx
index dc20d6ebd..3683a0051 100644
--- a/docs/self-hosted/deploy/index.mdx
+++ b/docs/self-hosted/deploy/index.mdx
@@ -108,9 +108,9 @@ See [Sourcegraph Machine Images](/self-hosted/deploy/machine-images) for more in
to maintain and manage your own infrastructure.
-### On-premises
+### On-premises (removed in 7.0.0)
-For setting up quick **non-production** environments on-premises.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
- [Docker Single Container](/self-hosted/deploy/docker-single-container/) - Install Sourcegraph using a single Docker container
diff --git a/docs/self-hosted/index.mdx b/docs/self-hosted/index.mdx
index ddd6e9603..4522aba76 100644
--- a/docs/self-hosted/index.mdx
+++ b/docs/self-hosted/index.mdx
@@ -24,7 +24,6 @@ Get started running Sourcegraph on-prem.
- [Google Cloud installation](/self-hosted/deploy/docker-compose/google-cloud)
- [Kubernetes](/self-hosted/deploy/kubernetes/)
- [Machine images](/self-hosted/deploy/machine-images/)
-- [Docker single container](/self-hosted/deploy/docker-single-container/)
- [Instance sizing](/self-hosted/deploy/instance-size)
- [Resource estimator](/self-hosted/deploy/resource-estimator)
- [Scaling](/self-hosted/deploy/scale)
@@ -37,7 +36,6 @@ Get started running Sourcegraph on-prem.
- [Docker Compose upgrades](https://sourcegraph.com/changelog/self-hosted/docker-compose)
- [Kubernetes upgrades](https://sourcegraph.com/changelog/self-hosted/kubernetes)
- [Pure Docker upgrades](/self-hosted/updates/pure-docker)
-- [Server upgrades](https://sourcegraph.com/changelog/self-hosted/server)
- [Migrator](/self-hosted/updates/migrator/)
- [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql)
diff --git a/docs/self-hosted/observability/logs.mdx b/docs/self-hosted/observability/logs.mdx
index 99e179a52..63b64ff61 100644
--- a/docs/self-hosted/observability/logs.mdx
+++ b/docs/self-hosted/observability/logs.mdx
@@ -14,7 +14,9 @@ A Sourcegraph service's log level is configured via the environment variable `SR
- `eror`: Error.
- `crit`: Critical.
-Learn more about how to apply these environment variables in [docker-compose](/self-hosted/deploy/docker-compose/#set-environment-variables) and [server](/self-hosted/deploy/docker-single-container/#environment-variables) deployments.
+Learn more about how to apply these environment variables in [docker-compose](/self-hosted/deploy/docker-compose/#set-environment-variables) deployments.
+
+> **Note:** The single-container [server](/self-hosted/deploy/docker-single-container/) deployment mode has been removed in 7.0.0. Please [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate).
## Log format
diff --git a/docs/self-hosted/observability/metrics.mdx b/docs/self-hosted/observability/metrics.mdx
index 3f4102520..1d19e11b0 100644
--- a/docs/self-hosted/observability/metrics.mdx
+++ b/docs/self-hosted/observability/metrics.mdx
@@ -81,7 +81,9 @@ kubectl port-forward svc/grafana 3370:30070
Grafana will be available http://localhost:3370/-/debug/grafana.
-If you are using [Docker Single Container](/self-hosted/deploy/docker-single-container/) or the [Docker Compose deployment option](/self-hosted/deploy/), Grafana is available locally at http://localhost:3370/-/debug/grafana without any additional setup.
+If you are using the [Docker Compose deployment option](/self-hosted/deploy/), Grafana is available locally at http://localhost:3370/-/debug/grafana without any additional setup.
+
+> **Note:** The [Docker Single Container](/self-hosted/deploy/docker-single-container/) deployment mode has been removed in 7.0.0. Please [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate).
If Sourcegraph is deployed to a remote server, then access via an SSH tunnel using a tool such as [sshuttle](https://github.com/sshuttle/sshuttle) is required to establish a secure connection to Grafana.
To access the remote server using `sshuttle` from your local machine:
@@ -195,9 +197,11 @@ If you are using the [Kubernetes deployment option](/self-hosted/deploy/kubernet
kubectl port-forward svc/prometheus 9090:30090
```
-If you are using [Docker Single Container](/self-hosted/deploy/docker-single-container/) or the [Docker Compose deployment option](/self-hosted/deploy/), you will need to restart the Sourcegraph container
+If you are using the [Docker Compose deployment option](/self-hosted/deploy/), you will need to restart the Sourcegraph container
with a flag `--publish 9090:9090` in the `docker run` command.
+> **Note:** The [Docker Single Container](/self-hosted/deploy/docker-single-container/) deployment mode has been removed in 7.0.0. Please [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate).
+
Prometheus will be available http://localhost:9090.
## Using a custom monitoring system
diff --git a/docs/self-hosted/postgres.mdx b/docs/self-hosted/postgres.mdx
index 848f04bb2..1dee69c48 100644
--- a/docs/self-hosted/postgres.mdx
+++ b/docs/self-hosted/postgres.mdx
@@ -106,6 +106,8 @@ When running an [external PostgreSQL instance](/self-hosted/external-services/po
> WARNING: **Do not allow Sourcegraph to run/connect to the new Postgres database until it has been fully populated with your data.** Doing so could result in Sourcegraph trying to create e.g. a new DB schema and partially migrating. If this happens to you, restore from the backup you previously took or contact us (support@sourcegraph.com)
-#### Single-container Sourcegraph
+#### Single-container Sourcegraph (removed in 7.0.0)
+
+The single-container (`sourcegraph/server`) deployment mode has been removed in Sourcegraph 7.0.0. [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
Sourcegraph Single-container is not a supported production deployment and currently doesn't support upgrades to Postgres 16. Admins with production data in a single container deployment are advised to reach out to support@sourcegraph.com for assistance.
diff --git a/docs/self-hosted/updates/index.mdx b/docs/self-hosted/updates/index.mdx
index 0a5022895..7e2e3c578 100644
--- a/docs/self-hosted/updates/index.mdx
+++ b/docs/self-hosted/updates/index.mdx
@@ -125,9 +125,8 @@ If your instance has schema drift or unfinished oob migrations you may need to a
- [Standard Upgrade Operations](/self-hosted/deploy/kubernetes#standard-upgrades)
- [Multiversion Upgrade Operations](/self-hosted/deploy/kubernetes#multi-version-upgrades)
- [Upgrade Notes](https://sourcegraph.com/changelog/self-hosted/kubernetes)
-- **Single-container Sourcegraph with Docker**
- - [Standard Upgrade Operations](/self-hosted/deploy/docker-single-container/#standard-upgrades)
- - [Multiversion Upgrade Operations](/self-hosted/deploy/docker-single-container/#multi-version-upgrades)
+- **Single-container Sourcegraph with Docker (removed in 7.0.0)**
+ - The single-container deployment mode has been sunset. [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
- [Upgrade Notes](https://sourcegraph.com/changelog/self-hosted/server)
- [**Pure-docker custom deployments**](/self-hosted/updates/pure-docker)
- [**Sourcegraph AWS AMI instances**](/self-hosted/deploy/machine-images/aws-ami#upgrade) *(deprecated — sunset in 7.0.0)*
From 8a2b56de897654bc0a20ab58234664983e8f7dae Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 19 Feb 2026 11:44:46 -0800
Subject: [PATCH 006/217] pure docker deprecation notice (#1602)
This is just a note that we plan to deprecate the pure docker deployment
type
---
docs/self-hosted/updates/pure-docker.mdx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/self-hosted/updates/pure-docker.mdx b/docs/self-hosted/updates/pure-docker.mdx
index dbc176290..ab38230cd 100644
--- a/docs/self-hosted/updates/pure-docker.mdx
+++ b/docs/self-hosted/updates/pure-docker.mdx
@@ -1,5 +1,7 @@
# Updating a pure-Docker Sourcegraph cluster
+> WARNING: **The pure-Docker deployment type is planned for deprecation.** We recommend migrating to a supported deployment method such as [Docker Compose](/self-hosted/deploy/docker-compose) or [Kubernetes](/self-hosted/deploy/kubernetes). If you have questions or need assistance with migration, please [contact support](https://sourcegraph.com/contact).
+
This document describes the exact changes needed to update a [pure-Docker Sourcegraph cluster](https://github.com/sourcegraph/deploy-sourcegraph-docker).
Each section comprehensively describes the changes needed in Docker images, environment variables, and added/removed services. **Always refer to this page before upgrading Sourcegraph,** as it comprehensively describes the steps needed to upgrade, and any manual migration steps you must perform.
From d4324f757fdde7aad999be9489b21f7c8297a9de Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 19 Feb 2026 11:45:13 -0800
Subject: [PATCH 007/217] chore/release: sunset notice PG12 -> PG16 upgrader
(#1622)
closes PLAT-414
Corresponding docs update to
https://github.com/sourcegraph/sourcegraph/pull/9099
Warns admins that the automatic PG upgrade entryscript is removed in
7.0.0
---
docs/self-hosted/deploy/docker-compose/upgrade.mdx | 4 ++++
.../deploy/docker-single-container/index.mdx | 6 +++++-
docs/self-hosted/deploy/kubernetes/index.mdx | 4 +++-
docs/self-hosted/deploy/kubernetes/upgrade.mdx | 2 +-
docs/self-hosted/external-services/postgres.mdx | 7 +++++--
.../self-hosted/how-to/postgres-12-to-16-drift.mdx | 2 +-
.../how-to/upgrade-postgres-12-16-builtin-dbs.mdx | 6 +++++-
docs/self-hosted/postgres.mdx | 14 +++++++++++++-
docs/self-hosted/postgres12-end-of-life-notice.mdx | 8 ++++++--
docs/self-hosted/updates/index.mdx | 2 +-
10 files changed, 44 insertions(+), 11 deletions(-)
diff --git a/docs/self-hosted/deploy/docker-compose/upgrade.mdx b/docs/self-hosted/deploy/docker-compose/upgrade.mdx
index 85be4fc4d..8c4d83c97 100644
--- a/docs/self-hosted/deploy/docker-compose/upgrade.mdx
+++ b/docs/self-hosted/deploy/docker-compose/upgrade.mdx
@@ -68,6 +68,10 @@ $ docker-compose up -d --remove-orphans
> advisement.{' '}
>
+
+If you are upgrading to Sourcegraph 7.0.0 or later and your databases are still on PostgreSQL 12, you must first upgrade to a 6.x release (such as 6.11.x) to allow the automatic PostgreSQL 12 to 16 upgrade to complete. The entrypoint script that performs this upgrade has been removed in 7.0.0.
+
+
To perform a multi-version upgrade via migrators [upgrade](/self-hosted/updates/migrator/migrator-operations#upgrade) command on a Sourcegraph instance running on Docker compose follow the procedure below:
1. **Check Upgrade Readiness**:
diff --git a/docs/self-hosted/deploy/docker-single-container/index.mdx b/docs/self-hosted/deploy/docker-single-container/index.mdx
index a55289e90..1de867345 100644
--- a/docs/self-hosted/deploy/docker-single-container/index.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/index.mdx
@@ -140,6 +140,10 @@ SELECT * FROM users;
### Postgresql 16
+
+The single-container deployment (`sourcegraph/server`) is sunset in Sourcegraph 7.0.0 and is no longer supported. The automatic PostgreSQL 12 to 16 upgrade procedure described below only applies to Sourcegraph 5.10.x through 6.x releases. Users should migrate to a supported deployment type before upgrading to 7.0.0.
+
+
> Warning: The 5.11 release updates the database container images from Postgres 12 to Postgres 16. Customers are advised to have a database backup before upgrading! See our [postgres 12 end of life](https://sourcegraph.com/docs/self-hosted/postgres12-end-of-life-notice#postgres-12-end-of-life) notice!
From sourcegraph version 5.11 onwards, the Sourcegraph single container Docker image uses Postgresql 16. Upgrading from Postgresql 12 to Postgresql 16 is a manual process, that is similar to the one outlined below for multi-version upgrades, but migrator has been merged into the container, allowing for a simpler upgrade.
@@ -267,7 +271,7 @@ The version of this Postgres container is dependent on the version of the instan
| `3.20.X` - `3.29.X` | `postgres-12.6` |
| `3.30.X` - `3.37.X` | `postgres-12.6-alpine` |
| `3.38.X` - `5.9.X` | `postgres-12-alpine` |
-| `5.10.X` - | `postgresql-16` |
+| `5.10.X` - `6.x` | `postgresql-16` |
## Troubleshooting
diff --git a/docs/self-hosted/deploy/kubernetes/index.mdx b/docs/self-hosted/deploy/kubernetes/index.mdx
index 10a95dd28..d92af9231 100644
--- a/docs/self-hosted/deploy/kubernetes/index.mdx
+++ b/docs/self-hosted/deploy/kubernetes/index.mdx
@@ -1025,7 +1025,9 @@ When all pods have restarted and show as Running, you can browse to your Sourceg
`v6.1.x`, `v6.2.x`, etc.) must first upgrade to `v5.10.3940` or
`v5.11.6271` and then use the standard upgrade procedure to get to their
target version. This is because migrator in all versions from `v6.0.0`
- onwards will no longer connect to Postgres 12 databases. For more info see
+ onwards will no longer connect to Postgres 12 databases. Additionally,
+ starting in Sourcegraph 7.0.0, the automatic PostgreSQL 12 to 16 upgrade
+ entrypoint script has been removed entirely. For more info see
our [PostgreSQL upgrade docs](/self-hosted/postgres#requirements).
diff --git a/docs/self-hosted/deploy/kubernetes/upgrade.mdx b/docs/self-hosted/deploy/kubernetes/upgrade.mdx
index c11a60b01..8f92a4e33 100644
--- a/docs/self-hosted/deploy/kubernetes/upgrade.mdx
+++ b/docs/self-hosted/deploy/kubernetes/upgrade.mdx
@@ -111,7 +111,7 @@ To perform a multi-version upgrade via migrators [upgrade](/self-hosted/updates/
kubectl apply --prune -l deploy=sourcegraph -f cluster.yaml
```
- > Note: This step will ensure that any PostgreSQL upgrade performed as an entrypoint script will have a chance to execute before the migrator is run. For more information see [Upgradeing PostgreSQL](/self-hosted/postgres#upgrading-postgresql).
+ > Note: This step will ensure that any PostgreSQL upgrade performed as an entrypoint script will have a chance to execute before the migrator is run. For more information see [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql). **Starting in Sourcegraph 7.0.0, the entrypoint upgrade script has been removed. Users on PostgreSQL 12 must upgrade to a 6.x release first.**
4. **Run Migrator with the `upgrade` command**:
diff --git a/docs/self-hosted/external-services/postgres.mdx b/docs/self-hosted/external-services/postgres.mdx
index 41b590631..31b58978c 100644
--- a/docs/self-hosted/external-services/postgres.mdx
+++ b/docs/self-hosted/external-services/postgres.mdx
@@ -5,8 +5,11 @@ You can use your own PostgreSQL v16+ server with Sourcegraph if you wish. For ex
Please review the [PostgreSQL](/self-hosted/postgres) documentation for a complete list of requirements.
- As of version 6.0.0 The Sourcegraph application will require PostgreSQL
- v16+, earlier versions worked with 12 or greater.
+ As of version 6.0.0, the Sourcegraph application requires PostgreSQL
+ v16+, earlier versions worked with 12 or greater. Starting in 7.0.0,
+ the automatic PostgreSQL 12 to 16 upgrade entrypoint script has been
+ removed from the built-in database images. Users with external databases
+ must ensure they are running PostgreSQL 16 before upgrading to 7.0.0.
## General recommendations
diff --git a/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx b/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx
index 5f1c5fbcf..6b9f9a0a3 100644
--- a/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx
+++ b/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx
@@ -1,6 +1,6 @@
# PostgreSQL 12 to 16 Schema Drift
-In Sourcegraph versions `5.10.x` and `5.11.x` we support both PostgreSQL 12 and 16. However, Sourcegraph's database management tool `migrator` expects the database schema of the various Sourcegraph databases to be in an exact expected state. The upgrade from PostgreSQL 12 to 16 is opinionated and automatically mutates the schema without running our application defined migrations. Starting in Sourcegraph `5.10.0` we expect databases to be in PostgresSQL 16 and as such our tooling will identify schema drift in PostgreSQL 12 databases. This drift does not impact the functionality of the Sourcegraph instance but will stop migrator's multiversion `upgrade` command from executing.
+In Sourcegraph versions `5.10.x` and `5.11.x` we support both PostgreSQL 12 and 16. However, Sourcegraph's database management tool `migrator` expects the database schema of the various Sourcegraph databases to be in an exact expected state. The upgrade from PostgreSQL 12 to 16 is opinionated and automatically mutates the schema without running our application defined migrations. Starting in Sourcegraph `5.10.0` we expect databases to be in PostgresSQL 16 and as such our tooling will identify schema drift in PostgreSQL 12 databases. This drift does not impact the functionality of the Sourcegraph instance but will stop migrator's multiversion `upgrade` command from executing. Note that starting in Sourcegraph 7.0.0, the entrypoint script that performs the automatic PostgreSQL 12 to 16 upgrade has been removed. Users must complete this upgrade on a 6.x release.
> **Note:** The autoupgrade feature has been removed in Sourcegraph 6.12.0 and later. The instructions below for autoupgrade only apply to versions prior to 6.12.0.
diff --git a/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx b/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx
index 2f12582c8..512723664 100644
--- a/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx
+++ b/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx
@@ -1,6 +1,10 @@
# Upgrading Built-in PostgreSQL
-The following doc contains detailed instructions for upgrading the built-in PostgreSQL databases. Via our `postgresql-16` and `postgresql-16-codeinsights` image entrypoint script. This doc assumes an admin is attempting to upgrade to Sourcegraph `6.0.0` from an older version (usually pre `5.10.0`) using one of our "deploy" repos. For more general info see [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql).
+
+The entrypoint script described in this guide was removed in Sourcegraph 7.0.0. This guide only applies to upgrades targeting Sourcegraph 5.10.x through 6.x. Users on PostgreSQL 12 must complete this upgrade on a 6.x release before upgrading to 7.0.0 or later.
+
+
+The following doc contains detailed instructions for upgrading the built-in PostgreSQL databases via our `postgresql-16` and `postgresql-16-codeinsights` image entrypoint script. This doc assumes an admin is attempting to upgrade to Sourcegraph `6.0.0` from an older version (usually pre `5.10.0`) using one of our "deploy" repos. For more general info see [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql).
> WARNING: Upgrading the PostgreSQL database requires stopping your Sourcegraph deployment which will result in **downtime**.
>
diff --git a/docs/self-hosted/postgres.mdx b/docs/self-hosted/postgres.mdx
index 1dee69c48..6b1cb0bab 100644
--- a/docs/self-hosted/postgres.mdx
+++ b/docs/self-hosted/postgres.mdx
@@ -61,6 +61,10 @@ Database Image Updates:
These images contain an entry script that will detect and upgrade Postgres instances from version 12 (the version in our previous images) to Postgres 16.
+
+Starting in Sourcegraph 7.0.0, the entrypoint script that automatically upgrades PostgreSQL 12 to 16 has been removed from the database container images. Users still on PostgreSQL 12 must upgrade to a 6.x version first to perform the automatic upgrade before upgrading to 7.0.0 or later.
+
+
> WARNING: Upgrading the PostgreSQL database requires stopping your Sourcegraph deployment which will result in **downtime**.
>
> Additionally, once the upgrade process is started via the database container, interrupting the container before the upgrade is complete could result in corrupting the underlying Postgres database. **We strongly advise taking a backup before the upgrade.**
@@ -76,6 +80,10 @@ For additional assistance with PostgreSQL upgrades, please contact support@sourc
### Upgrade entrypoint script options
+
+The entrypoint upgrade script and its configuration options described below were removed in Sourcegraph 7.0.0. This section only applies to Sourcegraph 5.10.x through 6.x releases.
+
+
The `PG_UPGRADE_EXTRA_ARGS` environment variable allows you to customize the `pg_upgrade` command in `postgresql-16` and `postgresql-16-codeinsights` deployments.
- **Quick upgrade option:**
@@ -110,4 +118,8 @@ When running an [external PostgreSQL instance](/self-hosted/external-services/po
The single-container (`sourcegraph/server`) deployment mode has been removed in Sourcegraph 7.0.0. [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
-Sourcegraph Single-container is not a supported production deployment and currently doesn't support upgrades to Postgres 16. Admins with production data in a single container deployment are advised to reach out to support@sourcegraph.com for assistance.
+
+The single-container deployment (`sourcegraph/server`) is sunset in Sourcegraph 7.0.0 and is no longer supported. Admins using single-container deployments should migrate to a supported deployment type such as [Docker Compose](/self-hosted/deploy/docker-compose/) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+
+
+For versions prior to 7.0.0, single-container deployments do not support automatic PostgreSQL upgrades. Admins with production data in a single-container deployment are advised to reach out to support@sourcegraph.com for assistance.
diff --git a/docs/self-hosted/postgres12-end-of-life-notice.mdx b/docs/self-hosted/postgres12-end-of-life-notice.mdx
index b4b2b19d2..b1f738f1d 100644
--- a/docs/self-hosted/postgres12-end-of-life-notice.mdx
+++ b/docs/self-hosted/postgres12-end-of-life-notice.mdx
@@ -1,5 +1,9 @@
# Postgres 12 End of Life
+
+As of Sourcegraph 7.0.0, the automatic PostgreSQL 12 to 16 upgrade entrypoint script has been fully removed from the database container images. Users still on PostgreSQL 12 must upgrade to a Sourcegraph 6.x release first to perform the automatic database upgrade before upgrading to 7.0.0 or later.
+
+
Sourcegraph's required minimum version of Postgres will be updated to Postgres 16 with upcoming releases, Sourcegraph 5.10. This change in required minimum version is a result of Postgres 12, the previous required minimum version, reaching end of life. Please review the below information and reach out if you have any questions or would like to review the impact this change will have on you!
## What
@@ -34,9 +38,9 @@ The steps for upgrading your version of Postgres will be dependent on your organ
## Call to Action
-- If you are using Sourcegraph's built-in database images, please work with your account team to plan for an extended downtime as part of your first upgrade to Sourcegraph 5.10 or beyond.
+- If you are using Sourcegraph's built-in database images and are still on PostgreSQL 12, you must upgrade to a Sourcegraph 6.x release (such as 6.11.x) to trigger the automatic PostgreSQL upgrade before upgrading to 7.0.0. The automatic upgrade entrypoint script is not available in 7.0.0 or later.
-- If you are using external databases, please follow the appropriate processes to upgrade your Sourcegraph databases to Postgres 16. This will be required to upgrade to the versions of Sourcegraph released on and after January 15, 2025.
+- If you are using external databases, please follow the appropriate processes to upgrade your Sourcegraph databases to Postgres 16. This is required for all Sourcegraph versions 6.0.0 and later, and 7.0.0 will only connect to PostgreSQL 16 databases.
## Frequently Asked Questions
diff --git a/docs/self-hosted/updates/index.mdx b/docs/self-hosted/updates/index.mdx
index 7e2e3c578..0ce30230f 100644
--- a/docs/self-hosted/updates/index.mdx
+++ b/docs/self-hosted/updates/index.mdx
@@ -134,7 +134,7 @@ If your instance has schema drift or unfinished oob migrations you may need to a
## Other helpful links
- [PostgreSQL Collation Version Mismatch Resolution](/self-hosted/postgresql-collation-version-mismatch-resolution)
-- [Postgres 12 End Of Life Notice](/self-hosted/postgres12-end-of-life-notice)
+- [Postgres 12 End Of Life Notice](/self-hosted/postgres12-end-of-life-notice) — **Note:** Starting in 7.0.0, the automatic PG12→PG16 upgrade entrypoint script has been removed. Users on PG12 must upgrade to a 6.x release first.
- [Migrator operations](/self-hosted/updates/migrator/migrator-operations)
- [Upgrading Early Versions](/self-hosted/updates/migrator/upgrading-early-versions)
- [Troubleshooting upgrades](/self-hosted/updates/migrator/troubleshooting-upgrades)
From cde2003724835ff8c7f2a055945ddbd38b5c7577 Mon Sep 17 00:00:00 2001
From: Travis Lyons
Date: Fri, 20 Feb 2026 08:55:52 -0500
Subject: [PATCH 008/217] docs: update scip-go docs (#1606)
- highlight scip-go-action usage
- document manual indexing steps for other CI systems and local indexing
- initial, standardized, layout for scip indexer docs
---
.../how-to/index-a-go-repository.mdx | 131 ++++++++----------
docs/code-navigation/how-to/index.mdx | 2 +-
2 files changed, 60 insertions(+), 73 deletions(-)
diff --git a/docs/code-navigation/how-to/index-a-go-repository.mdx b/docs/code-navigation/how-to/index-a-go-repository.mdx
index 69fd5dacf..f3fa4c720 100644
--- a/docs/code-navigation/how-to/index-a-go-repository.mdx
+++ b/docs/code-navigation/how-to/index-a-go-repository.mdx
@@ -1,91 +1,68 @@
-# Go SCIP indexing
+# Index a Go repository
- This page describes how you can automate data indexing in SCIP for Go
- codebases or index data manually.
+ This page describes how you can use [scip-go](https://github.com/sourcegraph/scip-go) and [src-cli](https://github.com/sourcegraph/src-cli) to enable precise indexing for Go codebases.
-## Automated indexing
+## GitHub Actions
-Sourcegraph provides the Docker images `sourcegraph/scip-go` and `sourcegraph/src-cli` so that you can easily automate indexing in your favorite CI framework. Note that the `scip-go` image bundles `src-cli`, so the second image may not be necessary.
+[sourcegraph/scip-go-action](https://github.com/sourcegraph/scip-go-action) can be used to index a Go repository using GitHub Actions.
-The following examples show you how to set up automated indexing in a few popular frameworks. You'll need to substitute the indexer and upload commands with what works for your project locally. If you implement automated indexing in a different framework, feel free to edit this page with instructions!
+The action installs the latest versions of [src-cli](https://github.com/sourcegraph/src-cli) and [scip-go](https://github.com/sourcegraph/scip-go)
+and relies on setup of a go environment to build your application, prior to running.
+
+If your Sourcegraph instance enforces GitHub validation (`lsifEnforceAuth`), add `-github-token=` to the `src code-intel upload` command.
+
+Use a GitHub App installation access token when available, or fall back to a GitHub user token (classic PAT or fine-grained token) with `public_repo` scope and `ADMIN`, `MAINTAIN`, or `WRITE` access to the repository.
-### GitHub Actions
```yaml
+name: scip-go
on:
- - push
+ push:
+
+permissions:
+ contents: read
jobs:
- scip-go:
- # this line will prevent forks of this repo from uploading lsif indexes
- if: github.repository == ''
- runs-on: ubuntu-latest
- container: sourcegraph/scip-go:latest
- steps:
- - uses: actions/checkout@v1
- - name: Generate SCIP data
- run: scip-go
- - name: Install src CLI
- run: |
- curl -L https://sourcegraph.com/.api/src-cli/src_linux_amd64 -o /usr/local/bin/src
- chmod +x /usr/local/bin/src
- - name: Upload SCIP data
- # this will upload to Sourcegraph.com, you may need to substitute a different command.
- # by default, we ignore failures to avoid disrupting CI pipelines with non-critical errors.
- run: src code-intel upload -github-token=${{ secrets.GITHUB_TOKEN }} -ignore-upload-failure
+ scip-go:
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Go
+ uses: actions/setup-go@v6
+
+ - name: Sourcegraph Code Intelligence
+ uses: sourcegraph/scip-go-action@v1
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ scip-go-version: latest
+ sourcegraph-url: https://sourcegraph.com/
+ sourcegraph-token: ${{ secrets.SRC_ACCESS_TOKEN }}
+ upload: true
```
-### CircleCI
+## CI/CD Integrations and Local Indexing
-```yaml
-version: 2.1
+For integration with other CI/CD systems, or to test precise indexing of an individual repository, the following instructions can be used
+to install and run `scip-go` and `src-cli`.
-jobs:
- scip-go:
- docker:
- - image: sourcegraph/scip-go:latest
- steps:
- - checkout
- - run: scip-go
- - run: |
- curl -L https://sourcegraph.com/.api/src-cli/src_linux_amd64 -o /usr/local/bin/src
- chmod +x /usr/local/bin/src;
- # this will upload to Sourcegraph.com, you may need to substitute a different command.
- # by default, we ignore failures to avoid disrupting CI pipelines with non-critical errors.
- - run: src code-intel upload -github-token=<> -ignore-upload-failure
-
-workflows:
- scip-go:
- jobs:
- - scip-go
-```
+
+ For general CI patterns (sub-projects, custom build environments, and upload frequency), see [Adding precise code navigation to CI/CD workflows](/code-navigation/how-to/adding-scip-to-workflows).
+
-### Travis CI
+### Setup
-```yaml
-services:
- - docker
+1. Install the [Go SCIP indexer](https://github.com/sourcegraph/scip-go):
-jobs:
- include:
- - stage: scip-go
- # this will upload to Sourcegraph.com, you may need to substitute a different command.
- # by default, we ignore failures to avoid disrupting CI pipelines with non-critical errors.
- script:
- - |
- docker run --rm -v $(pwd):/src -w /src sourcegraph/scip-go:latest /bin/sh -c \
- "scip-go; curl -L https://sourcegraph.com/.api/src-cli/src_linux_amd64 -o /usr/local/bin/src; chmod +x /usr/local/bin/src; src code-intel upload -github-token=$GITHUB_TOKEN -ignore-upload-failure"
+```shell
+go install github.com/sourcegraph/scip-go/cmd/scip-go@latest
```
-## Manual indexing
-
-1. Install the [Go SCIP indexer](https://github.com/sourcegraph/scip-go).
-
-1. Install the [Sourcegraph CLI](https://github.com/sourcegraph/src-cli) with the following command:
+2. Install the [Sourcegraph CLI](https://github.com/sourcegraph/src-cli):
-```sh
+```shell
curl -L https://sourcegraph.com/.api/src-cli/src_linux_amd64 -o /usr/local/bin/src
chmod +x /usr/local/bin/src
```
@@ -93,18 +70,28 @@ jobs:
- **macOS**: Replace `linux` with `darwin` in the URL and choose the appropriate architecture: M1/M2 chips - `arm64`, Intel chips - `amd64`.
- **Windows**: Visit [the CLI repo](https://github.com/sourcegraph/src-cli) for further instructions.
+### Indexing
+
1. `cd` into your Go project's root (where the `go.mod` file lives, if you have one) and run:
-```sh
+```shell
scip-go # generates a file named index.scip
```
-1. Upload the data to a Sourcegraph instance with:
+
+ If you have multiple go modules, run scip-go at the root of each module and adjust
+ the src code-intel upload command with the appropriate `-root` flag for each generated index.scip file.
+
+
+2. Upload the data to a Sourcegraph instance with:
-```sh
+```shell
+export SRC_ENDPOINT="YOUR_SOURCEGRAPH_URL"
+export SRC_ACCESS_TOKEN="YOUR_SOURCEGRAPH_API_TOKEN"
- src -endpoint= code-intel upload # for private instances
- src code-intel upload -github-token= # for public instances
+cd path/to/index.scip
+src code-intel upload
```
-The upload command will provide a URL you can visit to see the upload status. When the upload is complete, you can visit the repo and check out the difference in code navigation quality!
+The upload command will provide a URL you can visit to see the upload status.
+
diff --git a/docs/code-navigation/how-to/index.mdx b/docs/code-navigation/how-to/index.mdx
index d6ba7665e..e62088f66 100644
--- a/docs/code-navigation/how-to/index.mdx
+++ b/docs/code-navigation/how-to/index.mdx
@@ -2,7 +2,7 @@
- [Adding precise code navigation to CI/CD workflows](/code-navigation/how-to/adding-scip-to-workflows)
- [Combining SCIP uploads from CI/CD and auto-indexing](/code-navigation/how-to/combining-scip-uploads-from-ci-cd-and-auto-indexing)
-- [Go SCIP indexing](/code-navigation/how-to/index-a-go-repository)
+- [Index a Go repository](/code-navigation/how-to/index-a-go-repository)
- [Index a TypeScript or JavaScript repository](/code-navigation/how-to/index-a-typescript-and-javascript-repository)
- [Index other languages](/code-navigation/how-to/index-other-languages)
- [Code intelligence policies resource usage best practices](/code-navigation/how-to/policies-resource-usage-best-practices)
From 2a03b71d1bef0da9fc28958a22e6e37b4f5c6e85 Mon Sep 17 00:00:00 2001
From: Felix Kling
Date: Sun, 22 Feb 2026 21:15:43 +0100
Subject: [PATCH 009/217] Update own documentation (#1620)
This PR updates the own documentation to reflect the new behavior of
this feature.
---------
Co-authored-by: Erik Seliger
---
docs/admin/access-control/index.mdx | 1 -
docs/admin/access-control/ownership.mdx | 7 --
docs/admin/index.mdx | 1 -
docs/admin/teams.mdx | 113 ------------------
.../codeowners-format.mdx | 8 --
docs/code-ownership/index.mdx | 57 +++++++++
docs/code-search/queries/index.mdx | 2 +-
docs/own/assigned-ownership.mdx | 96 ---------------
docs/own/codeowners-ingestion.mdx | 57 ---------
docs/own/configuration-reference.mdx | 58 ---------
docs/own/index.mdx | 98 ---------------
docs/technical-changelog.mdx | 4 +-
src/data/navigation.ts | 16 +--
src/data/redirects.ts | 26 ++++
14 files changed, 88 insertions(+), 456 deletions(-)
delete mode 100644 docs/admin/access-control/ownership.mdx
delete mode 100644 docs/admin/teams.mdx
rename docs/{own => code-ownership}/codeowners-format.mdx (86%)
create mode 100644 docs/code-ownership/index.mdx
delete mode 100644 docs/own/assigned-ownership.mdx
delete mode 100644 docs/own/codeowners-ingestion.mdx
delete mode 100644 docs/own/configuration-reference.mdx
delete mode 100644 docs/own/index.mdx
diff --git a/docs/admin/access-control/index.mdx b/docs/admin/access-control/index.mdx
index 98652e757..87382e8f3 100644
--- a/docs/admin/access-control/index.mdx
+++ b/docs/admin/access-control/index.mdx
@@ -42,7 +42,6 @@ To edit the permissions granted to a role, click the role to expand it, then sel
You can read about the specific permission types available for each RBAC-enabled product area below:
- [Batch Changes](/admin/access-control/batch-changes)
-- [Ownership](/admin/access-control/ownership)
- [Service accounts](/admin/service-accounts)
### Deleting a role
diff --git a/docs/admin/access-control/ownership.mdx b/docs/admin/access-control/ownership.mdx
deleted file mode 100644
index 9258e22a5..000000000
--- a/docs/admin/access-control/ownership.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-# Access control for Ownership
-
-Granular controls for who can assign [Ownership](/own/) can be configured by site admins by tuning the roles assigned to users and the permissions granted to those roles. This page describes the permission types available for Ownership, and whether they are granted by default to the **User** [system role](/admin/access-control/#system-roles). All permissions are granted to the **Site Administrator** system role by default.
-
-| Name | Description | Granted to **User** by default? |
-| ------------------- | ---------------------------------------------------------------------------- | :-----------------------------: |
-| `ownerships:assign` | Assign ownership to users and teams on repository, directory and file levels | ✗ |
diff --git a/docs/admin/index.mdx b/docs/admin/index.mdx
index 608dbc753..7f47826d0 100644
--- a/docs/admin/index.mdx
+++ b/docs/admin/index.mdx
@@ -64,6 +64,5 @@ Sourcegraph administration is primarily managed by site administrators, who are
- [Configure search scopes](/code-search/working/snippets)
- [Integrate with Phabricator](/integration/phabricator)
- [Add organizations](/admin/organizations)
-- [Add teams](/admin/teams) (Experimental)
- [Configuring rate limits](/admin/code-hosts/rate-limits)
- [Configuring command recording](/admin/repo/recording)
diff --git a/docs/admin/teams.mdx b/docs/admin/teams.mdx
deleted file mode 100644
index ea902b21e..000000000
--- a/docs/admin/teams.mdx
+++ /dev/null
@@ -1,113 +0,0 @@
-# Modeling teams in Sourcegraph
-
-
- This feature is in Experimental stage and might change in the future.
-
-
-Teams in Sourcegraph are groups of users with a common handle. Teams are structured as a tree, so teams can have child teams.
-
-Example team structure that can be modeled:
-
-```
-Engineering
-├─ Security
-├─ Code Graph
-│ ├─ Batch Changes
-│ ├─ Code Insights
-├─ source
-│ ├─ Repo Management
-│ ├─ IAM
-Product
-```
-
-Teams in Sourcegraph are usable in [code ownership](/own/), and other features in the future. Teams can be code owners and will influence the code ownership experience. You can search for code owned by a specific team, and in the future advanced ownership analytics will be informed by given team structures.
-
-## Configuring teams
-
-Teams can either be defined directly in Sourcegraph, or be ingested from external systems into Sourcegraph using [src-cli](https://github.com/sourcegraph/src-cli). A team name must be globally unique, and the global namespace for names is shared among users, teams, and orgs.
-
-### From the UI
-
-Go to **Teams** from the user navbar item. On this page, click "Create team". A team needs to have a unique name and can optionally take a display name. Additionally, you can add a parent team to build a tree structure as outlined above.
-
-After hitting create, you will be redirected to the team page where you can add Sourcegraph users as team members.
-
-> NOTE: It's common to define teams in Sourcegraph from a third party system. Teams defined from src-cli using the `-read-only` flag cannot be modified from the UI to prevent state drift from external systems.
-
-### From the CLI
-
-If you prefer a command line based approach, or would like to integrate an external system of record for teams into Sourcegraph, [src-cli](https://github.com/sourcegraph/src-cli) provides commands to manage teams:
-
-```bash
-# List configured teams. Lists root teams, using -parent-team can read child teams.
-src teams list [-query=] [-parent-team=]
-
-# Create a new team.
-src teams create -name= [-display-name=] [-parent-team=] [-read-only]
-
-# Update a team.
-src teams update -name= [-display-name=] [-parent-team=]
-
-# Delete a team.
-src teams delete -name=
-
-# List team members.
-src teams members list -name= [-query=]
-
-# Add a new team member. See user account matching for details on how this works.
-src teams members add -team-name= [-email=] [-username=] [-id=] [-external-account-service-id= -external-account-service-type= [-external-account-account-id=] [-external-account-login=]] [-skip-unmatched-members]
-
-# Remove a team member. See user account matching for details on how this works.
-src teams members remove -team-name= [-email=] [-username=] [-id=] [-external-account-service-id= -external-account-service-type= [-external-account-account-id=] [-external-account-login=]] [-skip-unmatched-members]
-```
-
-#### User account matching
-
-Matching a user account in Sourcegraph from an external system can be achieved in a few different ways: Sourcegraph User ID, Sourcegraph account email, Sourcegraph username or an explicit external-account mapping can be provided.
-
-The matching order is as follows:
-
-- try Sourcegraph user ID
-- then try email
-- then try username
-- then try external-account
-
-Example for external account matching with configured GitHub auth provider:
-
-```bash
-# Match a user with the account ID 123123123:
-src teams members add \
- -team-name='engineering' \
- -external-account-service-id='https://github.com/' \
- -external-account-service-type='github' \
- -external-account-account-id='123123123'
-# Match a user with the GitHub login handle alice:
-src teams members add \
- -team-name='engineering' \
- -external-account-service-id='https://github.com/' \
- -external-account-service-type='github' \
- -external-account-login='alice'
-```
-
-### Permissions in teams
-
-For now, team permissions are based on membership. Read-only teams are only editable by site-admins. The creator of a team can always modify it, even if they are not a member of it.
-
-| **Action** | **Site-admin** | **Regular user** | **Direct team member** |
-| :-------------------------------------: | :------------: | :--------------: | :--------------------: |
-| Reading teams, metadata and members | 🟢 | 🟢 | 🟢 |
-| Creating a new team | 🟢 | 🟢 | n/a |
-| Creating a new child team | 🟢 | 🔴 | 🟢 |
-| Creating a new read-only team | 🟢 | 🔴 | n/a |
-| Updating team details/metadata | 🟢 | 🔴 | 🟢 |
-| Deleting a team | 🟢 | 🔴 | 🟢 |
-| Deleting a read-only team | 🟢 | 🔴 | 🔴 |
-| Adding a member to a team | 🟢 | 🔴 | 🟢 |
-| Removing a member from a team | 🟢 | 🔴 | 🟢 |
-| Adding a member to a read-only team | 🟢 | 🔴 | 🔴 |
-| Removing a member from a read-only team | 🟢 | 🔴 | 🔴 |
-
-### Known limitations
-
-- Read-only teams can only be created by site-admins
-- Identity Provider / SCIM integrations are not available at the moment
diff --git a/docs/own/codeowners-format.mdx b/docs/code-ownership/codeowners-format.mdx
similarity index 86%
rename from docs/own/codeowners-format.mdx
rename to docs/code-ownership/codeowners-format.mdx
index 5eced2c79..fc7233561 100644
--- a/docs/own/codeowners-format.mdx
+++ b/docs/code-ownership/codeowners-format.mdx
@@ -60,11 +60,3 @@ docs/CODEOWNERS
```
Searches at specific commits will return any `CODEOWNERS` data that exists at that specific commit.
-
-## Uploading a `CODEOWNERS` file to Sourcegraph
-
-> Use this approach if you don't want to commit `CODEOWNERS` files to your repos, or if you have an existing system that tracks ownership data and want to sync that data with Sourcegraph.
-
-Read more on how to [manually ingest `CODEOWNERS` data](/own/codeowners-ingestion) into your Sourcegraph instance.
-
-The [docs](/own/codeowners-ingestion) detail how to use the UI or `src-cli` to upload `CODEOWNERS` files to Sourcegraph.
diff --git a/docs/code-ownership/index.mdx b/docs/code-ownership/index.mdx
new file mode 100644
index 000000000..6eb3a79ba
--- /dev/null
+++ b/docs/code-ownership/index.mdx
@@ -0,0 +1,57 @@
+# Code ownership
+
+Code ownership is aimed at helping find the right person and team to contact, for any question, at any time.
+
+## Concepts
+
+**Owner**: An owner is defined as a person in Sourcegraph.
+
+A _person_ can be:
+
+- a Sourcegraph user which we were able to resolve from the `CODEOWNERS` handle or email, in which case we link to their profile.
+- an unknown user for which we were unable to resolve a profile, in which case we will return the `CODEOWNERS` data we have.
+
+## Code ownership
+
+Code ownership is set via [the `CODEOWNERS` format](/code-ownership/codeowners-format).
+
+## Limitations
+
+- The feature has not been fully validated to work well on large repositories or large `CODEOWNERS` rulesets. This is a future area of improvement, but please contact us if you run into issues.
+
+## Browsing ownership
+
+The ownership information is available for browsing once ownership data is available through [a `CODEOWNERS` file](#code-ownership).
+
+When displaying a source file, there is an "Owernship" button at the bottom. Clicking it will open the "Owernship" panel.
+
+
+
+## Ownership search
+
+### Searching for files with owners
+
+Code ownership is a first-class citizen in search. Ownership can be either a query input or a search result:
+
+- `file:has.owner(user@example.com)` keeps only the search results associated with given user (here referred to by e-mail).
+- `-file:has.owner(@username)` removes all results owned by specific user (here referred to by name).
+
+Ownership predicate can also be used without parameters:
+
+-`file:has.owner()` will only include files with an owner assigned to them. -`-file:has.owner()` will only include files without an owner.
+
+When performing a search the `select:file.owners` predicate will return the owners for the result of that search.
+
+For instance one can find all the owners of TypeScript files in a given repository by using `repo:^github\.com/sourcegraph/sourcegraph$ lang:TypeScript select:file.owners`.
+
+### Find commits in given release for given owner
+
+To find all commits between versions `5.0` and `5.1` made by `sourcegraph/own` team, the following query could be used:
+
+`repo:^github\.com/sourcegraph/sourcegraph$@5.1:^5.0 type:commit file:has.owner(sourcegraph/own)`
+
+## Further reading
+
+In order to learn more please check out our references:
+
+- [CODEOWNERS format](/code-ownership/codeowners-format) - Guide to using the CODEOWNERS file format to define ownership
diff --git a/docs/code-search/queries/index.mdx b/docs/code-search/queries/index.mdx
index 6beb9f05a..b8dfa9f3b 100644
--- a/docs/code-search/queries/index.mdx
+++ b/docs/code-search/queries/index.mdx
@@ -85,7 +85,7 @@ The following filters can be used on all searches (using [RE2 syntax](https://go
| **repo:has.commit.after(...)** | Filter out stale repositories that don't contain commits past the specified time frame. See [built-in predicates](/code-search/queries/language#built-in-repo-predicate) for more | [`repo:has.commit.after(yesterday)`](https://sourcegraph.com/search?q=context:global+repo:.*sourcegraph.*+repo:has.commit.after%28yesterday%29&patternType=keyword) [`repo:has.commit.after(june 25 2017)`](https://sourcegraph.com/search?q=context:global+repo:.*sourcegraph.*+repo:has.commit.after%28june+25+2017%29&patternType=keyword) |
| **rev:at.time(...)** | Search a repo or a branch at a specific point in time. | [`rev:at.time(1 year ago)`](https://sourcegraph.com/search?q=context:global+repo:%5Egithub%5C.com/sourcegraph/sourcegraph%24+rev:at.time%281+year+ago%29+&patternType=keyword&sm=0) [`rev:at.time(2021-01-01)`](https://sourcegraph.com/search?q=context:global+repo:%5Egithub%5C.com/sourcegraph/sourcegraph%24+rev:at.time%282021-01-01%2C+v5.0.0%29+&patternType=keyword) |
| **file:has.content(...)** | Conditionally search files only if they contain contents that match the provided regex pattern. See [built-in predicates](/code-search/queries/language#built-in-repo-predicate) for more | [`file:has.content(Copyright) Sourcegraph`](https://sourcegraph.com/search?q=context:global+file:has.content%28Copyright%29+Sourcegraph&patternType=keyword) |
-| **file:has.owners(...)** | **Beta** Conditionally search files only if they are owned by the given owner. Empty means _any owner_. See [code ownership documentation](/own) for more | [`file:has.owner(alice@sourcegraph.com) Sourcegraph`](https://sourcegraph.com/search?q=context:global+file:has.owner%28alice@sourcegraph.com%29+Sourcegraph&patternType=keyword) |
+| **file:has.owners(...)** | Conditionally search files only if they are owned by the given owner. Empty means _any owner_. See [code ownership documentation](/code-ownership) for more | [`file:has.owner(alice@sourcegraph.com) Sourcegraph`](https://sourcegraph.com/search?q=context:global+file:has.owner%28alice@sourcegraph.com%29+Sourcegraph&patternType=keyword) |
| **file:has.contributor(...)** | Conditionally search files only if a file contributor's name or email matches the provided regex pattern. See [built-in predicates](/code-search/queries/language#built-in-file-predicate) for more | [`file:has.contributor(alice@sourcegraph.com) Sourcegraph`](https://sourcegraph.com/search?q=context:global+file:has.owner%28alice@sourcegraph.com%29+Sourcegraph&patternType=keyword) |
| **count:_N_,< /> count:all** | Retrieve N results. By default, Sourcegraph stops searching early and returns if it finds a full page of results. This is desirable for most interactive searches. To wait for all results, use **count:all** | [`count:1000 function`](https://sourcegraph.com/search?q=count:1000+repo:sourcegraph/sourcegraph$+function) [`count:all err`](https://sourcegraph.com/search?q=repo:github.com/sourcegraph/sourcegraph+err+count:all&patternType=keyword) |
| **timeout:_go-duration-value_** | Customizes the timeout for searches. The value of the parameter is a string that can be parsed by the [Go time package's `ParseDuration`](https://golang.org/pkg/time/#ParseDuration) (e.g. 10s, 100ms). By default, the timeout is set to 10 seconds, and the search will optimize for returning results as soon as possible. The timeout value cannot be set longer than 1 minute. When provided, the search is given the full timeout to complete | [`repo:^github.com/sourcegraph timeout:15s func count:10000`](https://sourcegraph.com/search?q=repo:%5Egithub.com/sourcegraph/+timeout:15s+func+count:10000) |
diff --git a/docs/own/assigned-ownership.mdx b/docs/own/assigned-ownership.mdx
deleted file mode 100644
index f68f08638..000000000
--- a/docs/own/assigned-ownership.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
-# Assigned ownership
-
-Owners (both users and teams) can be manually assigned. Assignment can be done on a repository, directory or a file level.
-
-Assigned ownership propagates in a top-down manner: e.g.
-
-- If an owner is assigned to the repository, they will be considered an owner for all files and directories of this repository.
-- If an owner is assigned to some directory (e.g. `repo-name/src/abc`) within the repo, they will be considered an owner for all the directories and files within `repo-name/src/abc`, but not for any other directories and files higher up in the hierarchy.
-- If an owner is assigned to some file (e.g. `repo-name/src/abc/a.go`) within the repo, they will be considered an owner only for this file.
-
-## Who can assign ownership
-
-Only site admins can assign ownership by default. For other users, [RBAC should be used](/admin/access-control/ownership) to grant assign ownership right.
-[More](/admin/access-control) about RBAC in Sourcegraph.
-
-## How to assign ownership
-
-### Repository level ownership
-
-Go to the repository page and click "Ownership" button.
-
-
-
-1. Click "Add owner" button, the modal window will open.
-2. Activate "New owner" panel.
-3. Search for the user/team to assign ownership to.
-4. Click "Add owner" button on the modal window.
-
-
-
-Owner is assigned successfully.
-
-
-
-### Directory level ownership
-
-Go to any directory view (in our example it is `cmd/gitserver/internal`) and click "Show more" on Own panel.
-
-
-
-1. Click "Add owner" button, the modal window will open.
-2. Activate "New owner" panel.
-3. Search for the user/team to assign ownership to.
-4. Click "Add owner" button on the modal window.
-
-
-
-Owner is assigned successfully.
-
-
-
-### File level ownership
-
-Go to the blob view of any file (in our example it is `cmd/gitserver/internal/cleanup.go`).
-
-1. Click on the Own bar in the top-right corner.
-2. Click "Add owner" button in the bottom-right corner of an opened Ownership tab.
-3. Activate "New owner" panel.
-4. Search for the user/team to assign ownership to.
-5. Click "Add owner" button on the modal window.
-
-
-
-Owner is assigned successfully.
-
-
-
-## How to remove an assigned owner
-
-### Repository and directory level
-
-Go to the repository page and click "Ownership" button **or** Go to any directory view and click "Show more" on Own panel.
-
-Click on "Remove ownership" button.
-
-
-
-### File level
-
-Go to the blob view of any file and to the Ownership tab.
-
-Click on "Remove ownership" button.
-
-
-
-### Note on removing assigned owners
-
-Owners can be removed only at the same level they were initially assigned. For example:
-
-- If an owner is assigned to the repository, they should be removed from the repository level. They cannot be removed from any directory/file within this repo, even though they are considered owners of these directories/files.
-- If an owner is assigned to some directory within the repo, they should be removed from the same directory. They cannot be removed from any subdirectory/file below this directory, even though they are considered owners of these subdirectories/files.
-- If an owner is assigned to some file within the repo, they should be removed from the same file.
-
-**"Remove ownership" buttons are disabled and the tooltip is shown when a user is attempting to remove an owner from the different place from where this owner has been assigned.**
-
-
diff --git a/docs/own/codeowners-ingestion.mdx b/docs/own/codeowners-ingestion.mdx
deleted file mode 100644
index 4b5a74b24..000000000
--- a/docs/own/codeowners-ingestion.mdx
+++ /dev/null
@@ -1,57 +0,0 @@
-# Codeowners ingestion
-
-This feature is in beta.
-
-Code ownership allows you to surface ownership data using `CODEOWNERS` files.
-This is done automatically if there is a committed `CODEOWNERS` file in your repository at any of the following locations:
-
-```md
-CODEOWNERS
-.github/CODEOWNERS
-.gitlab/CODEOWNERS
-docs/CODEOWNERS
-```
-
-However, it might be you do not want to have a `CODEOWNERS` file committed to your repository (for example, to avoid automatic review requests), or you would like to overwrite the existing one.
-
-Sourcegraph provides a UI and CLI to ingest a `CODEOWNERS` file per-repository, that overrides any existing committed file.
-
-You can ingest one `CODEOWNERS` file per repository.
-At this time the same ingested `CODEOWNERS` file applies to all revisions.
-
-## Ingesting a file through the UI
-
-Navigating to any repository page, clicking the Ownership button will surface information about any ingested `CODEOWNERS` file, and will allow you to upload or update an existing one.
-
-
-
-## Ingesting a file with src-cli
-
-There is the option to ingest data with the Sourcegraph [src-cli](/cli/quickstart).
-The CLI provides `add`, `update`, `delete`, and `list` functionality.
-
-```bash
-'src codeowners' is a tool that manages ingested code ownership data in a Sourcegraph instance.
-
-Usage:
-
- src codeowners command [command options]
-
-The commands are:
-
- get returns the codeowners file for a repository, if exists
- create create a codeowners file
- update update a codeowners file
- delete delete a codeowners file
-
-Use "src codeowners [command] -h" for more information about a command.
-```
-
-The input file can be written inline or passed in.
-
-## Limitations
-
-- Uploaded `CODEOWNERS` files must use either Sourcegraph usernames or email addresses for correct user matching to occur. `CODEOWNERS` files committed to the repo should use either usernames of the codehost the repo is on (e.g. GitHub) or email addresses.
-- The file should respect `CODEOWNERS` formatting for code ownership to surface useful information. No formatting validation is done at upload time.
-- Only site admins can add, update or delete a `CODEOWNERS` file through the ingestion API.
-- Ingested `CODEOWNERS` files are limited to a size of 10Mb if uploaded through the client.
diff --git a/docs/own/configuration-reference.mdx b/docs/own/configuration-reference.mdx
deleted file mode 100644
index a19ae0e3b..000000000
--- a/docs/own/configuration-reference.mdx
+++ /dev/null
@@ -1,58 +0,0 @@
-# Configuration reference
-
-## Ownership signals and background compute
-
-Ownership signals are used to guide the assignment of ownership. These are:
-
-- **Recent contributors signal** counts files modified by commits in the last 90 days.
-- **Recent views signal** counts file views within Sourcegraph in the last 90 days.
-
-Both of these signals are computed by background tasks.
-The values of signals are aggregated and bubble up the file tree.
-That is, for the Ownership data displayed `/a/` directory, all descendant file signals contribute.
-For instance contributions and views of `/a/b/c.go`.
-
-The **Site admin > Code graph > Ownership signals** page allows enabling and disabling each signal individually.
-These need to be explicitly enabled by site admin in order for signals to surface in the UI.
-
-
-
-### Repository filtering
-
-In some cases ownership signals need to be disabled for specified repositories:
-
-- Ownership signals are not desired for certain repositories.
-- Computing signals is expensive due to size of some repositories.
-
-**Exclude repositories** section under each signal in **Site admin > Code graph > Ownership signals** allows to match repositories to exclude from computing ownership signals.
-Materialized list of excluded repositories is displayed for feedback.
-
-
-
-## Analytics
-
-In order to measure how many files have owners, Sourcegraph exposes analytics through **Site admin > Analytics > Own**.
-These present percentage of files that have:
-
-- Any ownership associated,
-- assigned ownership (through the UI),
-- ownership via matching rule in CODEOWNERS file.
-
-Analytics data is computed periodically.
-The background process for computing analytics data has to be enabled explicitly through **Site admin > Code graph > Ownership signals**.
-This is because the process can become computationally expensive.
-
-## Assigned ownership access control
-
-In order to grant users the ability to assign ownership, please use [ownership permission](/admin/access-control/ownership) in role-based access control.
-This is a coarse-grained permission, allowing users to assign ownership throughout the instance.
-At this point there is no finer-grained ownership assigning access control.
-
-## Disabling ownership in the UI
-
-Ownership data is displayed in various places in Code search user interface, among others:
-
-- in a card on repository and directory pages,
-- in a top bar on file page.
-
-If needed, the visibility of ownership data embedded in Code search UI can be disabled by creating a boolean feature flag `enable-ownership-panels` and setting its value to `false`.
diff --git a/docs/own/index.mdx b/docs/own/index.mdx
deleted file mode 100644
index 04dcfc919..000000000
--- a/docs/own/index.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
-# Code ownership
-
-This feature is in beta.
-
-Code ownership is aimed at helping find the right person and team to contact, for any question, at any time. We are starting out with code ownership, ownership inference and assignments and are exploring ways to help you find someone to answer _every_ question.
-
-## Concepts
-
-**Owner**: An owner is defined as a person or a team in Sourcegraph.
-
-A _person_ can be:
-
-- a Sourcegraph user which we were able to resolve from the `CODEOWNERS` handle or email, in which case we link to their profile.
-- an unknown user for which we were unable to resolve a profile, in which case we will return the `CODEOWNERS` data we have.
-
-A _team_ is a group of Sourcegraph users represented by a common handle, which is a new feature that we added.
-[Read more about how to manage teams in Sourcegraph](/admin/teams/).
-
-## Code ownership
-
-Code ownership is set in 2 different ways:
-
-- [The `CODEOWNERS` format](/own/codeowners-format)
-- [Assigned ownership](/own/assigned-ownership)
-
-## Limitations
-
-- Code ownership support has been released as an MVP for 5.0. In the future of the product we intend to infer ownership beyond `CODEOWNERS` data.
-- The feature has not been fully validated to work well on large repositories or large `CODEOWNERS` rulesets. This is a future area of improvement, but please contact us if you run into issues.
-
-## Browsing ownership
-
-The ownership information is available for browsing once ownership data is available through [a `CODEOWNERS` file](#code-ownership).
-
-When displaying a source file, there is a bar above the file contents.
-
-- On the left-hand side, it displays the most recent change to the file.
-- On the right-hand side it displays the code ownership bar with at most 2 file owners. Any additional number of owners is also displayed.
-
-
-
-After clicking on the code ownership bar, a bottom panel appears listing all the owners.
-
-
-
-There is always a single rule in a `CODEOWNERS` file that determines ownership (if any). Each owner listed in the bottom panel has a description found by clicking the collapsible arrow: _Owner is associated with a rule in a `CODEOWNERS` file_. Clicking this description links to the line containing the responsible rule in the `CODEOWNERS` file.
-
-If any email information has been found for the owner, clicking the mail icon will start an email to them.
-
-## Ownership search
-
-### Searching for files with owners
-
-Code ownership is a first-class citizen in search. Ownership can be either a query input or a search result:
-
-- `file:has.owner(user@example.com)` keeps only the search results associated with given user (here referred to by e-mail).
-- `-file:has.owner(@username)` removes all results owned by specific user (here referred to by name).
-
-Ownership predicate can also be used without parameters:
-
--`file:has.owner()` will only include files with an owner assigned to them. -`-file:has.owner()` will only include files without an owner.
-
-When performing a search the `select:file.owners` predicate will return the owners for the result of that search.
-
-For instance one can find all the owners of TypeScript files in a given repository by using `repo:^github\.com/sourcegraph/sourcegraph$ lang:TypeScript select:file.owners`.
-
-### Find commits in given release for given owner
-
-To find all commits between versions `5.0` and `5.1` made by `sourcegraph/own` team, the following query could be used:
-
-`repo:^github\.com/sourcegraph/sourcegraph$@5.1:^5.0 type:commit file:has.owner(sourcegraph/own)`
-
-Same query can be run for any owner (a person or a team).
-
-## Troubleshooting
-
-### Memory issues and worker crashes
-
-The Own background processes (such as ownership signals computation) can consume significant memory, potentially causing worker jobs to crash due to excessive memory usage. If you experience memory problems or worker crashes related to Own:
-
-1. **Disable ownership signals**: Go to **Site admin > Code graph > Ownership signals** and disable the signals that are causing issues:
-
- - Recent contributors signal
- - Recent views signal
- - Analytics computation
-
-2. **Exclude large repositories**: Use the repository filtering options to exclude large repositories from ownership signal computation.
-
-3. **Monitor resource usage**: Check your instance's memory usage after disabling signals to confirm the issue is resolved.
-
-If memory issues persist after disabling ownership features, consider whether Own functionality is essential for your use case.
-
-## Further reading
-
-In order to learn more please check out our references:
-
-- [CODEOWNERS format](/own/codeowners-format) - Guide to using the CODEOWNERS file format to define ownership
-- [Configuration](/own/configuration-reference) - Full list of ownership configuration options
diff --git a/docs/technical-changelog.mdx b/docs/technical-changelog.mdx
index adbbca44e..bbb202928 100644
--- a/docs/technical-changelog.mdx
+++ b/docs/technical-changelog.mdx
@@ -12121,7 +12121,7 @@ The following PRs were merged onto the previous release branch but could not be
- Ping data now reflects whether `cody.enabled` and `completions` are set.
- If a Sourcegraph request is traced, its trace ID and span ID are now set to the `X-Trace` and `X-Trace-Span` response headers respectively. The trace URL (if a template is configured in `observability.tracing.urlTemplate`) is now set to `X-Trace-URL` - Previously, the URL was set to `X-Trace`. [#53259](https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/53259)
- For users using the single-container server image with the default built-in database, the database must be reindexed. This process can take up to a few hours on systems with large datasets. [#53256](https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/53256)
-- [Sourcegraph Own](/own) is now available as a beta enterprise feature. `search-ownership` feature flag is removed and doesn't need to be used.
+- [Sourcegraph Own](/code-ownership) is now available as a beta enterprise feature. `search-ownership` feature flag is removed and doesn't need to be used.
- Update Jaeger to 1.45.0, and Opentelemetry-Collector to 0.75.0 [#54000](https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/54000)
- Switched container OS to Wolfi for hardened containers [#47182](https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/47182), [#47368](https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/47368)
- Batches changes now supports for CODEOWNERS for Github. Pull requests requiring CODEOWNERS approval, will no longer show as approved unless explicitly approved by a CODEOWNER. https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/53601
@@ -12270,7 +12270,7 @@ The following PRs were merged onto the previous release branch but could not be
- [Role- Access Control](/admin/access-control) is now available as an enterprise feature (in Beta). It is currently only supported for Batch Changes functionality. [#43276](https://github.com/sourcegraph/sourcegraph-public-snapshot/issues/43276)
- Site admins can now [restrict creation of batch changes to certain u[sers](/admin/access-control/batch-changes) by tailoring their roles and the permissions granted to those )roles. [#34491](https://github.com/sourcegraph/sourcegraph-public-snapshot/issues/34491)
- Site admins can now [configure outgoing webh[ooks](/admin/webhooks/outgoing) for Batch Changes to inform external tools of events related to Sourceg)raph batch changes and their changesets. [#38278](https://github.com/sourcegraph/sourcegraph-public-snapshot/issues/38278)
-- [Sourcegraph[ Own](/own) is now available as an experimental enterprise feature. Enable the `search-ownership` fe)ature flag to use it.
+- [Sourcegraph[ Own](/code-ownership) is now available as an experimental enterprise feature. Enable the `search-ownership` fe)ature flag to use it.
- Gitserver supports a new `COURSIER_CACHE_DIR` env var to configure the cache location for coursier JVM package repos.
- Pings now emit a histogram of repository sizes cloned by Sourcegraph [48211](https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/48211).
- The search input has been redesigned to greatly improve usability. New contextual suggestions help users learn the Sourcegraph query language as they search. Suggestions have been unified across contexts and filters, and the history mode has been integrated into the input. Improved and expanded keyboard shortcuts also make navigation much easier. This functionality is in beta, and can be disabled in the user menu.
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index 98368191d..4254dabe2 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -406,24 +406,12 @@ export const navigation: NavigationItem[] = [
},
{
title: 'Code Ownership',
- href: '/own',
+ href: '/code-ownership',
sections: [
{
title: 'CODEOWNERS Format',
- href: '/own/codeowners-format'
+ href: '/code-ownership/codeowners-format'
},
- {
- title: 'CODEOWNERS Ingestion',
- href: '/own/codeowners-ingestion'
- },
- {
- title: 'Configuration Reference',
- href: '/own/configuration-reference'
- },
- {
- title: 'Assigned Ownership',
- href: '/own/assigned-ownership'
- }
]
},
{
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index ed00c1ce4..923504a75 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -7094,6 +7094,32 @@ const redirectsData = [
source: '/self-hosted/updates/server',
destination: 'https://sourcegraph.com/changelog/self-hosted/server',
permanent: true
+ },
+ // code ownership redirects
+ {
+ source: '/own',
+ destination: '/code-ownership',
+ permanant: true,
+ },
+ {
+ source: '/own/assigned-ownership',
+ destination: '/code-ownership',
+ permanant: true,
+ },
+ {
+ source: '/own/configuration-reference',
+ destination: '/code-ownership',
+ permanant: true,
+ },
+ {
+ source: '/own/codeowners-ingestion',
+ destination: '/code-ownership',
+ permanant: true,
+ },
+ {
+ source: '/own/codeowners-format',
+ destination: '/code-ownership/codeowners-format',
+ permanant: true,
}
];
From fca97c10481d7b9eaabc9c97da1db17a78d1cb38 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Sun, 22 Feb 2026 23:09:20 +0000
Subject: [PATCH 010/217] entitlements: add reference page (#1632)
---
docs/admin/entitlements.mdx | 24 ++++++++++++++++++++++++
docs/admin/index.mdx | 1 +
docs/deep-search/index.mdx | 23 ++++++++++++++++++++---
3 files changed, 45 insertions(+), 3 deletions(-)
create mode 100644 docs/admin/entitlements.mdx
diff --git a/docs/admin/entitlements.mdx b/docs/admin/entitlements.mdx
new file mode 100644
index 000000000..950967718
--- /dev/null
+++ b/docs/admin/entitlements.mdx
@@ -0,0 +1,24 @@
+# Entitlements
+
+Sourcegraph administrators can set per-user product usage limits using entitlements: classes of usage limits that can be assigned as a global default, or to specific users. Entitlements can be configured in the **Administration → Entitlements** (`/site-admin/entitlements`) page.
+
+Entitlements can be set as a global default: default entitlements are granted to all users without an explicit grant for another entitlement of the same type. Additional entitlements can be created to give specific users varying degress of access. For example, you can set up:
+
+- A default daily limit for regular users
+- A higher weekly limit for lead engineers
+- Different limits for contractors vs. full-time employees
+
+Each entitlement has a detailed usage view to help administrators understand how users are using the entitlement, and reset entitlement usage for specific users.
+
+
+ Entitlements currently only support [Deep Search](/deep-search), but we may
+ support other features in the future. If you would like to request
+ entitlement support for a feature, please reach out at
+ support@sourcegraph.com.
+
+
+
+ Entitlements refers to refers to administrator-controlled limits,
+ while quotas refer to billed usage as determined by the purchased
+ Sourcegraph subscription.
+
diff --git a/docs/admin/index.mdx b/docs/admin/index.mdx
index 7f47826d0..20624c5ce 100644
--- a/docs/admin/index.mdx
+++ b/docs/admin/index.mdx
@@ -54,6 +54,7 @@ Sourcegraph administration is primarily managed by site administrators, who are
- [GitHub integration](/integration/github)
- [All code host integrations (not GitLab or GitHub)](/integration/#integrations)
- [Access control](/admin/access-control/) (Beta)
+- [Entitlements](/admin/entitlements/)
## Additional resources
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index 500a873f6..a64129770 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -6,7 +6,12 @@ seoPriority: 1.0
Supported on [Enterprise Starter](/pricing/plans/enterprise-starter) and
- [Enterprise](/pricing/plans/enterprise) plans. For new customers, the [Enterprise AI Terms of Use](https://sourcegraph.com/terms/ai-terms) apply and Deep Search is enabled by default. For existing customers with licenses predating the AI terms, Deep Search can be enabled after signing the AI terms addendum - please contact your account team for assistance. Deep Search is not supported for BYOK customers.
+ [Enterprise](/pricing/plans/enterprise) plans. For new customers, the
+ [Enterprise AI Terms of Use](https://sourcegraph.com/terms/ai-terms) apply
+ and Deep Search is enabled by default. For existing customers with licenses
+ predating the AI terms, Deep Search can be enabled after signing the AI
+ terms addendum - please contact your account team for assistance. Deep
+ Search is not supported for BYOK customers.
Available on the Web.
@@ -89,10 +94,22 @@ Conversation sharing is disabled by default. To enable conversation sharing, ask
Deep Search is only available to customers using the [Sourcegraph Model Provider](/model-provider). Customers who configure and access their own models via BYOK cannot use the Deep Search feature.
-## Monitoring consumption
+## Managing usage
-Customers can request access to [Enterprise Portal](/admin/enterprise-portal#deep-search-usage-monitoring) to monitor Deep Search usage and quota limits..
+Deep Search usage is managed on two levels:
+- **Quotas**, which refers to billed Deep Search usage. These are determined by the purchased Sourcegraph subscription.
+- [**Entitlements**](/admin/entitlements), which refers to administrator-controlled limits on how much Deep Search users can consume.
+
+### Monitoring quota consumption
+
+Customers can request access to [Enterprise Portal](/admin/enterprise-portal#deep-search-usage-monitoring) to monitor usage of Deep Search quota.
+
+### Entitlements
+
+Sourcegraph administrators can configure entitlements for their users, for example "60 Deep Search per hour", in `/site-admin/entitlements`.
+
+To learn more, refer to [Entitlements](/admin/entitlements) and the [Deep Search entitlements changelog post](https://sourcegraph.com/changelog/deep-search-entitlements).
## Architecture
From d15856ddae0d4a38217a2d3e3f08f46a06cbaee3 Mon Sep 17 00:00:00 2001
From: William Bezuidenhout
Date: Tue, 24 Feb 2026 12:58:18 +0200
Subject: [PATCH 011/217] executors: document KUBERNETES_JOB_HOST_NETWORK
option for executors (#1583)
Add documentation for env var added in:
- https://github.com/sourcegraph/sourcegraph/pull/9509
---
docs/self-hosted/executors/executors-config.mdx | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/self-hosted/executors/executors-config.mdx b/docs/self-hosted/executors/executors-config.mdx
index 3aba7b4e9..95fe98c55 100644
--- a/docs/self-hosted/executors/executors-config.mdx
+++ b/docs/self-hosted/executors/executors-config.mdx
@@ -62,6 +62,7 @@ The following environment variables are specific to the native Kubernetes Execut
| `KUBERNETES_JOB_ANNOTATIONS` | N/A | The JSON encoded annotations to add to the Kubernetes Jobs. e.g. `{"foo": "bar", "faz": "baz"}` |
| `KUBERNETES_JOB_POD_ANNOTATIONS` | N/A | The JSON encoded annotations to add to the Kubernetes Job Pods. e.g. `{"foo": "bar", "faz": "baz"}` |
| `KUBERNETES_IMAGE_PULL_SECRETS` | N/A | The names of Kubernetes image pull secrets to use for pulling images. e.g. my-secret,my-other-secret |
+| `KUBERNETES_JOB_HOST_NETWORK` | `false` | If true, Kubernetes job pods will run with host networking enabled. Useful when using Podman and Kind where pods need to access `host.containers.internal`. |
`EXECUTOR_KUBERNETES_NAMESPACE` should be set to either "default" or the
From 58e876bd025a447ad3c730e8b1f9efa03546868d Mon Sep 17 00:00:00 2001
From: William Bezuidenhout
Date: Tue, 24 Feb 2026 16:16:12 +0200
Subject: [PATCH 012/217] mcp: add doc for deepsearch tool (#1634)
[context](https://sourcegraph.slack.com/archives/C05MW2TMYAV/p1771922078724959)
* Document deepsearch tool
---------
Co-authored-by: Jan Hartman
---
docs/api/mcp/index.mdx | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 896c2dedb..b94d192a7 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -529,6 +529,16 @@ Find repositories where a contributor has made commits.
### Deep Search
+### `deepsearch`
+
+Create a new Deep Search conversation to answer complex questions about your codebase.
+
+**Parameters:**
+
+ - `question` - The question to research using Deep Search (required). Should be detailed and specific about what you want to understand.
+
+**Use cases:** Comprehensive analysis of complex technical questions, multi-step research across one or many remote codebases, detailed explanations with supporting evidence, questions that require combining information from multiple sources
+
#### `deepsearch_read`
Read a Deep Search conversation and return the markdown content of the questions and answers.
From 87a5005ad2de970c1ac67ebde66b52ddfb213121 Mon Sep 17 00:00:00 2001
From: Geoffrey Gilmore
Date: Tue, 24 Feb 2026 07:10:19 -0800
Subject: [PATCH 013/217] add docs page explaining how to manage feature flags
with the graphql api (#1635)
---
docs/admin/how-to/index.mdx | 1 +
.../manage-feature-flags-with-graphql.mdx | 128 ++++++++++++++++++
2 files changed, 129 insertions(+)
create mode 100644 docs/admin/how-to/manage-feature-flags-with-graphql.mdx
diff --git a/docs/admin/how-to/index.mdx b/docs/admin/how-to/index.mdx
index 40ff7c80e..b7cc5d376 100644
--- a/docs/admin/how-to/index.mdx
+++ b/docs/admin/how-to/index.mdx
@@ -6,6 +6,7 @@
- [How to troubleshoot a repository that is not being updated](/admin/how-to/repo-not-updated)
- [How to configure submodules](/admin/how-to/submodule-configuration)
- [How to remove users or edit users with the GraphQL API](/admin/how-to/mutate-user-api)
+- [How to manage feature flags with the GraphQL API](/admin/how-to/manage-feature-flags-with-graphql)
- [How to troubleshoot a failure to update repositories when new repositories are added](/admin/how-to/update-repo-failure)
- [How to purge deleted repository data from Sourcegraph](/admin/how-to/remove-repo#manually-purge-deleted-repository-data-from-disk)
- [How to address common monorepo problems](/admin/how-to/monorepo-issues)
diff --git a/docs/admin/how-to/manage-feature-flags-with-graphql.mdx b/docs/admin/how-to/manage-feature-flags-with-graphql.mdx
new file mode 100644
index 000000000..4a3ce5a88
--- /dev/null
+++ b/docs/admin/how-to/manage-feature-flags-with-graphql.mdx
@@ -0,0 +1,128 @@
+# How to manage feature flags with the GraphQL API
+
+Some Sourcegraph instances do not expose the feature flag admin UI. In those cases, site admins can manage feature flags through the GraphQL API using the `src` CLI.
+
+## Prerequisites
+
+- Install `src` by following the [`src-cli` installation instructions](https://github.com/sourcegraph/src-cli#installation).
+- Sign in to your instance:
+
+```bash
+src login https://your-sourcegraph-instance.com
+```
+
+## List all feature flags
+
+```bash
+src api -query='
+query {
+ featureFlags {
+ ... on FeatureFlagBoolean {
+ name
+ value
+ }
+ ... on FeatureFlagRollout {
+ name
+ rolloutBasisPoints
+ }
+ }
+}'
+```
+
+## Get a single feature flag
+
+```bash
+src api -query='
+query {
+ featureFlag(name: "my-feature-flag") {
+ ... on FeatureFlagBoolean {
+ name
+ value
+ }
+ ... on FeatureFlagRollout {
+ name
+ rolloutBasisPoints
+ }
+ }
+}'
+```
+
+## Update a feature flag
+
+Update a boolean flag:
+
+```bash
+src api -query='
+mutation {
+ updateFeatureFlag(name: "my-feature-flag", value: false) {
+ ... on FeatureFlagBoolean {
+ name
+ value
+ }
+ }
+}'
+```
+
+Update a rollout flag:
+
+```bash
+src api -query='
+mutation {
+ updateFeatureFlag(name: "my-rollout-flag", rolloutBasisPoints: 5000) {
+ ... on FeatureFlagRollout {
+ name
+ rolloutBasisPoints
+ }
+ }
+}'
+```
+
+`rolloutBasisPoints` uses basis points where `10000 = 100%` and `5000 = 50%`.
+
+## Delete a feature flag
+
+```bash
+src api -query='
+mutation {
+ deleteFeatureFlag(name: "my-feature-flag") {
+ alwaysNil
+ }
+}'
+```
+
+## Create a user or organization override
+
+```bash
+src api -query='
+mutation {
+ createFeatureFlagOverride(
+ namespace: "VXNlcjox"
+ flagName: "my-feature-flag"
+ value: true
+ ) {
+ id
+ value
+ }
+}'
+```
+
+The `namespace` argument must be the GraphQL ID of a user or organization.
+
+Use a query like this to discover IDs:
+
+```bash
+src api -query='
+query {
+ users(first: 10) {
+ nodes {
+ id
+ username
+ }
+ }
+}'
+```
+
+## Related docs
+
+- [GraphQL API reference](/api/graphql)
+- [`src` CLI references](/cli/references)
From 9b2a1a449c328cd70eb8049c72c805d7d8bf8d9b Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Tue, 24 Feb 2026 13:54:33 -0800
Subject: [PATCH 014/217] fix: change sub tag for callout in deploy executors
page (#1636)
This was using the HTML tag which caused some issues with layout.
These are better shown as callouts.
---
docs/self-hosted/executors/deploy-executors.mdx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/self-hosted/executors/deploy-executors.mdx b/docs/self-hosted/executors/deploy-executors.mdx
index c73678feb..e2e19a7c9 100644
--- a/docs/self-hosted/executors/deploy-executors.mdx
+++ b/docs/self-hosted/executors/deploy-executors.mdx
@@ -33,11 +33,11 @@ So, if you expect an Executor instance to process up to 4 jobs in parallel, the
The above recommended resources can be changed to fit your constraints. See below for configuring resources for a Job.
-
- Note: the smallest machine type on AWS that can support Executors with
+
+ The smallest machine type on AWS that can support Executors with
Firecracker is `c5n.metal` (72 vCPU and 192GB of Memory), but concurrency
can be turned up for the additional cost.
-
+
#### Job configuration
@@ -48,10 +48,10 @@ and `EXECUTOR_JOB_MEMORY`.
See [executor configuration](/self-hosted/executors/executors-config) for a full list of configuration options.
-
- Note: changing CPU and Memory for jobs will affect the overall requirements
+
+ Changing CPU and Memory for jobs will affect the overall requirements
for an Executor instance.
-
+
#### AWS
From 8388821802983dfb38e9334ea61ef6a808fb0f91 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Wed, 25 Feb 2026 07:21:06 -0800
Subject: [PATCH 015/217] Change 'On-premises' to 'Single-container' in
deployment docs (#1640)
Not sure why this section was called on-premises, isnt everything else
also on-premises?
---
docs/self-hosted/deploy/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/self-hosted/deploy/index.mdx b/docs/self-hosted/deploy/index.mdx
index 3683a0051..fe296e6a7 100644
--- a/docs/self-hosted/deploy/index.mdx
+++ b/docs/self-hosted/deploy/index.mdx
@@ -108,7 +108,7 @@ See [Sourcegraph Machine Images](/self-hosted/deploy/machine-images) for more in
to maintain and manage your own infrastructure.
-### On-premises (removed in 7.0.0)
+### Single-container (removed in 7.0.0)
The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
From d0b701f7d8b0898332e8666972fd42b69add32d1 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Wed, 25 Feb 2026 20:14:53 +0200
Subject: [PATCH 016/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(2026-02-25/13-48-43)=20(#1?=
=?UTF-8?q?639)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 4 +-
docs/admin/config/site-config.mdx | 51 +-
docs/admin/repo/perforce.mdx | 2 +-
docs/cody/capabilities/supported-models.mdx | 2 +
docs/self-hosted/observability/alerts.mdx | 251 ++++++---
docs/self-hosted/observability/dashboards.mdx | 488 +++++++++++++++++-
16 files changed, 719 insertions(+), 99 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 8eeafe2f2..d3e7661e1 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 9f0b89792..2e0c9d4db 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -65,7 +65,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 50f3fc465..666d84c09 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index ec9d503e1..89f86ee4a 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 744028860..9b865ed28 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 0306f7084..69fe29e14 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index 9c64b668a..e4ba46207 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 6893c03f7..284436d00 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index ab3969727..723cb343f 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 6dbf20838..d940f8fcb 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 44743cf16..63f31a5e5 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
@@ -41,7 +41,7 @@ Settings options and their default values are shown below.
// Whether to show alerts for major and minor version updates. Alerts for patch version updates will be shown if `alerts.showPatchUpdates` is true.
"alerts.showMajorMinorUpdates": true,
- // Whether to show alerts for patch version updates. Alerts for major and minor version updates will be shown if `alerts.showMajorMinorUpdatess` is true.
+ // Whether to show alerts for patch version updates. Alerts for major and minor version updates will be shown if `alerts.showMajorMinorUpdates` is true.
"alerts.showPatchUpdates": true,
// Whether to run global searches over all repositories. On instances with many repositories, this can lead to issues such as: low quality results, slow response times, or significant load on the Sourcegraph instance. Defaults to true.
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 7ddb2fd37..20ce60a37 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
@@ -79,6 +79,9 @@ All site configuration options and their default values are shown below.
// Reject unverified commits when creating a Batch Change
"batchChanges.rejectUnverifiedCommit": false,
+ // When enabled, only site admins can merge changesets using the Batch Changes UI. This is useful when the Batch Changes GitHub App has elevated access and you want to restrict who can merge changes.
+ "batchChanges.restrictMergeToAdmins": false,
+
// When enabled, only site admins can create and apply batch changes.
"batchChanges.restrictToAdmins": false,
@@ -168,6 +171,9 @@ All site configuration options and their default values are shown below.
// - 20
"debug.search.symbolsParallelism": 0,
+ // Use database-backed worker for Deep Search question processing instead of in-memory worker pool. Enables persistence across frontend restarts.
+ "deepSearch.worker.enabled": true,
+
// The rate limit (in requests per hour) for the default rate limiter in the rate limiters registry. By default this is disabled and the default rate limit is infinity.
"defaultRateLimit": -1,
@@ -177,6 +183,9 @@ All site configuration options and their default values are shown below.
// Disable periodically fetching git contents for existing repositories.
"disableAutoGitUpdates": false,
+ // Disable fetching changelog posts from the external Sourcegraph changelog API. Useful for airgapped environments.
+ "disableChangelog": false,
+
// Disable the feedback survey
"disableFeedbackSurvey": false,
@@ -269,13 +278,16 @@ All site configuration options and their default values are shown below.
"extsvc.gitlab": false
},
"deepSearch.enabled": false,
+ "deepSearch.model": "anthropic::2024-10-22::claude-sonnet-4-latest",
"deepSearch.sharing.enabled": false,
+ "deepSearch.showCodyWeb": false,
"enableGithubInternalRepoVisibility": false,
"enablePermissionsWebhooks": false,
"enableStorm": false,
"eventLogging": "enabled",
"gitServerPinnedRepos": null,
"goPackages": "disabled",
+ "homepage": null,
"insightsAlternateLoadingStrategy": false,
"insightsBackfillerV2": true,
"insightsDataRetention": true,
@@ -429,7 +441,7 @@ All site configuration options and their default values are shown below.
"modelConfiguration": null,
- // Notifications recieved from Sourcegraph.com to display in Sourcegraph.
+ // Notifications received from Sourcegraph.com to display in Sourcegraph.
// Other example values:
// - {
// "key": "2023-03-10-my-key",
@@ -544,6 +556,9 @@ All site configuration options and their default values are shown below.
// Valid options: "STANDARD", "Azure AD"
"scim.identityProvider": "STANDARD",
+ // Enable AI query helper mode in search, including natural language query translation suggestions.
+ "search.aiQueryHelper.enabled": false,
+
// The number of threads each indexserver should use to index shards. If not set, indexserver will use the number of available CPUs. This is exposed as a safeguard and should usually not require being set.
// Other example values:
// - 10
@@ -578,6 +593,9 @@ All site configuration options and their default values are shown below.
"maxTimeoutSeconds": 60
},
+ // EXPERIMENTAL: Use content-based language detection for lang: filters (Zoekt only).
+ "searchContentBasedLanguageDetection": false,
+
// Syntax highlighting configuration
// Other example values:
// - {
@@ -694,7 +712,13 @@ All site configuration options and their default values are shown below.
]
},
- // IP allowlist for access to the Sourcegraph instance. If set, only requests from these IP addresses will be allowed. By default client IP is infered connected client IP address, and you may configure to use a request header to determine the user IP.
+ // Requires PIN or biometric verification when using admin passkeys. When enabled, authenticators must support and perform user verification (PIN entry, fingerprint, face recognition, etc.). This provides stronger assurance that the person using the passkey is the legitimate owner.
+ "auth.adminPasskeyPINRequired": false,
+
+ // Requires site admin users to verify their identity using a FIDO2/WebAuthn passkey before accessing admin pages. When enabled, admins must register at least one passkey and re-verify periodically (default: every hour). This provides step-up authentication for sensitive admin operations.
+ "auth.adminPasskeyRequired": false,
+
+ // IP allowlist for access to the Sourcegraph instance. If set, only requests from these IP addresses will be allowed. By default client IP is inferred connected client IP address, and you may configure to use a request header to determine the user IP.
"auth.allowedIpAddress": {
"clientIpAddress": null,
"enabled": false,
@@ -707,8 +731,11 @@ All site configuration options and their default values are shown below.
// Enables users to change their username after account creation. Warning: setting this to be true has security implications if you have enabled (or will at any point in the future enable) repository permissions with an option that relies on username equivalency between Sourcegraph and an external service or authentication provider. Do NOT set this to true if you are using non-built-in authentication OR rely on username equivalency for repository permissions.
"auth.enableUsernameChanges": false,
+ // When enabled, users are required to connect at least one external account to their Sourcegraph account. Site admins are exempt from this requirement.
+ "auth.enforceExternalAccountConnection": false,
+
// Enables OAuth 2.0 Dynamic Client Registration (RFC 7591) for the Sourcegraph identity provider. When enabled, OAuth clients can self-register programmatically instead of requiring manual pre-configuration. Required for MCP clients and other applications that use dynamic registration for authorization.
- "auth.idpDynamicClientRegistrationEnabled": false,
+ "auth.idpDynamicClientRegistrationEnabled": true,
// The config options for account lockout
// Other example values:
@@ -761,7 +788,7 @@ All site configuration options and their default values are shown below.
],
// The maximum duration of a user session, after which it expires and the user is required to re-authenticate. The default is 90 days. Must be at least 1 hour. There is typically no need to set this, but some users may have specific internal security requirements.
- // The string format is that of the Duration type in the Go time package (https://golang.org/pkg/time/#ParseDuration). E.g., "720h", "43200m", "2592000s" all indicate a timespan of 30 days.
+ // The string format is that of the Duration type in the Go time package (https://golang.org/pkg/time/#ParseDuration). E.g., "720h", "43200m", "2592000s" all indicate a time span of 30 days.
// Other example values:
// - "168h"
"auth.sessionExpiry": "2160h",
@@ -778,7 +805,7 @@ All site configuration options and their default values are shown below.
// Other example values:
// - {
// "*": [
- // "myorg1"
+ // "org1"
// ]
// }
"auth.userOrgMap": null,
@@ -830,7 +857,6 @@ All site configuration options and their default values are shown below.
// "accessToken": "abc123",
// "chatModel": "chat",
// "completionModel": "code-completion",
- // "enabled": true,
// "perUserDailyLimit": 100,
// "provider": "openai"
// }
@@ -887,6 +913,10 @@ All site configuration options and their default values are shown below.
// The configuration for multiqueue executors.
"executors.multiqueue": {
"dequeueCacheConfig": {
+ "agenticbatchchanges": {
+ "limit": 50,
+ "weight": 1
+ },
"batches": {
"limit": 50,
"weight": 4
@@ -951,7 +981,7 @@ All site configuration options and their default values are shown below.
// Maximum number of git clone processes that will be run concurrently per gitserver to update repositories. <= 0 means disabled.
"gitMaxConcurrentCleanups": 5,
- // Maximum number of git clone processes that will be run concurrently per gitserver to update repositories. Note: the global git update scheduler respects gitMaxConcurrentClones. However, we allow each gitserver to run upto gitMaxConcurrentClones to allow for urgent fetches. Urgent fetches are used when a user is browsing a PR and we do not have the commit yet.
+ // Maximum number of git clone processes that will be run concurrently per gitserver to update repositories. Note: the global git update scheduler respects gitMaxConcurrentClones. However, we allow each gitserver to run up to gitMaxConcurrentClones to allow for urgent fetches. Urgent fetches are used when a user is browsing a PR and we do not have the commit yet.
"gitMaxConcurrentClones": 5,
// Record git operations that are executed on configured repositories.
@@ -1012,7 +1042,6 @@ All site configuration options and their default values are shown below.
// "logo": "https://example.com/logo_dark.png",
// "symbol": "https://example.com/search_symbol_dark_24x24.png"
// },
- // "disableSymbolSpin": true,
// "favicon": "https://example.com/favicon.ico",
// "light": {
// "logo": "https://example.com/logo_light.png",
@@ -1118,15 +1147,13 @@ All site configuration options and their default values are shown below.
// Configures distributed tracing within Sourcegraph. To learn more, refer to https://sourcegraph.com/docs/admin/observability/tracing
// Other example values:
// - {
- // "debug": false,
// "sampling": "selective",
// "type": "opentelemetry",
// "urlTemplate": "https://ui.honeycomb.io/$ORG/environments/$DATASET/trace?trace_id={{ .TraceID }}"
// }
// - {
- // "debug": true,
// "sampling": "all",
- // "type": "jaeger",
+ // "type": "opentelemetry",
// "urlTemplate": "{{ .ExternalURL }}/-/debug/jaeger/trace/{{ .TraceID }}"
// }
"observability.tracing": {
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 7051f22be..090c6edc8 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-01-22T04:55:03Z */}
+{/* Last updated: 2026-02-25T13:48:43Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/cody/capabilities/supported-models.mdx b/docs/cody/capabilities/supported-models.mdx
index 9fded58c0..19ab2548a 100644
--- a/docs/cody/capabilities/supported-models.mdx
+++ b/docs/cody/capabilities/supported-models.mdx
@@ -14,6 +14,8 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| **Provider** | **Model** | **Status** | **Vision Support** |
| :----------- | :-------- | :--------- | :----------------- |
+| Anthropic | [Claude Opus 4.6](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Sonnet 4.6](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Sonnet 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Sonnet 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Opus 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
diff --git a/docs/self-hosted/observability/alerts.mdx b/docs/self-hosted/observability/alerts.mdx
index 6236c6e32..fe9f16fd8 100644
--- a/docs/self-hosted/observability/alerts.mdx
+++ b/docs/self-hosted/observability/alerts.mdx
@@ -18,7 +18,7 @@ To learn more about Sourcegraph's alerting and how to set up alerts, see [our al
**Next steps**
- **Get details on the exact queries that are slow** by configuring `"observability.logSlowSearches": 20,` in the site configuration and looking for `frontend` warning logs prefixed with `slow search request` for additional details.
-- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/site-admin/repositories?filter=needs-index (it should show few or no results.)
+- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/admin/repositories?filter=needs-index (it should show few or no results.)
- **Kubernetes:** Check CPU usage of zoekt-webserver in the indexed-search pod, consider increasing CPU limits in the `indexed-search.Deployment.yaml` if regularly hitting max CPU utilization.
- **Docker Compose:** Check CPU usage on the Zoekt Web Server dashboard, consider increasing `cpus:` of the zoekt-webserver container in `docker-compose.yml` if regularly hitting max CPU utilization.
- Learn more about the related dashboard panel in the [dashboards reference](dashboards#frontend-99th_percentile_search_request_duration).
@@ -52,7 +52,7 @@ Generated query for warning alert: `max((histogram_quantile(0.99, sum by (le) (r
**Next steps**
- **Get details on the exact queries that are slow** by configuring `"observability.logSlowSearches": 15,` in the site configuration and looking for `frontend` warning logs prefixed with `slow search request` for additional details.
-- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/site-admin/repositories?filter=needs-index (it should show few or no results.)
+- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/admin/repositories?filter=needs-index (it should show few or no results.)
- **Kubernetes:** Check CPU usage of zoekt-webserver in the indexed-search pod, consider increasing CPU limits in the `indexed-search.Deployment.yaml` if regularly hitting max CPU utilization.
- **Docker Compose:** Check CPU usage on the Zoekt Web Server dashboard, consider increasing `cpus:` of the zoekt-webserver container in `docker-compose.yml` if regularly hitting max CPU utilization.
- Learn more about the related dashboard panel in the [dashboards reference](dashboards#frontend-90th_percentile_search_request_duration).
@@ -241,7 +241,7 @@ Generated query for warning alert: `max((histogram_quantile(0.9, sum by (le) (ra
**Next steps**
- **Get details on the exact queries that are slow** by configuring `"observability.logSlowSearches": 20,` in the site configuration and looking for `frontend` warning logs prefixed with `slow search request` for additional details.
-- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/site-admin/repositories?filter=needs-index (it should show few or no results.)
+- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/admin/repositories?filter=needs-index (it should show few or no results.)
- **Kubernetes:** Check CPU usage of zoekt-webserver in the indexed-search pod, consider increasing CPU limits in the `indexed-search.Deployment.yaml` if regularly hitting max CPU utilization.
- **Docker Compose:** Check CPU usage on the Zoekt Web Server dashboard, consider increasing `cpus:` of the zoekt-webserver container in `docker-compose.yml` if regularly hitting max CPU utilization.
- This alert may indicate that your instance is struggling to process symbols queries on a monorepo, [learn more here](https://sourcegraph.com/docs/admin/monorepo).
@@ -276,7 +276,7 @@ Generated query for warning alert: `max((histogram_quantile(0.99, sum by (le) (r
**Next steps**
- **Get details on the exact queries that are slow** by configuring `"observability.logSlowSearches": 15,` in the site configuration and looking for `frontend` warning logs prefixed with `slow search request` for additional details.
-- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/site-admin/repositories?filter=needs-index (it should show few or no results.)
+- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/admin/repositories?filter=needs-index (it should show few or no results.)
- **Kubernetes:** Check CPU usage of zoekt-webserver in the indexed-search pod, consider increasing CPU limits in the `indexed-search.Deployment.yaml` if regularly hitting max CPU utilization.
- **Docker Compose:** Check CPU usage on the Zoekt Web Server dashboard, consider increasing `cpus:` of the zoekt-webserver container in `docker-compose.yml` if regularly hitting max CPU utilization.
- This alert may indicate that your instance is struggling to process symbols queries on a monorepo, [learn more here](https://sourcegraph.com/docs/admin/monorepo).
@@ -432,7 +432,7 @@ Generated query for warning alert: `max((sum by (alert_type) (increase(src_graph
**Next steps**
- **Get details on the exact queries that are slow** by configuring `"observability.logSlowSearches": 20,` in the site configuration and looking for `frontend` warning logs prefixed with `slow search request` for additional details.
-- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/site-admin/repositories?filter=needs-index (it should show few or no results.)
+- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/admin/repositories?filter=needs-index (it should show few or no results.)
- **Kubernetes:** Check CPU usage of zoekt-webserver in the indexed-search pod, consider increasing CPU limits in the `indexed-search.Deployment.yaml` if regularly hitting max CPU utilization.
- **Docker Compose:** Check CPU usage on the Zoekt Web Server dashboard, consider increasing `cpus:` of the zoekt-webserver container in `docker-compose.yml` if regularly hitting max CPU utilization.
- Learn more about the related dashboard panel in the [dashboards reference](dashboards#frontend-99th_percentile_search_api_request_duration).
@@ -466,7 +466,7 @@ Generated query for warning alert: `max((histogram_quantile(0.99, sum by (le) (r
**Next steps**
- **Get details on the exact queries that are slow** by configuring `"observability.logSlowSearches": 15,` in the site configuration and looking for `frontend` warning logs prefixed with `slow search request` for additional details.
-- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/site-admin/repositories?filter=needs-index (it should show few or no results.)
+- **Check that most repositories are indexed** by visiting https://sourcegraph.example.com/admin/repositories?filter=needs-index (it should show few or no results.)
- **Kubernetes:** Check CPU usage of zoekt-webserver in the indexed-search pod, consider increasing CPU limits in the `indexed-search.Deployment.yaml` if regularly hitting max CPU utilization.
- **Docker Compose:** Check CPU usage on the Zoekt Web Server dashboard, consider increasing `cpus:` of the zoekt-webserver container in `docker-compose.yml` if regularly hitting max CPU utilization.
- Learn more about the related dashboard panel in the [dashboards reference](dashboards#frontend-90th_percentile_search_api_request_duration).
@@ -1286,7 +1286,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
**Descriptions**
-- critical frontend: less than 90% percentage pods available for 10m0s
+- critical frontend: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -1306,7 +1306,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*(frontend\\|sourcegraph-frontend)"\}) / count by (app) (up\{app=~".*(frontend\\|sourcegraph-frontend)"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*(frontend\\|sourcegraph-frontend)"\}) / count by (app) (up\{app=~".*(frontend\\|sourcegraph-frontend)"}) * 100) <= 50)`
@@ -1429,7 +1429,7 @@ Generated query for warning alert: `max((sum by (container_label_io_kubernetes_p
**Next steps**
- **Check if the problem may be an intermittent and temporary peak** using the "Container monitoring" section at the bottom of the Git Server dashboard.
-- **Single container deployments:** Consider upgrading to a [Docker Compose deployment](../deploy/docker-compose/migrate) which offers better scalability and resource isolation.
+- **Single container deployments (removed in 7.0.0):** The single-container deployment mode has been sunset. [Migrate to Docker Compose](../deploy/docker-compose/migrate).
- **Kubernetes and Docker Compose:** Check that you are running a similar number of git server replicas and that their CPU/memory limits are allocated according to what is shown in the [Sourcegraph resource estimator](https://sourcegraph.com/docs/self-hosted/deploy/resource-estimator).
- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-running_git_commands).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
@@ -1464,7 +1464,7 @@ Generated query for critical alert: `max((sum by (instance, cmd) (src_gitserver_
**Next steps**
-- **Single container deployments:** Upgrade to a [Docker Compose deployment](../deploy/docker-compose/migrate) which offers better scalability and resource isolation.
+- **Single container deployments (removed in 7.0.0):** The single-container deployment mode has been sunset. [Migrate to Docker Compose](../deploy/docker-compose/migrate).
- **Kubernetes and Docker Compose:** Check that you are running a similar number of git server replicas and that their CPU/memory limits are allocated according to what is shown in the [Sourcegraph resource estimator](https://sourcegraph.com/docs/self-hosted/deploy/resource-estimator).
- If your persistent volume is slow, you may want to provision more IOPS, usually by increasing the volume size.
- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-echo_command_duration_test).
@@ -1529,7 +1529,7 @@ Generated query for critical alert: `max((sum(rate(src_gitserver_repo_corrupted[
**Next steps**
- **If you just added several repositories**, the warning may be expected.
-- **Check which repositories need cloning**, by visiting e.g. https://sourcegraph.example.com/site-admin/repositories?filter=not-cloned
+- **Check which repositories need cloning**, by visiting e.g. https://sourcegraph.example.com/admin/repositories?filter=not-cloned
- Learn more about the related dashboard panel in the [dashboards reference](dashboards#gitserver-repository_clone_queue_size).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
@@ -2007,7 +2007,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
**Descriptions**
-- critical gitserver: less than 90% percentage pods available for 10m0s
+- critical gitserver: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -2027,7 +2027,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*gitserver"\}) / count by (app) (up\{app=~".*gitserver"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*gitserver"\}) / count by (app) (up\{app=~".*gitserver"}) * 100) <= 50)`
@@ -2427,7 +2427,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
**Descriptions**
-- critical postgres: less than 90% percentage pods available for 10m0s
+- critical postgres: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -2447,7 +2447,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*(pgsql\\|codeintel-db\\|codeinsights)"\}) / count by (app) (up\{app=~".*(pgsql\\|codeintel-db\\|codeinsights)"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*(pgsql\\|codeintel-db\\|codeinsights)"\}) / count by (app) (up\{app=~".*(pgsql\\|codeintel-db\\|codeinsights)"}) * 100) <= 50)`
@@ -2496,7 +2496,7 @@ Generated query for critical alert: `max((sum by (app_name, db_name) (increase(s
**Descriptions**
-- critical precise-code-intel-worker: less than 90% percentage pods available for 10m0s
+- critical precise-code-intel-worker: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -2516,7 +2516,7 @@ Generated query for critical alert: `max((sum by (app_name, db_name) (increase(s
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*precise-code-intel-worker"\}) / count by (app) (up\{app=~".*precise-code-intel-worker"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*precise-code-intel-worker"\}) / count by (app) (up\{app=~".*precise-code-intel-worker"}) * 100) <= 50)`
@@ -2565,7 +2565,7 @@ Generated query for critical alert: `max((sum by (app_name, db_name) (increase(s
**Descriptions**
-- critical syntactic-indexing: less than 90% percentage pods available for 10m0s
+- critical syntactic-indexing: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -2585,7 +2585,7 @@ Generated query for critical alert: `max((sum by (app_name, db_name) (increase(s
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*syntactic-code-intel-worker"\}) / count by (app) (up\{app=~".*syntactic-code-intel-worker"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*syntactic-code-intel-worker"\}) / count by (app) (up\{app=~".*syntactic-code-intel-worker"}) * 100) <= 50)`
@@ -2979,7 +2979,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
**Descriptions**
-- critical redis: less than 90% percentage pods available for 10m0s
+- critical redis: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -2999,7 +2999,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*redis-cache"\}) / count by (app) (up\{app=~".*redis-cache"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*redis-cache"\}) / count by (app) (up\{app=~".*redis-cache"}) * 100) <= 50)`
@@ -3011,7 +3011,7 @@ Generated query for critical alert: `min((sum by (app) (up{app=~".*redis-cache"\
**Descriptions**
-- critical redis: less than 90% percentage pods available for 10m0s
+- critical redis: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -3031,7 +3031,7 @@ Generated query for critical alert: `min((sum by (app) (up{app=~".*redis-cache"\
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*redis-store"\}) / count by (app) (up\{app=~".*redis-store"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*redis-store"\}) / count by (app) (up\{app=~".*redis-store"}) * 100) <= 50)`
@@ -3854,38 +3854,6 @@ Generated query for warning alert: `max((histogram_quantile(0.95, max by (le, ty
-## worker: perms_syncer_sync_errors
-
-
permissions sync error rate
-
-**Descriptions**
-
-- critical worker: 1+ permissions sync error rate for 1m0s
-
-**Next steps**
-
-- Check the network connectivity the Sourcegraph and the code host.
-- Check if API rate limit quota is exhausted on the code host.
-- Learn more about the related dashboard panel in the [dashboards reference](dashboards#worker-perms_syncer_sync_errors).
-- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
-
-```json
-"observability.silenceAlerts": [
- "critical_worker_perms_syncer_sync_errors"
-]
-```
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Generated query for critical alert: `max((max by (type) (ceil(rate(src_repo_perms_syncer_sync_errors_total[1m])))) >= 1)`
-
-
-
-
-
## worker: goroutine_error_rate
error rate for periodic goroutine executions
@@ -4341,7 +4309,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
**Descriptions**
-- critical worker: less than 90% percentage pods available for 10m0s
+- critical worker: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -4361,7 +4329,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*worker"\}) / count by (app) (up\{app=~".*worker"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*worker"\}) / count by (app) (up\{app=~".*worker"}) * 100) <= 50)`
@@ -4946,7 +4914,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
**Descriptions**
-- critical searcher: less than 90% percentage pods available for 10m0s
+- critical searcher: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -4966,7 +4934,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*searcher"\}) / count by (app) (up\{app=~".*searcher"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*searcher"\}) / count by (app) (up\{app=~".*searcher"}) * 100) <= 50)`
@@ -5264,7 +5232,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
**Descriptions**
-- critical syntect-server: less than 90% percentage pods available for 10m0s
+- critical syntect-server: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -5284,7 +5252,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*syntect-server"\}) / count by (app) (up\{app=~".*syntect-server"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*syntect-server"\}) / count by (app) (up\{app=~".*syntect-server"}) * 100) <= 50)`
@@ -5684,7 +5652,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
**Descriptions**
-- critical zoekt: less than 90% percentage pods available for 10m0s
+- critical zoekt: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -5704,7 +5672,7 @@ Generated query for warning alert: `max((max by (instance) (go_gc_duration_secon
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*indexed-search"\}) / count by (app) (up\{app=~".*indexed-search"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*indexed-search"\}) / count by (app) (up\{app=~".*indexed-search"}) * 100) <= 50)`
@@ -6227,7 +6195,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
**Descriptions**
-- critical prometheus: less than 90% percentage pods available for 10m0s
+- critical prometheus: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -6247,7 +6215,7 @@ Generated query for warning alert: `max((max by (name) (container_oom_events_tot
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*prometheus"\}) / count by (app) (up\{app=~".*prometheus"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*prometheus"\}) / count by (app) (up\{app=~".*prometheus"}) * 100) <= 50)`
@@ -6809,7 +6777,7 @@ Generated query for warning alert: `max((cadvisor_container_memory_usage_percent
**Descriptions**
-- critical otel-collector: less than 90% percentage pods available for 10m0s
+- critical otel-collector: less than 50% percentage pods available for 15m0s
**Next steps**
@@ -6829,7 +6797,148 @@ Generated query for warning alert: `max((cadvisor_container_memory_usage_percent
Technical details
-Generated query for critical alert: `min((sum by (app) (up{app=~".*otel-collector"\}) / count by (app) (up\{app=~".*otel-collector"}) * 100) <= 90)`
+Generated query for critical alert: `min((sum by (app) (up{app=~".*otel-collector"\}) / count by (app) (up\{app=~".*otel-collector"}) * 100) <= 50)`
+
+
+
+
+
+## deepsearch: deepsearch_questions_in_flight_growth
+
+
rate of growth of in-flight questions over 1h
+
+**Descriptions**
+
+- warning deepsearch: 1+ rate of growth of in-flight questions over 1h for 30m0s
+- critical deepsearch: 1+ rate of growth of in-flight questions over 1h for 1h0m0s
+
+**Next steps**
+
+- Check for questions that are never stopping.
+- Check for slow LLM responses or tool execution times.
+- Review `deepsearch_question_processing_duration` for processing time trends.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_questions_in_flight_growth).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_deepsearch_deepsearch_questions_in_flight_growth",
+ "critical_deepsearch_deepsearch_questions_in_flight_growth"
+]
+```
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((max(deriv(src_deepsearch_questions_in_flight[1h]))) > 1)`
+
+Generated query for critical alert: `max((max(deriv(src_deepsearch_questions_in_flight[1h]))) > 1)`
+
+
+
+
+
+## deepsearch: deepsearch_question_processing_error_rate
+
+
question processing error rate over 5m
+
+**Descriptions**
+
+- warning deepsearch: 10%+ question processing error rate over 5m for 10m0s
+- critical deepsearch: 20%+ question processing error rate over 5m for 10m0s
+
+**Next steps**
+
+- Check frontend logs for `Worker failed to process question` errors.
+- Review LLM stream errors in the `LLM streaming` panel below.
+- Check for upstream LLM provider issues.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_question_processing_error_rate).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_deepsearch_deepsearch_question_processing_error_rate",
+ "critical_deepsearch_deepsearch_question_processing_error_rate"
+]
+```
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(rate(src_deepsearch_question_processing_errors_total{operation="question"\}[5m])) / (sum(rate(src_deepsearch_question_processing_total\{operation="question"}[5m])) > 0) * 100) > 10)`
+
+Generated query for critical alert: `max((sum(rate(src_deepsearch_question_processing_errors_total{operation="question"\}[5m])) / (sum(rate(src_deepsearch_question_processing_total\{operation="question"}[5m])) > 0) * 100) > 20)`
+
+
+
+
+
+## deepsearch: deepsearch_llm_stream_fatal_errors
+
+
fatal LLM stream errors over 5m
+
+**Descriptions**
+
+- warning deepsearch: 20+ fatal LLM stream errors over 5m
+
+**Next steps**
+
+- Check frontend logs for `fatal error in LLM stream`.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_llm_stream_fatal_errors).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_deepsearch_deepsearch_llm_stream_fatal_errors"
+]
+```
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_deepsearch_question_processing_errors_total{operation="llm_stream_fatal"}[5m]))) > 20)`
+
+
+
+
+
+## externalapi: externalapi_error_rate
+
+
error rate over 5m
+
+**Descriptions**
+
+- warning externalapi: 10%+ error rate over 5m for 10m0s
+- critical externalapi: 25%+ error rate over 5m for 10m0s
+
+**Next steps**
+
+- Check frontend logs for external API errors.
+- Review individual RPC method error rates below.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#externalapi-externalapi_error_rate).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_externalapi_externalapi_error_rate",
+ "critical_externalapi_externalapi_error_rate"
+]
+```
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(rate(rpc_server_duration_milliseconds_count{rpc_connect_error_code!=""}[5m])) / (sum(rate(rpc_server_duration_milliseconds_count[5m])) > 0) * 100) > 10)`
+
+Generated query for critical alert: `max((sum(rate(rpc_server_duration_milliseconds_count{rpc_connect_error_code!=""}[5m])) / (sum(rate(rpc_server_duration_milliseconds_count[5m])) > 0) * 100) > 25)`
@@ -6862,9 +6971,9 @@ Generated query for critical alert: `min((sum by (app) (up{app=~".*otel-collecto
Technical details
-Generated query for warning alert: `max(((sum by (op) (rate(src_workerutil_dbworker_store_errors_total[5m])) / sum by (op) (rate(src_workerutil_dbworker_store_total[5m]))) * 100) >= 5)`
+Generated query for warning alert: `max(((sum by (op) (rate(src_workerutil_dbworker_store_errors_total[5m])) / (sum by (op) (rate(src_workerutil_dbworker_store_errors_total[5m])) + sum by (op) (rate(src_workerutil_dbworker_store_total[5m])))) * 100) >= 5)`
-Generated query for critical alert: `max(((sum by (op) (rate(src_workerutil_dbworker_store_errors_total[5m])) / sum by (op) (rate(src_workerutil_dbworker_store_total[5m]))) * 100) >= 50)`
+Generated query for critical alert: `max(((sum by (op) (rate(src_workerutil_dbworker_store_errors_total[5m])) / (sum by (op) (rate(src_workerutil_dbworker_store_errors_total[5m])) + sum by (op) (rate(src_workerutil_dbworker_store_total[5m])))) * 100) >= 50)`
@@ -6897,9 +7006,9 @@ Generated query for critical alert: `max(((sum by (op) (rate(src_workerutil_dbwo
Technical details
-Generated query for warning alert: `max(((sum by (domain) (rate(src_workerutil_dbworker_store_errors_total[5m])) / sum by (domain) (rate(src_workerutil_dbworker_store_total[5m]))) * 100) >= 5)`
+Generated query for warning alert: `max(((sum by (domain) (rate(src_workerutil_dbworker_store_errors_total[5m])) / (sum by (domain) (rate(src_workerutil_dbworker_store_errors_total[5m])) + sum by (domain) (rate(src_workerutil_dbworker_store_total[5m])))) * 100) >= 5)`
-Generated query for critical alert: `max(((sum by (domain) (rate(src_workerutil_dbworker_store_errors_total[5m])) / sum by (domain) (rate(src_workerutil_dbworker_store_total[5m]))) * 100) >= 50)`
+Generated query for critical alert: `max(((sum by (domain) (rate(src_workerutil_dbworker_store_errors_total[5m])) / (sum by (domain) (rate(src_workerutil_dbworker_store_errors_total[5m])) + sum by (domain) (rate(src_workerutil_dbworker_store_total[5m])))) * 100) >= 50)`
diff --git a/docs/self-hosted/observability/dashboards.mdx b/docs/self-hosted/observability/dashboards.mdx
index a99cad066..f0a7ce44d 100644
--- a/docs/self-hosted/observability/dashboards.mdx
+++ b/docs/self-hosted/observability/dashboards.mdx
@@ -15979,7 +15979,11 @@ histogram_quantile(0.95, max by (le, type) (rate(src_repo_perms_syncer_sync_dura
Permissions sync error rate
-Refer to the [alerts reference](alerts#worker-perms_syncer_sync_errors) for 1 alert related to this panel.
+Permissions sync errors are often transient and rarely actionable.
+- Check the network connectivity the Sourcegraph and the code host.
+- Check if API rate limit quota is exhausted on the code host.
+
+This panel has no related alerts.
To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101170` on your Sourcegraph instance.
@@ -34943,6 +34947,484 @@ histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_dial_durat
+## Deep Search
+
+
Monitoring for Deep Search question processing.
+
+To see this dashboard, visit `/-/debug/grafana/d/deepsearch/deepsearch` on your Sourcegraph instance.
+
+### Deep Search: Question processing
+
+#### deepsearch: deepsearch_questions_in_flight
+
+
Number of questions currently being processed
+
+The number of deep search questions currently being processed.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100000` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(src_deepsearch_questions_in_flight)
+```
+
+
+
+
+#### deepsearch: deepsearch_questions_in_flight_growth
+
+
Rate of growth of in-flight questions over 1h
+
+A positive value indicates the queue is growing faster than it`s being processed.
+
+Refer to the [alerts reference](alerts#deepsearch-deepsearch_questions_in_flight_growth) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100001` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+max(deriv(src_deepsearch_questions_in_flight[1h]))
+```
+
+
+
+
+#### deepsearch: deepsearch_question_processing_rate
+
+
Questions processed per minute
+
+Rate of deep search questions being processed.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100010` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_deepsearch_question_processing_total{operation="question"}[5m])) * 60
+```
+
+
+
+
+#### deepsearch: deepsearch_question_processing_error_rate
+
+
Question processing error rate over 5m
+
+Percentage of deep search questions that result in an error.
+
+Refer to the [alerts reference](alerts#deepsearch-deepsearch_question_processing_error_rate) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100011` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_deepsearch_question_processing_errors_total{operation="question"}[5m])) / (sum(rate(src_deepsearch_question_processing_total{operation="question"}[5m])) > 0) * 100
+```
+
+
+
+
+#### deepsearch: deepsearch_question_processing_p99_duration
+
+
99th percentile question processing duration
+
+99th percentile time to process a deep search question.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100020` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum(rate(src_deepsearch_question_processing_duration_seconds_bucket{operation="question"}[5m])) by (le))
+```
+
+
+
+
+#### deepsearch: deepsearch_question_processing_p50_duration
+
+
50th percentile question processing duration
+
+Median time to process a deep search question.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100021` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.50, sum(rate(src_deepsearch_question_processing_duration_seconds_bucket{operation="question"}[5m])) by (le))
+```
+
+
+
+
+### Deep Search: LLM streaming
+
+#### deepsearch: deepsearch_llm_stream_fatal_errors
+
+
Fatal LLM stream errors over 5m
+
+Number of fatal errors during LLM streaming in the last 5 minutes.
+
+Refer to the [alerts reference](alerts#deepsearch-deepsearch_llm_stream_fatal_errors) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100100` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_deepsearch_question_processing_errors_total{operation="llm_stream_fatal"}[5m]))
+```
+
+
+
+
+#### deepsearch: deepsearch_llm_stream_non_fatal_errors
+
+
Non-fatal LLM stream errors over 5m
+
+Number of non-fatal errors during LLM streaming.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100101` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_deepsearch_question_processing_errors_total{operation="llm_stream_non_fatal"}[5m]))
+```
+
+
+
+
+## Sourcegraph external API
+
+
Monitoring for the Sourcegraph external API.
+
+To see this dashboard, visit `/-/debug/grafana/d/externalapi/externalapi` on your Sourcegraph instance.
+
+### Sourcegraph external API: Request rate and errors
+
+#### externalapi: externalapi_request_rate
+
+
Requests per second by service
+
+Rate of external API requests by service.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100000` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (rpc_service)(rate(rpc_server_duration_milliseconds_count{rpc_service=~"$rpc_service"}[5m]))
+```
+
+
+
+
+#### externalapi: externalapi_request_rate_by_method
+
+
Requests per second by method
+
+Rate of external API requests by RPC method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100001` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (rpc_method)(rate(rpc_server_duration_milliseconds_count{rpc_service=~"$rpc_service"}[5m]))
+```
+
+
+
+
+#### externalapi: externalapi_error_rate
+
+
Error rate over 5m
+
+Percentage of external API requests that result in an error.
+
+Refer to the [alerts reference](alerts#externalapi-externalapi_error_rate) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100010` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(rpc_server_duration_milliseconds_count{rpc_service=~"$rpc_service",rpc_connect_error_code!=""}[5m])) / (sum(rate(rpc_server_duration_milliseconds_count{rpc_service=~"$rpc_service"}[5m])) > 0) * 100
+```
+
+
+
+
+#### externalapi: externalapi_errors_by_code
+
+
Errors by error code over 5m
+
+Rate of external API errors by ConnectRPC error code.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100011` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (rpc_connect_error_code)(rate(rpc_server_duration_milliseconds_count{rpc_service=~"$rpc_service",rpc_connect_error_code!=""}[5m]))
+```
+
+
+
+
+### Sourcegraph external API: Latency
+
+#### externalapi: externalapi_p99_duration
+
+
99th percentile request duration
+
+99th percentile external API request duration.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100100` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le)(rate(rpc_server_duration_milliseconds_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
+#### externalapi: externalapi_p90_duration
+
+
90th percentile request duration
+
+90th percentile external API request duration.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100101` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le)(rate(rpc_server_duration_milliseconds_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
+#### externalapi: externalapi_p50_duration
+
+
50th percentile request duration
+
+Median external API request duration.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100102` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.50, sum by (le)(rate(rpc_server_duration_milliseconds_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
+#### externalapi: externalapi_p99_duration_by_method
+
+
99th percentile request duration by method
+
+99th percentile external API request duration per RPC method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100110` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method)(rate(rpc_server_duration_milliseconds_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
+#### externalapi: externalapi_p50_duration_by_method
+
+
50th percentile request duration by method
+
+Median external API request duration per RPC method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100111` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.50, sum by (le, rpc_method)(rate(rpc_server_duration_milliseconds_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
+### Sourcegraph external API: Request and response sizes
+
+#### externalapi: externalapi_p99_request_size
+
+
99th percentile request size
+
+99th percentile external API request message size.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100200` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le)(rate(rpc_server_request_size_bytes_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
+#### externalapi: externalapi_p99_response_size
+
+
99th percentile response size
+
+99th percentile external API response message size.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/externalapi/externalapi?viewPanel=100201` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le)(rate(rpc_server_response_size_bytes_bucket{rpc_service=~"$rpc_service"}[5m])))
+```
+
+
+
+
## Periodic Goroutines
Overview of all periodic background routines across Sourcegraph services.
@@ -35441,7 +35923,7 @@ To see this panel, visit `/-/debug/grafana/d/background-jobs/background-jobs?vie
Query:
```
-(sum by (op) (rate(src_workerutil_dbworker_store_errors_total{domain=~"$dbworker_domain"}[5m])) / sum by (op) (rate(src_workerutil_dbworker_store_total{domain=~"$dbworker_domain"}[5m]))) * 100
+(sum by (op) (rate(src_workerutil_dbworker_store_errors_total{domain=~"$dbworker_domain"}[5m])) / (sum by (op) (rate(src_workerutil_dbworker_store_errors_total{domain=~"$dbworker_domain"}[5m])) + sum by (op) (rate(src_workerutil_dbworker_store_total{domain=~"$dbworker_domain"}[5m])))) * 100
```
@@ -35463,7 +35945,7 @@ To see this panel, visit `/-/debug/grafana/d/background-jobs/background-jobs?vie
Query:
```
-(sum by (domain) (rate(src_workerutil_dbworker_store_errors_total{domain=~"$dbworker_domain"}[5m])) / sum by (domain) (rate(src_workerutil_dbworker_store_total{domain=~"$dbworker_domain"}[5m]))) * 100
+(sum by (domain) (rate(src_workerutil_dbworker_store_errors_total{domain=~"$dbworker_domain"}[5m])) / (sum by (domain) (rate(src_workerutil_dbworker_store_errors_total{domain=~"$dbworker_domain"}[5m])) + sum by (domain) (rate(src_workerutil_dbworker_store_total{domain=~"$dbworker_domain"}[5m])))) * 100
```
From 23ba7ced7a3528f8d25f80eb5633f1ac10ea27e0 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Wed, 25 Feb 2026 12:14:23 -0800
Subject: [PATCH 017/217] api: prune GraphQL docs, add warnings, add new API
(#1631)
- Makes the `/api` page the landing page for the new external API
- Add warning on GraphQL API page, rebrand as a debug API
- Removes a lot of GraphQL examples pages to start discouraging their
use and also clean things up
---
docs/api/graphql/examples.mdx | 13 -
docs/api/graphql/index.mdx | 27 +-
.../managing-code-insights-with-api.mdx | 374 ------------------
.../managing-search-contexts-with-api.mdx | 195 ---------
docs/api/graphql/search.mdx | 26 --
docs/api/index.mdx | 35 +-
docs/api/stream-api/index.mdx | 7 +-
docs/code-insights/references/index.mdx | 1 -
.../how-to/create-search-context-graphql.mdx | 112 ------
docs/code-search/how-to/index.mdx | 2 +-
docs/code-search/working/search-contexts.mdx | 4 -
docs/deep-search/api.mdx | 299 --------------
docs/deep-search/index.mdx | 4 +
.../getting-started/github-vs-sourcegraph.mdx | 2 +-
docs/tutorials/index.mdx | 6 +-
src/data/navigation.ts | 12 +-
src/data/redirects.ts | 49 ++-
17 files changed, 94 insertions(+), 1074 deletions(-)
delete mode 100644 docs/api/graphql/examples.mdx
delete mode 100644 docs/api/graphql/managing-code-insights-with-api.mdx
delete mode 100644 docs/api/graphql/managing-search-contexts-with-api.mdx
delete mode 100644 docs/api/graphql/search.mdx
delete mode 100644 docs/code-search/how-to/create-search-context-graphql.mdx
delete mode 100644 docs/deep-search/api.mdx
diff --git a/docs/api/graphql/examples.mdx b/docs/api/graphql/examples.mdx
deleted file mode 100644
index 63e8712b5..000000000
--- a/docs/api/graphql/examples.mdx
+++ /dev/null
@@ -1,13 +0,0 @@
-# Sourcegraph GraphQL API examples
-
-This page demonstrates a few example GraphQL queries for the [Sourcegraph GraphQL API](/api/graphql/). For help with the API, you can use `Ctrl + space` to trigger tooltips.
-
-| GraphQL query | Description | Example use case |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Get the contents of a file on the default branch]() | Returns the file contents. | Quickly fetch file contents without cloning a repository or hitting your code host API (which is usually slower or more rate-limited than Sourcegraph). |
-| [Perform a search query and get results]() | Returns the search result metadata (whether or not the search result limit was hit, if the search timed out, etc.) and the actual results of the search query, which can be one of three types: Repository, FileMatch, or CommitSearchResult. | Search for a new framework or API that you are using (or have deprecated) and determine all of the repositories that haven't yet been migrated. |
-| [Compare 2 commits]() | Returns a list of changes between 2 commits. | Scan diffs between the old and new versions of a deployed service for changes that might indicate an incompatibility (e.g., in a service discovery manifest). |
-| [List the first 1,000 repositories]() | Returns the name, description, and URL of the first 1,000 repositories on the Sourcegraph server (in order of their creation date). | - |
-| [List all files in a repository]() | Returns every file in the repository, its path (relative to the repository root), whether or not it is a directory or plain file, and what the URL path to the file is. | List all of the files in each repository of your organization (when combined with the "List the first 1000 repositories" example above) to determine which of your repositories are missing important files like READMEs, LICENSEs, and Dockerfiles. |
-| [List the languages used in a repository]() | Returns the primary language of the repository as well as a list of all the languages used in the repository. | List all of the languages in each repository of your organization (when combined with the "List the first 1000 repositories" example above) to determine how many repos use each language across your entire organization. |
-| [Current month's active users]() | Returns the current month's active users (total count and usernames) and their last active time. | - |
diff --git a/docs/api/graphql/index.mdx b/docs/api/graphql/index.mdx
index 2b300af90..b0014510c 100644
--- a/docs/api/graphql/index.mdx
+++ b/docs/api/graphql/index.mdx
@@ -2,19 +2,20 @@
seoPriority: 0.8
---
-# Sourcegraph GraphQL API
+# Sourcegraph GraphQL debug API
-The Sourcegraph GraphQL API is a rich API that exposes data related to the code available on a Sourcegraph instance.
+The Sourcegraph GraphQL API is a debug API that can be used for Sourcegraph diagnostics and simple tooling.
-The Sourcegraph GraphQL API supports the following types of queries:
-
-- Full-text and regexp code search
-- Rich git-level metadata, including commits, branches, blame information, and file tree data
-- Repository and user metadata
+
+ The GraphQL API is intended primarily for debugging use cases. It does not
+ have backwards-compatibility guarantees, and may not remain stable across
+ Sourcegraph releases. For more information, please refer to the [Sourcegraph
+ API page](/api).
+
- The API is under active development. Backwards compatibility will be
- maintained in most cases.
+ For code search integrations, we currently recommend using the [stream
+ search API](/api/stream-api/).
## Quickstart
@@ -75,10 +76,6 @@ always uses the latest version of the API).
To access the documentation, click **Docs** on the right-hand side of the API
console page.
-### Search
-
-See [additional documentation about search GraphQL API](/api/graphql/search).
-
### Sudo access tokens
Site admins may create access tokens with the special `site-admin:sudo` scope, which allows the holder to perform any action as any other user.
@@ -114,10 +111,6 @@ https://sourcegraph.com/.api/graphql
i.e. you just need to send the `Authorization` header and a JSON object like `{"query": "my query string", "variables": {"var1": "val1"}}`.
-## Examples
-
-See "[Sourcegraph GraphQL API examples](/api/graphql/examples)".
-
## Cost Limits
To ensure system performance and stability, configurable GraphQL query cost limitations have been implemented. This feature is crucial for preventing resource exhaustion due to extensive or overly complex queries. The default configuration looks as follows, and can be modified in site configuration:
diff --git a/docs/api/graphql/managing-code-insights-with-api.mdx b/docs/api/graphql/managing-code-insights-with-api.mdx
deleted file mode 100644
index aaaa122d8..000000000
--- a/docs/api/graphql/managing-code-insights-with-api.mdx
+++ /dev/null
@@ -1,374 +0,0 @@
-# Managing Code Insights with the API
-
-Learn how to manage [Code Insights](/code-insights/) on private Sourcegraph instances with the API. If you haven't used the API before, learn more about [the GraphQL API and how to use it](/api/graphql/).
-
-This page is meant as a guide for common use cases. You can find all of GraphQL documentation in the [API Console](/api/graphql/#api-console).
-
-## Prerequisites
-
-The Code Insights GraphQL API is available on Sourcegraph versions 3.35.1+.
-
-Note: If Code Insights setting storage is enabled, (`ENABLE_CODE_INSIGHTS_SETTINGS_STORAGE:true`) any changes made via the API will be periodically overwritten by insights stored in settings. This is an unlikely scenario.
-
-## Permissions and visibility
-
-Note: there are no separate read/write permissions at this time, so if a user has permission to view an insight they can also edit and delete it.
-
-When a user creates a Code Insight, that user will automatically be granted permission to view that insight. Besides this one case of insight-level permissions, all permissions exist on [dashboards](/code-insights/explanations/viewing-code-insights#insights-dashboards). This means that in order for another user to view an insight via the API, that insight must first be attached to a dashboard with either organization or global permissions.
-
-See [Managing Dashboards](#managing-dashboards) below for more information.
-
-## Just-in-time vs persisted insights
-
-Some insights generate and persist time series data, while others calculate their data just-in-time on page load. Currently, line chart insights will be persisted, while the language statistics pie charts that run over a single repository will be generated just-in-time.
-
-## Creating a persisted insight
-
-To create a Code Insight that will generate and persist time series data, use the mutation below.
-
-Important: Specify the list of repositories that the insight should run over in `repositoryScope.repositories` or leave it empty to specify that the query should be run across all repositories.
-
-```gql
-mutation CreateLineChartSearchInsight($input: LineChartSearchInsightInput!) {
- createLineChartSearchInsight(input: $input) {
- view {
- id
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "input": {
- "options": {
- "title": "Javascript to Typescript migration"
- },
- "dataSeries": [
- {
- "query": "lang:javascript",
- "options": {
- "label": "javascript",
- "lineColor": "#6495ED"
- },
- "repositoryScope": {
- "repositories": []
- },
- "timeScope": {
- "stepInterval": {
- "unit": "MONTH",
- "value": 1
- }
- }
- },
- {
- "query": "lang:typescript",
- "options": {
- "label": "typescript",
- "lineColor": "#DE3163"
- },
- "repositoryScope": {
- "repositories": []
- },
- "timeScope": {
- "stepInterval": {
- "unit": "MONTH",
- "value": 1
- }
- }
- }
- ]
- }
-}
-```
-
-## Creating a pie chart insight
-
-Pie chart insights show language usage across a specified repository. Because this type of chart has not yet been generalized to other use cases, the `query` field in the input is not used. To create one, use the mutation below.
-
-```gql
-mutation CreatePieChartSearchInsight($input: PieChartSearchInsightInput!) {
- createPieChartSearchInsight(input: $input) {
- view {
- id
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "input": {
- "query": "",
- "repositoryScope": {
- "repositories": ["sourcegraph/sourcegraph"]
- },
- "presentationOptions": {
- "title": "Language usage for Sourcegraph",
- "otherThreshold": 0.3
- }
- }
-}
-```
-
-## Reading a single Code Insight
-
-Use the query below to read a Code Insight by `id`. `filters` are optional, and if provided will filter the aggregated time series to specific repositories.
-
-You can find an insight's `id` if you visit the edit page for the insight. The edit page URL will be of the form `https://sourcegraph.yourcompany.com/insights/edit/aW5zaWdodF92aWV3OiIyM2hiYzNNclB2bDBtajlLTTZTUlBpWVlhZWQi?dashboardId=all` where the `id` is `aW5zaWdodF92aWV3OiIyM2hiYzNNclB2bDBtajlLTTZTUlBpWVlhZWQi`. Alternatively, you can list all insights using this graphQL API.
-
-Notes on the return object:
-
-- `dataSeries.status` is useful to guage the progress of the series point generation. More information can be found in the [API Console Documentation](/api/graphql/#api-console)
-- The `dataSeries`, `dataSeriesDefinitions` and `seriesPresentation` arrays each store different information about the same series. The `seriesId` field on each can be used to match them up.
- - `dataSeries` contains the calculated time series data
- - `dataSeriesDefinitions` contains the definition for the series, such as the query and time interval
- - `seriesPresentation` contains presentation options such as the title and line color
-
-```gql
-query InsightViews($id: ID, $filters: InsightViewFiltersInput) {
- insightViews(id: $id, filters: $filters) {
- nodes {
- id
- dataSeries {
- label
- points {
- dateTime
- value
- }
- status {
- pendingJobs
- completedJobs
- failedJobs
- backfillQueuedAt
- }
- }
- dataSeriesDefinitions {
- ... on SearchInsightDataSeriesDefinition {
- seriesId
- query
- repositoryScope {
- repositories
- }
- timeScope {
- ... on InsightIntervalTimeScope {
- unit
- value
- }
- }
- }
- }
- presentation {
- ... on LineChartInsightViewPresentation {
- title
- seriesPresentation {
- seriesId
- label
- color
- }
- }
- ... on PieChartInsightViewPresentation {
- title
- otherThreshold
- }
- }
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "id": "aW5zaWdodF92aWV3OiIyMkVIR2pXOTFkSzNOanpmM2hyWnU3WDJwMlgi",
- "filters": {
- "includeRepoRegex": "sourcegraph/sourcegraph",
- "excludeRepoRegex": "sourcegraph/handbook"
- }
-}
-```
-
-## List Code Insights
-
-The query below will list all of the Code Insights that you can see based on [permissions](#permissions-and-visibility). The query and return object is the same as for reading a single Code Insight. All input parameters are optional, and can be used for cursor-based pagination and repository filtering.
-
-```gql
-query InsightViews(
- $first: Int
- $after: String
- $filters: InsightViewFiltersInput
-) {
- insightViews(first: $first, after: $after, filters: $filters) {
- nodes {
- id
- }
- pageInfo {
- endCursor
- hasNextPage
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "first": 10,
- "after": "aW5zaWdodF92aWV3OiIyM1l3WHpmSkVhY2Juc0RvWVE5N0FtRU9Wbkki"
-}
-```
-
-## Updating a Code Insight
-
-Below is a GraphQL mutation that updates an existing Code Insight. The format is almost identical to the creation mutation, except that it now takes an `id`. The input object must be complete as it will completely overwrite the existing Code Insight.
-
-Important: series are added, updated, and deleted from the insight as follows:
-
-- A `dataSeries` without a `seriesId` or with an unknown `seriesId` will be treated as a new series and be added to the insight.
-- A `dataSeries` with a `seriesId` that already exists for this insight will be updated in place.
-- Any `dataSeries` that previously existed on the insight but are NOT included in the update **will be deleted.**
-
-```gql
-mutation UpdateLineChartSearchInsight(
- $id: ID!
- $input: UpdateLineChartSearchInsightInput!
-) {
- updateLineChartSearchInsight(id: $id, input: $input) {
- view {
- id
- }
- }
-}
-```
-
-Example variables:
-
-This is an example of updating the Code Insight from the creation mutation example. This updates `options.title`, the `dataSeries.timeScope.stepInterval` of the existing javascript series, and deletes the typescript series by omiting it.
-
-```json
-{
- "id": "[INSIGHT_ID]",
- "input": {
- "presentationOptions": {
- "title": "Javascript weekly"
- },
- "viewControls": {
- "seriesDisplayOptions": {},
- "filters": {}
- },
- "dataSeries": [
- {
- "seriesId": "[SERIES_ID]",
- "query": "lang:javascript",
- "options": {
- "label": "javascript",
- "lineColor": "#6495ED"
- },
- "repositoryScope": {
- "repositories": []
- },
- "timeScope": {
- "stepInterval": {
- "unit": "WEEK",
- "value": 1
- }
- }
- }
- ]
- }
-}
-```
-
-## Deleting a Code Insight
-
-Below is a GraphQL mutation that deletes a Code Insight by ID.
-
-```gql
-mutation DeleteInsightView($id: ID!) {
- deleteInsightView(id: $id) {
- alwaysNil
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "id": "aW5zaWdodF92aWV3OiIyMkVIR2pXOTFkSzNOanpmM2hyWnU3WDJwMlgi"
-}
-```
-
-## Managing dashboards
-
-### Creating a dashboard
-
-Below is a GraphQL mutation that creates a dashboard with global permissions, meaning all users can view this dashboard and all of its insights.
-
-```gql
-mutation CreateInsightsDashboard($input: CreateInsightsDashboardInput!) {
- createInsightsDashboard(input: $input) {
- dashboard {
- id
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "input": {
- "title": "Global insights dashboard",
- "grants": {
- "users": [],
- "organizations": [],
- "global": true
- }
- }
-}
-```
-
-### Adding and removing Code Insights from a dashboard
-
-Use the following mutations to add and remove insights from dashboards:
-
-```gql
-mutation AddInsightViewToDashboard($input: AddInsightViewToDashboardInput!) {
- addInsightViewToDashboard(input: $input) {
- dashboard {
- id
- }
- }
-}
-```
-
-```gql
-mutation RemoveInsightViewFromDashboard(
- $input: RemoveInsightViewFromDashboardInput!
-) {
- removeInsightViewFromDashboard(input: $input) {
- dashboard {
- id
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "input": {
- "insightViewId": "aW5zaWdodF92aWV3OiIyMkVIR2pXOTFkSzNOanpmM2hyWnU3WDJwMlgi",
- "dashboardId": "ZGFzaGJvYXJkOnsiSWRUeXBlIjoiY3VzdG9tIiwiQXJnIjoxNDV9"
- }
-}
-```
diff --git a/docs/api/graphql/managing-search-contexts-with-api.mdx b/docs/api/graphql/managing-search-contexts-with-api.mdx
deleted file mode 100644
index 1734ea750..000000000
--- a/docs/api/graphql/managing-search-contexts-with-api.mdx
+++ /dev/null
@@ -1,195 +0,0 @@
-# Managing search contexts with the API
-
-Learn how to manage [search contexts](/code-search/working/search-contexts) on private Sourcegraph instances with the API. If you haven't used the API before, learn more about [the GraphQL API and how to use it](/api/graphql/).
-
-## Prerequisites
-
-- Search contexts and search context management are [enabled in global settings](/code-search/features#search-contexts).
-
-### Permissions and visibility overview
-
-To read and write search contexts through the API you will need appropriate permissions. The permissions are determined based on the individual search context's namespace and its visibility (private or public).
-
-**Read** permissions (view contents, use in searches):
-
-- **Public** search contexts are available to all users
- - On Sourcegraph.com, unauthenticated visitors can also see public search contexts
-- **Private** search contexts
- - With user namespace: only available to the user
- - With organization namespace: only available to users in the organization
- - With global (instance-level) namespace: only available to site-admins
-
-**Write** permissions (create, update, delete):
-
-- Site-admins have write access to all public search contexts and all global (instance-level) search contexts
-- A regular user has write access to its search contexts and its organization's search contexts
-
-## Create a context
-
-Below is a GraphQL query that creates a new search context. To populate the `searchContext.namespace` property, you will have to query the API beforehand to retrieve the user or organization ID.
-
-If `searchContext.namespace` is not specified or `null` then the context is created in the global (instance-level) namespace.
-To specify search context repositories you will need their ids. Similar to the `namespace` property you will need to retrieve them from the API before creating the context.
-
-```gql
-mutation CreateSearchContext(
- $searchContext: SearchContextInput!
- $repositories: [SearchContextRepositoryRevisionsInput!]!
-) {
- createSearchContext(
- searchContext: $searchContext
- repositories: $repositories
- ) {
- id
- spec
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "searchContext": {
- "name": "MySearchContext",
- "description": "A description of my search context",
- "namespace": "user-id",
- "public": true
- },
- "repositories": [
- {
- "repositoryID": "repo-id",
- "revisions": ["main", "branch-1"]
- }
- ]
-}
-```
-
-## Read a single context
-
-Below is a GraphQL query that fetches a single search context by ID.
-
-```gql
-query ReadSearchContext($id: ID!) {
- node(id: $id) {
- ... on SearchContext {
- id
- spec
- }
- }
-}
-```
-
-Example variables:
-
-```json
-{"id": "search-context-id"}
-```
-
-## List available contexts
-
-Below is a GraphQL query that fetches all available search contexts and allows filtering by multiple parameters. The `namespaces` array allows filtering by one or multiple namespace ids (user or organization id).
-To include global (instance-level) contexts you can specify `null` as one of the ids. If the `namespaces` array is omitted or empty, then no filtering by namespace is applied and all available contexts are returned.
-The `query` parameter allows filtering by search context spec.
-
-```gql
-query ListSearchContexts(
- $first: Int!
- $after: String
- $query: String
- $namespaces: [ID]
- $orderBy: SearchContextsOrderBy
- $descending: Boolean
-) {
- searchContexts(
- first: $first
- after: $after
- query: $query
- namespaces: $namespaces
- orderBy: $orderBy
- descending: $descending
- ) {
- nodes {
- id
- spec
- }
- pageInfo {
- hasNextPage
- endCursor
- }
- totalCount
- }
-}
-```
-
-Example variables:
-
-Query with these variables will return the first 50 search contexts ordered by search context `updatedAt` timestamp ascending. The results will be filtered to include only
-global contexts (`null`), `organization1` contexts (`organization1-id`), and `user1` contexts (`user1-id`).
-
-```json
-{
- "first": 50,
- "namespaces": [null, "organization1-id", "user1-id"],
- "orderBy": "SEARCH_CONTEXT_UPDATED_AT"
-}
-```
-
-## Update a context
-
-Below is a GraphQL query that updates an existing search context. You cannot update a search context namespace.
-You have to provide the full search context and all repositories with revisions you want to keep on each update.
-
-```gql
-mutation UpdateSearchContext(
- $id: ID!
- $searchContext: SearchContextEditInput!
- $repositories: [SearchContextRepositoryRevisionsInput!]!
-) {
- updateSearchContext(
- id: $id
- searchContext: $searchContext
- repositories: $repositories
- ) {
- id
- spec
- }
-}
-```
-
-Example variables:
-
-```json
-{
- "id": "search-context-id-to-update",
- "searchContext": {
- "name": "MyUpdatedSearchContext",
- "description": "An updated description of my search context",
- "public": false
- },
- "repositories": [
- {
- "repositoryID": "repo-id",
- "revisions": ["main", "branch-1", "branch-2"]
- }
- ]
-}
-```
-
-## Delete a context
-
-Below is a GraphQL query that deletes a search context by ID.
-
-```gql
-mutation DeleteSearchContext($id: ID!) {
- deleteSearchContext(id: $id) {
- alwaysNil
- }
-}
-```
-
-Example variables:
-
-```json
-{"id": "search-context-id-to-delete"}
-```
diff --git a/docs/api/graphql/search.mdx b/docs/api/graphql/search.mdx
deleted file mode 100644
index d55f71f8c..000000000
--- a/docs/api/graphql/search.mdx
+++ /dev/null
@@ -1,26 +0,0 @@
-# Sourcegraph search GraphQL API
-
-This page adds some additional depth and context to Sourcegraph's search GraphQL API.
-
-## Search Pagination in GraphQL API
-
-Sourcegraph does not support pagination for search results when using the GraphQL search API due to the dynamic nature of search queries. The order of results may vary each time you run a search, making traditional pagination unreliable.
-
-Instead, we recommend using the [stream search API](/api/stream-api/) for scenarios where you need to run a long query and receive continuous results. This enables you to execute long-running queries.
-
-## `src` CLI usage (easier than GraphQL)
-
-Putting together a comprehensive GraphQL search query can be difficult. For this reason, we created the [`src` CLI tool](https://sourcegraph.com/github.com/sourcegraph/src-cli) which allows you to simply run a search query and get the JSON results without constructing the GraphQL query:
-
-```
-export SRC_ENDPOINT=https://sourcegraph.com
-export SRC_ACCESS_TOKEN=secret
-
-src search -json 'repo:pallets/flask error'
-```
-
-You can then consume the JSON output directly, add `--get-curl` to get a `curl` execution line, and more. See [the `src` CLI tool](https://sourcegraph.com/github.com/sourcegraph/src-cli) for more details.
-
-## Incomplete search results when using Graphql
-
-Sometimes, users find discrepancies in the number of results returned on UI compared to Graphql for the same query. This can be avoided by adding `"count:all" ` to the query used in Graphql. This ensures all the matching records are being fetched via Graphql.
diff --git a/docs/api/index.mdx b/docs/api/index.mdx
index 34b1004d4..ddf8b2742 100644
--- a/docs/api/index.mdx
+++ b/docs/api/index.mdx
@@ -1,8 +1,31 @@
-# API Documentation
+# Sourcegraph API
-Sourcegraph exposes the following APIs:
+Starting in [Sourcegraph 7.0, a new versioned external API is being introduced for custom integrations](https://sourcegraph.com/changelog/sourcegraph-api). The currently available API surface can be seen in `/api-reference` (e.g. `https://sourcegraph.example.com/api-reference`). From this page, integrators can view the available operations and download the OpenAPI schema. We are committed to supporting integrations built on top of these new APIs with backwards compatibility and migration assistance for breaking changes.
-- [Sourcegraph GraphQL API](/api/graphql/), for accessing data stored or computed by Sourcegraph
-- [Sourcegraph Analytics API](/analytics/api/), for accessing your Sourcegraph Analytics data
-- [Sourcegraph Stream API](/api/stream-api/), for consuming search results as a stream of events
-- [Sourcegraph MCP Server](/api/mcp/), for connecting AI agents and applications to Sourcegraph's code search capabilities
+
+ The new Sourcegraph API is a work in progress, and capabilities are
+ gradually being ported over. If you have an integration you'd like to build
+ that is not currently served by the new Sourcegraph API, please reach out at
+ support@sourcegraph.com.
+
+
+For specific types of integrations, Sourcegraph also offers the following APIs:
+
+- [Sourcegraph streaming search API](/api/stream-api/), for consuming search results as a stream of events
+- [Sourcegraph MCP server](/api/mcp/), for connecting AI agents and applications to Sourcegraph's code search capabilities
+- [Sourcegraph Analytics API](/analytics/api/), for accessing your Sourcegraph Analytics data
+
+For diagnostics use cases, the [Sourcegraph GraphQL debug API](/api/graphql/) is also available without any compatibility guarauntees.
+
+
+
The Sourcegraph GraphQL API has historically been an internal interface
+ without formal compatibility guarantees. For external integrations,
+ Sourcegraph 7.0 introduces a new, supported API at `/api-reference`.
+ The GraphQL API remains available, but we recommend migrating to the
+ new API for a stable integration experience.
+
+
If you have a
+ use case that is not currently served by the new Sourcegraph API, please
+ reach out at support@sourcegraph.com.
+
+
diff --git a/docs/api/stream-api/index.mdx b/docs/api/stream-api/index.mdx
index 32c3d16cb..86261c829 100644
--- a/docs/api/stream-api/index.mdx
+++ b/docs/api/stream-api/index.mdx
@@ -2,11 +2,10 @@
seoPriority: 1.0
---
-# Sourcegraph Stream API
+# Sourcegraph streaming search API
-With the Stream API you can consume search results and related metadata as
-a stream of events. The Sourcegraph UI calls the Stream API for all interactive searches.
-Compared to our [GraphQL API](/api/graphql/), it offers shorter times to first results and
+With the streaming search API you can consume search results and related metadata as
+a stream of events. The Sourcegraph UI calls the streaming search API for all interactive searches. It offers shorter times to first results and
supports running exhaustive searches returning a large volume of results without
putting pressure on the backend.
diff --git a/docs/code-insights/references/index.mdx b/docs/code-insights/references/index.mdx
index e60269b27..f063348db 100644
--- a/docs/code-insights/references/index.mdx
+++ b/docs/code-insights/references/index.mdx
@@ -6,6 +6,5 @@ The following is a list of reference documents for Code Insights:
- [Common reasons code insights may not match search results](/code-insights/references/common-reasons-code-insights-may-not-match-search-results)
- [Incomplete data points](/code-insights/references/incomplete-data-points)
- [Licensing and limited access](/code-insights/references/license)
-- [Managing code insights with the API](/api/graphql/managing-code-insights-with-api)
- [Requirements](/code-insights/references/requirements)
- [Code Insight repository scope](/code-insights/references/repository-scope)
diff --git a/docs/code-search/how-to/create-search-context-graphql.mdx b/docs/code-search/how-to/create-search-context-graphql.mdx
deleted file mode 100644
index 1cb153cb2..000000000
--- a/docs/code-search/how-to/create-search-context-graphql.mdx
+++ /dev/null
@@ -1,112 +0,0 @@
-# How to create a search context with the GraphQL API
-
-This document will take you through how to create a search context for your user with Sourcegraph's GraphQL API.
-
-## Prerequisites
-
-- This document assumes that you have a private Sourcegraph instance
-- Assumes you are creating a Private search context with a user namespace which is only available to the user
-- For more information on available permissions and ways to alter the following examples, please see [Managing search contexts with api - permissions and visibility overview](/api/graphql/managing-search-contexts-with-api#permissions-and-visibility-overview)
-
-## Steps to create
-
-Step 1: Add to global configuration (must be site-admin):
-
-```json
-{
- "experimentalFeatures": {
- "showSearchContext": true
- }
-}
-```
-
-Step 2: Make sure you have added code hosts: [Add repositories (from code hosts) to Sourcegraph](/admin/repo/add)
-
-Step 3: Follow the steps to [Generate an access token for GraphQL](/api/graphql#quickstart) if you already haven't
-
-Step 4: Navigate to the API console on your instance, replacing sourcegraph.example with the correct string for your instance URL.
-
-- Example: `https://sourcegraph.example.com/api/console`
-
-Step 5: Query your user namespace id and save the value
-
-- The name: will be your Sourcegraph instance login name
- Example:
-
-```json
-query {
- namespaceByName(name: "my_login_name") {
- id
- }
-}
-```
-
-Step 6: Query your desired repo id and save the value.
-
-- It should be whatever the URL is for that repo.
- Example:
-
-```json
-query {
- repository(name: "github.com/org_name/repo_name") {
- id
- }
-}
-```
-
-Step 7: Take the values from steps 5 and 6 and put them into the example variables from our docs here:
-
-- [Managing search contexts with API - Create a context](/api/graphql/managing-search-contexts-with-api#create-a-context)
-
-Run this with no changes:
-
-```json
-mutation CreateSearchContext(
- $searchContext: SearchContextInput!
- $repositories: [SearchContextRepositoryRevisionsInput!]!
-) {
- createSearchContext(searchContext: $searchContext, repositories: $repositories) {
- id
- spec
- }
-}
-```
-
-Then in the Query Variables section on the bottom of the GraphQL API page, use this variables example, changing at least the name and description:
-
-```json
-{
- "searchContext": {
- "name": "MySearchContext",
- "description": "A description of my search context",
- "namespace": "user-id-from-step-5",
- "public": true
- },
- "repositories": [
- {
- "repositoryID": "repo-id-from-step-6",
- "revisions": ["main", "branch-1"]
- }
- ]
-}
-```
-
-Step 8: Run the query, that should create a search context and the output will look something like:
-
-```json
-{
- "data": {
- "createSearchContext": {
- "id": "V2VhcmNoQ29udGV4dDoiQGdpc2VsbGUvTXlTZWFyY2hDb250ZXh0MiI=",
- "spec": "@my_login_name/MySearchContext"
- }
- }
-}
-```
-
-Step 9: Go to the main search page and you should see the new Search context as part of the search bar!
-
-## Further resources
-
-- [Using and creating search contexts](/code-search/working/search-contexts)
-- [Sourcegraph - Administration Config](/admin)
diff --git a/docs/code-search/how-to/index.mdx b/docs/code-search/how-to/index.mdx
index e6e4c49dd..3b6d68f18 100644
--- a/docs/code-search/how-to/index.mdx
+++ b/docs/code-search/how-to/index.mdx
@@ -1,4 +1,4 @@
# How-to guides
- [Switch from Oracle OpenGrok to Sourcegraph](/code-search/how-to/opengrok)
-- [How to create a search context with the GraphQL API](/code-search/how-to/create-search-context-graphql)
+- [How to create a search context with the GraphQL API](/api/graphql)
diff --git a/docs/code-search/working/search-contexts.mdx b/docs/code-search/working/search-contexts.mdx
index 397487988..6e5bbc766 100644
--- a/docs/code-search/working/search-contexts.mdx
+++ b/docs/code-search/working/search-contexts.mdx
@@ -139,7 +139,3 @@ If you're an admin, to enable this feature for all users set `experimentalFeatur
### Creating search contexts from search results
You can now create new search contexts right from the search results page. Once you've enabled query-based search contexts you'll see a Create context button above the search results.
-
-## Managing search contexts with the API
-
-Learn how to [manage search contexts with the GraphQL API](/api/graphql/managing-search-contexts-with-api).
diff --git a/docs/deep-search/api.mdx b/docs/deep-search/api.mdx
deleted file mode 100644
index 602961421..000000000
--- a/docs/deep-search/api.mdx
+++ /dev/null
@@ -1,299 +0,0 @@
----
-preview: true
----
-
-# Deep Search API
-
-
- Programmatic access to Sourcegraph's agentic code search capabilities.
-
-
-
- The **experimental** Deep Search API is available in Sourcegraph version
- 6.7+. This API allows you to programmatically create and manage Deep Search
- conversations.
-
- We are looking for feedback on the API and its usage. Please let us know your
- thoughts and suggestions.
-
-
-
-The Deep Search API provides programmatic access to Sourcegraph's agentic code search capabilities. Use this API to integrate Deep Search into your development workflows, build custom tools, or automate code analysis tasks.
-
-## Authentication
-
-All API requests require authentication using a Sourcegraph access token. You can generate an access token from your user settings.
-
-```bash
-# Set your access token
-export SRC_ACCESS_TOKEN="your-token-here"
-```
-
-## Base URL
-
-All Deep Search API endpoints are prefixed with `/.api/deepsearch/v1` and require the `X-Requested-With` header to identify the client:
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
- -H 'Accept: application/json' \
- -H 'Content-Type: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-
- The `X-Requested-With` header is required and should include your client
- name and version number.
-
-
-## Creating conversations
-
-All Deep Search conversations are processed asynchronously. When you create a conversation, the API will return immediately with a conversation object containing the question in `processing` status.
-
-Create a new Deep Search conversation by asking a question:
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
- -H 'Accept: application/json' \
- -H 'Content-Type: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0' \
- -d '{"question":"Does github.com/sourcegraph/sourcegraph have a README?"}'
-```
-
-The API returns a conversation object with the question initially in `processing` status:
-
-```json
-{
- "id": 140,
- "questions": [
- {
- "id": 163,
- "conversation_id": 140,
- "question": "Does github.com/sourcegraph/sourcegraph have a README?",
- "created_at": "2025-09-24T08:14:06Z",
- "updated_at": "2025-09-24T08:14:06Z",
- "status": "processing",
- "turns": [
- {
- "reasoning": "Does github.com/sourcegraph/sourcegraph have a README?",
- "timestamp": 1758701646,
- "role": "user"
- }
- ],
- "stats": {
- "time_millis": 0,
- "tool_calls": 0,
- "total_input_tokens": 0,
- "cached_tokens": 0,
- "cache_creation_input_tokens": 0,
- "prompt_tokens": 0,
- "completion_tokens": 0,
- "total_tokens": 0,
- "credits": 0
- },
- "suggested_followups": null
- }
- ],
- "created_at": "2025-09-24T08:14:06Z",
- "updated_at": "2025-09-24T08:14:06Z",
- "user_id": 1,
- "read_token": "caebeb05-7755-4f89-834f-e3ee4a6acb25",
- "share_url": "https://your-sourcegraph-instance.com/deepsearch/caebeb05-7755-4f89-834f-e3ee4a6acb25"
-}
-```
-
-To get the completed answer, poll the conversation endpoint:
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140' \
- -H 'Accept: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-Once processing is complete, the response will include the answer:
-
-```json
-{
- "id": 140,
- "questions": [
- {
- "id": 163,
- "conversation_id": 140,
- "question": "Does github.com/sourcegraph/sourcegraph have a README?",
- "created_at": "2025-09-24T08:14:06Z",
- "updated_at": "2025-09-24T08:14:15Z",
- "status": "completed",
- "title": "GitHub README check",
- "answer": "Yes, [github.com/sourcegraph/sourcegraph](https://sourcegraph.test:3443/github.com/sourcegraph/sourcegraph) has a [README.md](https://sourcegraph.test:3443/github.com/sourcegraph/sourcegraph/-/blob/README.md) file in the root directory.",
- "sources": [
- {
- "type": "Repository",
- "link": "/github.com/sourcegraph/sourcegraph",
- "label": "github.com/sourcegraph/sourcegraph"
- }
- ],
- "stats": {
- "time_millis": 6369,
- "tool_calls": 1,
- "total_input_tokens": 13632,
- "cached_tokens": 12359,
- "cache_creation_input_tokens": 13625,
- "prompt_tokens": 11,
- "completion_tokens": 156,
- "total_tokens": 13694,
- "credits": 2
- },
- "suggested_followups": [
- "What information does the README.md file contain?",
- "Are there other important documentation files in the repository?"
- ]
- }
- ],
- "created_at": "2025-09-24T08:14:06Z",
- "updated_at": "2025-09-24T08:14:15Z",
- "user_id": 1,
- "read_token": "caebeb05-7755-4f89-834f-e3ee4a6acb25",
- "viewer": {"is_owner": true},
- "quota_usage": {
- "total_quota": 0,
- "quota_limit": -1,
- "reset_time": "2025-10-01T00:00:00Z"
- },
- "share_url": "https://sourcegraph.test:3443/deepsearch/caebeb05-7755-4f89-834f-e3ee4a6acb25"
-}
-```
-
-## Adding follow-up questions
-
-Continue a conversation by adding follow-up questions. The `conversation_id` in the request body must match the conversation ID in the URL:
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140/questions' \
- -H 'Accept: application/json' \
- -H 'Content-Type: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0' \
- -d '{"conversation_id":140,"question":"What does the README file contain?"}'
-```
-
-## Listing conversations
-
-Get all your conversations with optional filtering:
-
-```bash
-# List all conversations
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
- -H 'Accept: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-
-# List with pagination and filtering
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1?page_first=10&sort=created_at' \
- -H 'Accept: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-Available query parameters:
-
-- `filter_id` - Filter by conversation ID
-- `filter_user_id` - Filter by user ID
-- `filter_read_token` - Access conversations via read token (requires sharing to be enabled)
-- `filter_is_starred` - Filter by starred conversations (`true` or `false`)
-- `page_first` - Number of results per page
-- `page_after` - Pagination cursor
-- `sort` - Sort order: `id`, `-id`, `created_at`, `-created_at`, `updated_at`, `-updated_at` (default: `-updated_at`)
-
-## Managing conversations
-
-**Get a specific conversation:**
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140' \
- -H 'Accept: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-**Delete a conversation:**
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140' \
- -X DELETE \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-**Cancel a processing question:**
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140/questions/163/cancel' \
- -X POST \
- -H 'Accept: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-## Accessing conversations via read tokens
-
-You can retrieve a conversation using its read token with the `filter_read_token` query parameter.
-
-Each conversation includes a `read_token` field that allows accessing the conversation.
-The read token is also visible in the web client URL and in the `share_url` field.
-Note that you can only access other users' conversations via read tokens if sharing is enabled on your Sourcegraph instance.
-
-```bash
-curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1?filter_read_token=5d9aa113-c511-4687-8b71-dbc2dd733c03' \
- -H 'Accept: application/json' \
- -H "Authorization: token $SRC_ACCESS_TOKEN" \
- -H 'X-Requested-With: my-client 1.0.0'
-```
-
-## Response structure
-
-**Conversation object:**
-
-- `id` - Unique conversation identifier
-- `questions` - Array of questions and answers
-- `created_at`/`updated_at` - Timestamps
-- `user_id` - Owner user ID
-- `read_token` - Token for sharing access
-- `share_url` - URL for sharing the conversation
-
-**Question object:**
-
-- `id` - Unique question identifier
-- `question` - The original question text
-- `status` - Processing status: `pending`, `processing`, `completed`
-- `error` - Error details if the question processing encountered an issue
-- `title` - Generated title for the question
-- `answer` - The AI-generated answer (when completed)
-- `sources` - Array of sources used to generate the answer
-- `suggested_followups` - Suggested follow-up questions
-
-If a question fails to process, the `status` will be `completed` and the `error` field will be populated, for example:
-
-```json
-{
- "status": "completed",
- "error": {
- "title": "Token limit reached",
- "kind": "TokenLimitExceeded",
- "message": "The search exceeded the maximum token limit...",
- "details": "Additional context about the error"
- }
-}
-```
-
-## Error handling
-
-The API returns standard HTTP status codes with descriptive error messages:
-
-- `200` - Success
-- `202` - Accepted (for async requests)
-- `400` - Bad Request
-- `401` - Unauthorized
-- `404` - Not Found
-- `500` - Internal Server Error
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index a64129770..34c7bfcde 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -111,6 +111,10 @@ Sourcegraph administrators can configure entitlements for their users, for examp
To learn more, refer to [Entitlements](/admin/entitlements) and the [Deep Search entitlements changelog post](https://sourcegraph.com/changelog/deep-search-entitlements).
+## Integrations and APIs
+
+Integrations can use [Sourcegraph APIs](/api), such as the new Sourcegraph API and MCP server, to interact with Deep Search.
+
## Architecture
Learn about how Deep Search fits into Sourcegraph in the [architecture overview](/admin/architecture#deep-search).
diff --git a/docs/getting-started/github-vs-sourcegraph.mdx b/docs/getting-started/github-vs-sourcegraph.mdx
index 107639077..a153aac76 100644
--- a/docs/getting-started/github-vs-sourcegraph.mdx
+++ b/docs/getting-started/github-vs-sourcegraph.mdx
@@ -308,7 +308,7 @@ Sourcegraph’s [editor integrations](/integration/editor) let you search and na
### API
-GitHub has a REST API for web clients, but it is not yet documented. On the other hand, Sourcegraph offers different APIs that help you access code-related data available on a Sourcegraph instance. The [GraphQL API](/api/graphql) accesses data stored and computed by Sourcegraph. This API can [fetch](/api/graphql/examples) file contents without cloning a repository or search for a new API and determine all of the repositories that haven’t migrated to it yet. The [Stream API](/api/stream-api) supports consuming search results as a stream of events and it can be used to [search](/api/stream-api#example-curl) over all indexed repositories. Lastly, use the [interactive API explorer](https://sourcegraph.com/api/console#%7B%22query%22%3A%22%23%20Type%20queries%20here%2C%20with%20completion%2C%20validation%2C%20and%20hovers.%5Cn%23%5Cn%23%20Here's%20an%20example%20query%20to%20get%20you%20started%3A%5Cn%5Cnquery%20%7B%5Cn%20%20currentUser%20%7B%5Cn%20%20%20%20username%5Cn%20%20%7D%5Cn%20%20repositories%28first%3A%201%29%20%7B%5Cn%20%20%20%20nodes%20%7B%5Cn%20%20%20%20%20%20name%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22%7D) to build and test your API queries.
+GitHub has a REST API for web clients, but it is not yet documented. On the other hand, Sourcegraph offers different APIs that help you access code-related data available on a Sourcegraph instance. The [GraphQL API](/api/graphql) accesses data stored and computed by Sourcegraph. This API can [fetch](/api/graphql) file contents without cloning a repository or search for a new API and determine all of the repositories that haven’t migrated to it yet. The [Stream API](/api/stream-api) supports consuming search results as a stream of events and it can be used to [search](/api/stream-api#example-curl) over all indexed repositories. Lastly, use the [interactive API explorer](https://sourcegraph.com/api/console#%7B%22query%22%3A%22%23%20Type%20queries%20here%2C%20with%20completion%2C%20validation%2C%20and%20hovers.%5Cn%23%5Cn%23%20Here's%20an%20example%20query%20to%20get%20you%20started%3A%5Cn%5Cnquery%20%7B%5Cn%20%20currentUser%20%7B%5Cn%20%20%20%20username%5Cn%20%20%7D%5Cn%20%20repositories%28first%3A%201%29%20%7B%5Cn%20%20%20%20nodes%20%7B%5Cn%20%20%20%20%20%20name%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22%7D) to build and test your API queries.
| **Features** | **GitHub** | **Sourcegraph** |
| --------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------- |
diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx
index 113690eef..cc0321b6b 100644
--- a/docs/tutorials/index.mdx
+++ b/docs/tutorials/index.mdx
@@ -108,11 +108,7 @@ Full [search query syntax](/code-search/queries).
## The Sourcegraph API
-| Topic | Content Type | Description |
-| ------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [GraphQL API](/api/graphql/) | Reference | The Sourcegraph GraphQL API is a rich API that exposes data related to the code available on a Sourcegraph instance. |
-| [GraphQL Examples](/api/graphql/managing-search-contexts-with-api) | Reference | This page demonstrates a few example GraphQL queries for the Sourcegraph GraphQL API. |
-| [Streaming API](/api/stream-api/) | Reference | With the Stream API you can consume search results and related metadata as a stream of events. The Sourcegraph UI calls the Stream API for all interactive searches. Compared to our GraphQL API, it offers shorter times to first results and supports running exhaustive searches returning a large volume of results without putting pressure on the backend. |
+See [the Sourcegraph API page](/api).
## Search Notebooks
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index 4254dabe2..a802b9fe9 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -411,7 +411,7 @@ export const navigation: NavigationItem[] = [
{
title: 'CODEOWNERS Format',
href: '/code-ownership/codeowners-format'
- },
+ }
]
},
{
@@ -464,14 +464,10 @@ export const navigation: NavigationItem[] = [
title: 'APIs',
href: '/api/graphql',
sections: [
- {title: 'GraphQL API', href: '/api/graphql'},
- {title: 'Stream API', href: '/api/stream-api'},
+ {title: 'Sourcegraph API', href: '/api'},
+ {title: 'Streaming search API', href: '/api/stream-api'},
{title: 'Analytics API', href: '/analytics/api'},
- {
- title: 'Deep Search API',
- href: '/deep-search/api',
- preview: true
- }
+ {title: 'Debug API', href: '/api/graphql'}
]
},
{
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index 923504a75..564ad1848 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -6328,7 +6328,8 @@ const redirectsData = [
},
{
source: '/admin/updates/docker_compose',
- destination: 'https://sourcegraph.com/changelog/self-hosted/docker-compose',
+ destination:
+ 'https://sourcegraph.com/changelog/self-hosted/docker-compose',
permanent: true
},
{
@@ -7049,7 +7050,8 @@ const redirectsData = [
},
{
source: '/self-hosted/updates/docker_compose',
- destination: 'https://sourcegraph.com/changelog/self-hosted/docker-compose',
+ destination:
+ 'https://sourcegraph.com/changelog/self-hosted/docker-compose',
permanent: true
},
{
@@ -7082,7 +7084,8 @@ const redirectsData = [
// Self-hosted update pages moved to /changelog/self-hosted/
{
source: '/self-hosted/updates/docker-compose',
- destination: 'https://sourcegraph.com/changelog/self-hosted/docker-compose',
+ destination:
+ 'https://sourcegraph.com/changelog/self-hosted/docker-compose',
permanent: true
},
{
@@ -7099,27 +7102,57 @@ const redirectsData = [
{
source: '/own',
destination: '/code-ownership',
- permanant: true,
+ permanant: true
},
{
source: '/own/assigned-ownership',
destination: '/code-ownership',
- permanant: true,
+ permanant: true
},
{
source: '/own/configuration-reference',
destination: '/code-ownership',
- permanant: true,
+ permanant: true
},
{
source: '/own/codeowners-ingestion',
destination: '/code-ownership',
- permanant: true,
+ permanant: true
},
{
source: '/own/codeowners-format',
destination: '/code-ownership/codeowners-format',
- permanant: true,
+ permanant: true
+ },
+ {
+ source: '/api/graphql/examples',
+ destination: '/api/graphql',
+ permanent: true
+ },
+ {
+ source: '/api/graphql/search',
+ destination: '/api/stream-api',
+ permanent: true
+ },
+ {
+ source: '/api/graphql/managing-code-insights-with-api',
+ destination: '/api/graphql',
+ permanent: true
+ },
+ {
+ source: '/api/graphql/managing-search-contexts-with-api',
+ destination: '/api/graphql',
+ permanent: true
+ },
+ {
+ source: '/code-search/how-to/create-search-context-graphql',
+ destination: '/api',
+ permanent: true
+ },
+ {
+ source: '/deep-search/api',
+ destination: '/api',
+ permanent: true
}
];
From f3155710a2772ff16c134ce469af51118fe5cda0 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Wed, 25 Feb 2026 15:03:01 -0800
Subject: [PATCH 018/217] docs: move latest version to 7.0 (#1641)
Will merge once 7.0 is released everywhere
---
docs.config.js | 2 +-
docs/legacy.mdx | 1 +
src/data/versions.ts | 4 ++++
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/docs.config.js b/docs.config.js
index b9caea6d3..a5452538d 100644
--- a/docs.config.js
+++ b/docs.config.js
@@ -1,5 +1,5 @@
const config = {
- DOCS_LATEST_VERSION: '6.12'
+ DOCS_LATEST_VERSION: '7.0'
};
module.exports = config;
diff --git a/docs/legacy.mdx b/docs/legacy.mdx
index 0add3931d..f1cd8c725 100644
--- a/docs/legacy.mdx
+++ b/docs/legacy.mdx
@@ -6,6 +6,7 @@
+- [6.12](https://6.12.sourcegraph.com)
- [6.11](https://6.11.sourcegraph.com)
- [6.10](https://6.10.sourcegraph.com)
- [6.9](https://6.9.sourcegraph.com)
diff --git a/src/data/versions.ts b/src/data/versions.ts
index 05b71e7fb..6b6730373 100644
--- a/src/data/versions.ts
+++ b/src/data/versions.ts
@@ -13,6 +13,10 @@ export const versions: VersionI[] = [
label: 'latest',
url: '/docs'
},
+ {
+ name: 'v6.12',
+ url: 'https://6.12.sourcegraph.com'
+ },
{
name: 'v6.11',
url: 'https://6.11.sourcegraph.com'
From be71dfbd6c975aea5e62d2362f50bf8e61e3422d Mon Sep 17 00:00:00 2001
From: Keegan Carruthers-Smith
Date: Thu, 26 Feb 2026 01:50:29 +0200
Subject: [PATCH 019/217] update MCP docs for 7.0 GA release (#1558)
- Remove experimental callout - MCP is now generally available
- DCR is now enabled by default, update docs accordingly
- Add new 'mcp' scope documentation for OAuth and access tokens
- Add 'Disabling DCR' section for admins who need to turn it off
- Add upgrade notes for users migrating from 7.0
- Update mcp-remote example to use 'mcp' scope instead of 'user:all'
---------
Co-authored-by: Amp
---
docs/api/mcp/index.mdx | 69 ++++++++++++++++++++++--------------------
1 file changed, 37 insertions(+), 32 deletions(-)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index b94d192a7..3b801c3c2 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -13,12 +13,6 @@ seoPriority: 1.0
Supported on [Enterprise](/pricing/plans/enterprise) plans.
-
- This feature is
- [experimental](/admin/beta-and-experimental-features#experimental-features)
- and might change or be removed in the future.
-
-
The Sourcegraph Model Context Protocol (MCP) Server provides AI agents and applications with programmatic access to your Sourcegraph instance's code search, navigation, and analysis capabilities through a standardized interface.
## Server Endpoints
@@ -36,44 +30,35 @@ Example URL:
https://your-sourcegraph-instance.com/.api/mcp
```
-## Authentication
-
-The Sourcegraph MCP server supports two authentication methods:
-
-### OAuth 2.0 with Dynamic Client Registration
-
-Sourcegraph supports MCP spec-compliant OAuth with Dynamic Client Registration ([RFC 7591](https://datatracker.ietf.org/doc/html/rfc7591)), allowing AI agents to authenticate without pre-configured client IDs.
-
-#### Enabling Dynamic Client Registration
+## Getting Started
-Enable this feature by setting the following site configuration:
-
-```json
-{
- "auth.idpDynamicClientRegistrationEnabled": true
-}
-```
-
-Once enabled, MCP clients that support OAuth can authenticate automatically. For example, for [Amp](https://ampcode.com/), you can run:
+MCP clients that support OAuth can connect directly—just point them at your Sourcegraph instance and authenticate through your browser:
+**[Amp](https://ampcode.com/)**
```bash
amp mcp add sg https://sourcegraph.example.com/.api/mcp
```
-For [Claude Code](https://www.claude.com/product/claude-code), you can run:
-
+**[Claude Code](https://www.claude.com/product/claude-code)**
```bash
claude mcp add --transport http sg https://sourcegraph.example.com/.api/mcp
```
+This works similarly for other MCP-compatible agents. See [Client Integration](#client-integration) for detailed setup instructions for each client.
+
+## Authentication
+
+The MCP server supports OAuth 2.0 and access token authentication.
-This works similarly for other MCP-compatible agents.
+### OAuth 2.0
-#### Manual OAuth Setup
+Sourcegraph implements Dynamic Client Registration ([RFC 7591](https://datatracker.ietf.org/doc/html/rfc7591)), so compatible clients can authenticate automatically without pre-configured client IDs. DCR-registered applications are restricted to the `mcp` scope, which limits access to MCP endpoints only.
+
+
If your agent doesn't support Dynamic Client Registration, you can manually create an OAuth application:
-1. Create an OAuth application in your Sourcegraph instance following the instructions [here](/admin/oauth-apps#creating-an-oauth-app). (Note: you will need the `user:all` scope)
+1. Create an OAuth application in your Sourcegraph instance following the instructions [here](/admin/oauth-apps#creating-an-oauth-app). (Note: you can use the `mcp` scope for MCP-only access, or `user:all` for full access)
2. Use `mcp-remote` as a fallback with the following configuration:
```json
@@ -88,7 +73,7 @@ If your agent doesn't support Dynamic Client Registration, you can manually crea
"--static-oauth-client-info",
"{\"client_id\":\"\"}",
"--static-oauth-client-metadata",
- "{\"scope\":\"user:all\"}"
+ "{\"scope\":\"mcp\"}"
]
}
}
@@ -101,14 +86,30 @@ If your agent doesn't support Dynamic Client Registration, you can manually crea
-### Authorization Header
+
+
+
+
+To disable DCR, set the following site configuration:
+
+```json
+{
+ "auth.idpDynamicClientRegistrationEnabled": false
+}
+```
+
+
+
+### Access Tokens
-Include your token in the Authorization header:
+Alternatively, include an access token in the Authorization header:
```
Authorization: token YOUR_ACCESS_TOKEN
```
+Access tokens can use the `mcp` scope to restrict access to MCP endpoints only.
+
## Client Integration
The Sourcegraph MCP server can be integrated with various AI tools and IDEs that support the Model Context Protocol.
@@ -529,6 +530,10 @@ Find repositories where a contributor has made commits.
### Deep Search
+
+ Admins can disable the `deepsearch` tool on the default and v1 MCP endpoints by setting the environment variable `SRC_MCP_DISABLE_DEEPSEARCH_TOOL=true` on the Sourcegraph instance. This does not affect `deepsearch_read` or the dedicated `/deepsearch` endpoint. This is a temporary measure available in 7.0 and will be replaced by a proper tool allowlist in a future release.
+
+
### `deepsearch`
Create a new Deep Search conversation to answer complex questions about your codebase.
From 109e1900970a66a468a0b53dddb31492372b96e2 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Wed, 25 Feb 2026 16:25:14 -0800
Subject: [PATCH 020/217] deepsearch: bring back legacy API page (#1642)
Customer is asking for it and in hindsight, better to have it and add a
big warning than delete it so fast, oops
---
docs/deep-search/api.mdx | 300 +++++++++++++++++++++++++++++++++++++++
src/data/redirects.ts | 5 -
2 files changed, 300 insertions(+), 5 deletions(-)
create mode 100644 docs/deep-search/api.mdx
diff --git a/docs/deep-search/api.mdx b/docs/deep-search/api.mdx
new file mode 100644
index 000000000..04dfa320f
--- /dev/null
+++ b/docs/deep-search/api.mdx
@@ -0,0 +1,300 @@
+---
+preview: true
+---
+
+# Deep Search API
+
+
+
+ The **experimental** Deep Search API has been **deprecated** as of
+ Sourcegraph 7.0. In Sourcegraph 7.0, [a new versioned Sourcegraph API is
+ being introduced for custom
+ integrations](https://sourcegraph.com/changelog/sourcegraph-api),
+ available at `/api-reference` (e.g.
+ `https://sourcegraph.example.com/api-reference`). This experimental Deep
+ Search API remains available, but we recommend migrating to the new API
+ for a stable integration experience. If you need migration assistance,
+ please reach out at support@sourcegraph.com.
+
+
Learn more about the Sourcegraph API [here](/api).
+
+
+The Deep Search API provides programmatic access to Sourcegraph's agentic code search capabilities. Use this API to integrate Deep Search into your development workflows, build custom tools, or automate code analysis tasks.
+
+## Authentication
+
+All API requests require authentication using a Sourcegraph access token. You can generate an access token from your user settings.
+
+```bash
+# Set your access token
+export SRC_ACCESS_TOKEN="your-token-here"
+```
+
+## Base URL
+
+All Deep Search API endpoints are prefixed with `/.api/deepsearch/v1` and require the `X-Requested-With` header to identify the client:
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
+ -H 'Accept: application/json' \
+ -H 'Content-Type: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+
+ The `X-Requested-With` header is required and should include your client
+ name and version number.
+
+
+## Creating conversations
+
+All Deep Search conversations are processed asynchronously. When you create a conversation, the API will return immediately with a conversation object containing the question in `processing` status.
+
+Create a new Deep Search conversation by asking a question:
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
+ -H 'Accept: application/json' \
+ -H 'Content-Type: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0' \
+ -d '{"question":"Does github.com/sourcegraph/sourcegraph have a README?"}'
+```
+
+The API returns a conversation object with the question initially in `processing` status:
+
+```json
+{
+ "id": 140,
+ "questions": [
+ {
+ "id": 163,
+ "conversation_id": 140,
+ "question": "Does github.com/sourcegraph/sourcegraph have a README?",
+ "created_at": "2025-09-24T08:14:06Z",
+ "updated_at": "2025-09-24T08:14:06Z",
+ "status": "processing",
+ "turns": [
+ {
+ "reasoning": "Does github.com/sourcegraph/sourcegraph have a README?",
+ "timestamp": 1758701646,
+ "role": "user"
+ }
+ ],
+ "stats": {
+ "time_millis": 0,
+ "tool_calls": 0,
+ "total_input_tokens": 0,
+ "cached_tokens": 0,
+ "cache_creation_input_tokens": 0,
+ "prompt_tokens": 0,
+ "completion_tokens": 0,
+ "total_tokens": 0,
+ "credits": 0
+ },
+ "suggested_followups": null
+ }
+ ],
+ "created_at": "2025-09-24T08:14:06Z",
+ "updated_at": "2025-09-24T08:14:06Z",
+ "user_id": 1,
+ "read_token": "caebeb05-7755-4f89-834f-e3ee4a6acb25",
+ "share_url": "https://your-sourcegraph-instance.com/deepsearch/caebeb05-7755-4f89-834f-e3ee4a6acb25"
+}
+```
+
+To get the completed answer, poll the conversation endpoint:
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140' \
+ -H 'Accept: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+Once processing is complete, the response will include the answer:
+
+```json
+{
+ "id": 140,
+ "questions": [
+ {
+ "id": 163,
+ "conversation_id": 140,
+ "question": "Does github.com/sourcegraph/sourcegraph have a README?",
+ "created_at": "2025-09-24T08:14:06Z",
+ "updated_at": "2025-09-24T08:14:15Z",
+ "status": "completed",
+ "title": "GitHub README check",
+ "answer": "Yes, [github.com/sourcegraph/sourcegraph](https://sourcegraph.test:3443/github.com/sourcegraph/sourcegraph) has a [README.md](https://sourcegraph.test:3443/github.com/sourcegraph/sourcegraph/-/blob/README.md) file in the root directory.",
+ "sources": [
+ {
+ "type": "Repository",
+ "link": "/github.com/sourcegraph/sourcegraph",
+ "label": "github.com/sourcegraph/sourcegraph"
+ }
+ ],
+ "stats": {
+ "time_millis": 6369,
+ "tool_calls": 1,
+ "total_input_tokens": 13632,
+ "cached_tokens": 12359,
+ "cache_creation_input_tokens": 13625,
+ "prompt_tokens": 11,
+ "completion_tokens": 156,
+ "total_tokens": 13694,
+ "credits": 2
+ },
+ "suggested_followups": [
+ "What information does the README.md file contain?",
+ "Are there other important documentation files in the repository?"
+ ]
+ }
+ ],
+ "created_at": "2025-09-24T08:14:06Z",
+ "updated_at": "2025-09-24T08:14:15Z",
+ "user_id": 1,
+ "read_token": "caebeb05-7755-4f89-834f-e3ee4a6acb25",
+ "viewer": {"is_owner": true},
+ "quota_usage": {
+ "total_quota": 0,
+ "quota_limit": -1,
+ "reset_time": "2025-10-01T00:00:00Z"
+ },
+ "share_url": "https://sourcegraph.test:3443/deepsearch/caebeb05-7755-4f89-834f-e3ee4a6acb25"
+}
+```
+
+## Adding follow-up questions
+
+Continue a conversation by adding follow-up questions. The `conversation_id` in the request body must match the conversation ID in the URL:
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140/questions' \
+ -H 'Accept: application/json' \
+ -H 'Content-Type: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0' \
+ -d '{"conversation_id":140,"question":"What does the README file contain?"}'
+```
+
+## Listing conversations
+
+Get all your conversations with optional filtering:
+
+```bash
+# List all conversations
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
+ -H 'Accept: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+
+# List with pagination and filtering
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1?page_first=10&sort=created_at' \
+ -H 'Accept: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+Available query parameters:
+
+- `filter_id` - Filter by conversation ID
+- `filter_user_id` - Filter by user ID
+- `filter_read_token` - Access conversations via read token (requires sharing to be enabled)
+- `filter_is_starred` - Filter by starred conversations (`true` or `false`)
+- `page_first` - Number of results per page
+- `page_after` - Pagination cursor
+- `sort` - Sort order: `id`, `-id`, `created_at`, `-created_at`, `updated_at`, `-updated_at` (default: `-updated_at`)
+
+## Managing conversations
+
+**Get a specific conversation:**
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140' \
+ -H 'Accept: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+**Delete a conversation:**
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140' \
+ -X DELETE \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+**Cancel a processing question:**
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140/questions/163/cancel' \
+ -X POST \
+ -H 'Accept: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+## Accessing conversations via read tokens
+
+You can retrieve a conversation using its read token with the `filter_read_token` query parameter.
+
+Each conversation includes a `read_token` field that allows accessing the conversation.
+The read token is also visible in the web client URL and in the `share_url` field.
+Note that you can only access other users' conversations via read tokens if sharing is enabled on your Sourcegraph instance.
+
+```bash
+curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1?filter_read_token=5d9aa113-c511-4687-8b71-dbc2dd733c03' \
+ -H 'Accept: application/json' \
+ -H "Authorization: token $SRC_ACCESS_TOKEN" \
+ -H 'X-Requested-With: my-client 1.0.0'
+```
+
+## Response structure
+
+**Conversation object:**
+
+- `id` - Unique conversation identifier
+- `questions` - Array of questions and answers
+- `created_at`/`updated_at` - Timestamps
+- `user_id` - Owner user ID
+- `read_token` - Token for sharing access
+- `share_url` - URL for sharing the conversation
+
+**Question object:**
+
+- `id` - Unique question identifier
+- `question` - The original question text
+- `status` - Processing status: `pending`, `processing`, `completed`
+- `error` - Error details if the question processing encountered an issue
+- `title` - Generated title for the question
+- `answer` - The AI-generated answer (when completed)
+- `sources` - Array of sources used to generate the answer
+- `suggested_followups` - Suggested follow-up questions
+
+If a question fails to process, the `status` will be `completed` and the `error` field will be populated, for example:
+
+```json
+{
+ "status": "completed",
+ "error": {
+ "title": "Token limit reached",
+ "kind": "TokenLimitExceeded",
+ "message": "The search exceeded the maximum token limit...",
+ "details": "Additional context about the error"
+ }
+}
+```
+
+## Error handling
+
+The API returns standard HTTP status codes with descriptive error messages:
+
+- `200` - Success
+- `202` - Accepted (for async requests)
+- `400` - Bad Request
+- `401` - Unauthorized
+- `404` - Not Found
+- `500` - Internal Server Error
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index 564ad1848..459fbe28a 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -7149,11 +7149,6 @@ const redirectsData = [
destination: '/api',
permanent: true
},
- {
- source: '/deep-search/api',
- destination: '/api',
- permanent: true
- }
];
const updatedRedirectsData = redirectsData.map(redirect => {
From 02df049c5e2a5a094e2fc187d6ccfe80baea0c8d Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Thu, 26 Feb 2026 01:59:36 -0800
Subject: [PATCH 021/217] sourcegraph 7.0: link to changelog (#1643)
had amp run through all the 7.0 mentions and link them
---
docs/api/index.mdx | 4 ++--
docs/deep-search/api.mdx | 2 +-
docs/how-to/aws-instance-sizing.mdx | 2 +-
docs/self-hosted/deploy/docker-compose/migrate.mdx | 4 ++--
docs/self-hosted/deploy/docker-compose/upgrade.mdx | 2 +-
docs/self-hosted/deploy/docker-single-container/aws.mdx | 2 +-
.../deploy/docker-single-container/digitalocean.mdx | 2 +-
.../deploy/docker-single-container/google-cloud.mdx | 2 +-
docs/self-hosted/deploy/docker-single-container/index.mdx | 4 ++--
docs/self-hosted/deploy/index.mdx | 4 ++--
docs/self-hosted/deploy/kubernetes/index.mdx | 2 +-
docs/self-hosted/deploy/kubernetes/upgrade.mdx | 2 +-
docs/self-hosted/deploy/machine-images/aws-ami.mdx | 2 +-
docs/self-hosted/deploy/machine-images/aws-oneclick.mdx | 2 +-
docs/self-hosted/deploy/machine-images/index.mdx | 2 +-
docs/self-hosted/deploy/single-node/script.mdx | 2 +-
docs/self-hosted/how-to/postgres-12-to-16-drift.mdx | 2 +-
.../how-to/upgrade-postgres-12-16-builtin-dbs.mdx | 2 +-
docs/self-hosted/postgres.mdx | 8 ++++----
docs/self-hosted/postgres12-end-of-life-notice.mdx | 2 +-
.../postgresql-collation-version-mismatch-resolution.mdx | 2 +-
21 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/docs/api/index.mdx b/docs/api/index.mdx
index ddf8b2742..a8d8894ee 100644
--- a/docs/api/index.mdx
+++ b/docs/api/index.mdx
@@ -1,6 +1,6 @@
# Sourcegraph API
-Starting in [Sourcegraph 7.0, a new versioned external API is being introduced for custom integrations](https://sourcegraph.com/changelog/sourcegraph-api). The currently available API surface can be seen in `/api-reference` (e.g. `https://sourcegraph.example.com/api-reference`). From this page, integrators can view the available operations and download the OpenAPI schema. We are committed to supporting integrations built on top of these new APIs with backwards compatibility and migration assistance for breaking changes.
+Starting in [Sourcegraph 7.0](https://sourcegraph.com/changelog/releases/7.0), a new versioned external API is being introduced for custom integrations (see the [announcement](https://sourcegraph.com/changelog/sourcegraph-api)). The currently available API surface can be seen in `/api-reference` (e.g. `https://sourcegraph.example.com/api-reference`). From this page, integrators can view the available operations and download the OpenAPI schema. We are committed to supporting integrations built on top of these new APIs with backwards compatibility and migration assistance for breaking changes.
The new Sourcegraph API is a work in progress, and capabilities are
@@ -20,7 +20,7 @@ For diagnostics use cases, the [Sourcegraph GraphQL debug API](/api/graphql/) is
The Sourcegraph GraphQL API has historically been an internal interface
without formal compatibility guarantees. For external integrations,
- Sourcegraph 7.0 introduces a new, supported API at `/api-reference`.
+ [Sourcegraph 7.0](https://sourcegraph.com/changelog/releases/7.0) introduces a new, supported API at `/api-reference`.
The GraphQL API remains available, but we recommend migrating to the
new API for a stable integration experience.
The **experimental** Deep Search API has been **deprecated** as of
- Sourcegraph 7.0. In Sourcegraph 7.0, [a new versioned Sourcegraph API is
+ [Sourcegraph 7.0](https://sourcegraph.com/changelog/releases/7.0). In this release, [a new versioned Sourcegraph API is
being introduced for custom
integrations](https://sourcegraph.com/changelog/sourcegraph-api),
available at `/api-reference` (e.g.
diff --git a/docs/how-to/aws-instance-sizing.mdx b/docs/how-to/aws-instance-sizing.mdx
index d60545a1e..dfae097ed 100644
--- a/docs/how-to/aws-instance-sizing.mdx
+++ b/docs/how-to/aws-instance-sizing.mdx
@@ -1,7 +1,7 @@
# AWS Instance Sizing for Sourcegraph
-**Deprecation notice:** AWS AMI deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+**Deprecation notice:** AWS AMI deployments will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
## Instance size chart
diff --git a/docs/self-hosted/deploy/docker-compose/migrate.mdx b/docs/self-hosted/deploy/docker-compose/migrate.mdx
index 1ece2e3b3..bdb1b8a4b 100644
--- a/docs/self-hosted/deploy/docker-compose/migrate.mdx
+++ b/docs/self-hosted/deploy/docker-compose/migrate.mdx
@@ -1,8 +1,8 @@
# Migrate from the single Docker image to Docker Compose
-The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. You **must** migrate to Docker Compose or Kubernetes before upgrading to 7.0.0.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. You **must** migrate to Docker Compose or Kubernetes before upgrading to 7.0.0.
-> ⚠️ We recommend new users use our [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Note: [machine image](/self-hosted/deploy/machine-images/) and [script-install](/self-hosted/deploy/single-node/script) deployments are being sunset in Sourcegraph 7.0.0. Existing customers can reach out to our Customer Engineering team support@sourcegraph.com for migration assistance.
+> ⚠️ We recommend new users use our [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Note: [machine image](/self-hosted/deploy/machine-images/) and [script-install](/self-hosted/deploy/single-node/script) deployments are being sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). Existing customers can reach out to our Customer Engineering team support@sourcegraph.com for migration assistance.
Since Sourcegraph 3.13, deploying via Docker Compose is the recommended method for production deployments as it provides resource isolation between Sourcegraph services which makes it more scalable and stable. This page describes how to migrate from a single Docker image deployment to the Docker Compose deployment method.
diff --git a/docs/self-hosted/deploy/docker-compose/upgrade.mdx b/docs/self-hosted/deploy/docker-compose/upgrade.mdx
index 8c4d83c97..86ac84245 100644
--- a/docs/self-hosted/deploy/docker-compose/upgrade.mdx
+++ b/docs/self-hosted/deploy/docker-compose/upgrade.mdx
@@ -69,7 +69,7 @@ $ docker-compose up -d --remove-orphans
>
-If you are upgrading to Sourcegraph 7.0.0 or later and your databases are still on PostgreSQL 12, you must first upgrade to a 6.x release (such as 6.11.x) to allow the automatic PostgreSQL 12 to 16 upgrade to complete. The entrypoint script that performs this upgrade has been removed in 7.0.0.
+If you are upgrading to [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0) or later and your databases are still on PostgreSQL 12, you must first upgrade to a 6.x release (such as 6.11.x) to allow the automatic PostgreSQL 12 to 16 upgrade to complete. The entrypoint script that performs this upgrade has been removed in 7.0.0.
To perform a multi-version upgrade via migrators [upgrade](/self-hosted/updates/migrator/migrator-operations#upgrade) command on a Sourcegraph instance running on Docker compose follow the procedure below:
diff --git a/docs/self-hosted/deploy/docker-single-container/aws.mdx b/docs/self-hosted/deploy/docker-single-container/aws.mdx
index eef6959cc..a71b748fc 100644
--- a/docs/self-hosted/deploy/docker-single-container/aws.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/aws.mdx
@@ -1,6 +1,6 @@
# Install single-container Sourcegraph with Docker on AWS
-The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single EC2 instance on AWS.
diff --git a/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx b/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
index 6afc58a35..237153b0f 100644
--- a/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
@@ -1,6 +1,6 @@
# Install single-container Sourcegraph with Docker on DigitalOcean
-The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single node running on DigitalOcean.
diff --git a/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx b/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
index 863ae1ae4..330d3bb08 100644
--- a/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
@@ -1,6 +1,6 @@
# Install single-container Sourcegraph with Docker on Google Cloud
-The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single node running on Google Cloud.
diff --git a/docs/self-hosted/deploy/docker-single-container/index.mdx b/docs/self-hosted/deploy/docker-single-container/index.mdx
index 1de867345..64e70058b 100644
--- a/docs/self-hosted/deploy/docker-single-container/index.mdx
+++ b/docs/self-hosted/deploy/docker-single-container/index.mdx
@@ -1,6 +1,6 @@
# Docker Single Container Deployment
-The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
The Docker Single Container deployment type is a way to very quickly get an instance of Sourcegraph set up locally to experiment with many of its features. However, it is **not recommended** for a production instance, and **has limitations** depending on the OS you are deploying to, as well as the associated resources. See the [troubleshooting section](#troubleshooting) for additional information.
@@ -141,7 +141,7 @@ SELECT * FROM users;
### Postgresql 16
-The single-container deployment (`sourcegraph/server`) is sunset in Sourcegraph 7.0.0 and is no longer supported. The automatic PostgreSQL 12 to 16 upgrade procedure described below only applies to Sourcegraph 5.10.x through 6.x releases. Users should migrate to a supported deployment type before upgrading to 7.0.0.
+The single-container deployment (`sourcegraph/server`) is sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0) and is no longer supported. The automatic PostgreSQL 12 to 16 upgrade procedure described below only applies to Sourcegraph 5.10.x through 6.x releases. Users should migrate to a supported deployment type before upgrading to 7.0.0.
> Warning: The 5.11 release updates the database container images from Postgres 12 to Postgres 16. Customers are advised to have a database backup before upgrading! See our [postgres 12 end of life](https://sourcegraph.com/docs/self-hosted/postgres12-end-of-life-notice#postgres-12-end-of-life) notice!
diff --git a/docs/self-hosted/deploy/index.mdx b/docs/self-hosted/deploy/index.mdx
index fe296e6a7..d0c2d78b7 100644
--- a/docs/self-hosted/deploy/index.mdx
+++ b/docs/self-hosted/deploy/index.mdx
@@ -85,7 +85,7 @@ Best for enterprises looking for a self-hosted solution on the Cloud provider of
Machine images provide a pre-configured Sourcegraph instance that can be deployed in minutes with minimal effort. While they offer simplicity, they are designed as a standardized solution and do not support customization. Currently available on the following hosts:
-**Note:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0.
+**Note:** AWS AMI and machine image deployments will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0).
@@ -110,7 +110,7 @@ See [Sourcegraph Machine Images](/self-hosted/deploy/machine-images) for more in
### Single-container (removed in 7.0.0)
-The single-container (`sourcegraph/server`) deployment mode has been **removed in Sourcegraph 7.0.0**. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
- [Docker Single Container](/self-hosted/deploy/docker-single-container/) - Install Sourcegraph using a single Docker container
diff --git a/docs/self-hosted/deploy/kubernetes/index.mdx b/docs/self-hosted/deploy/kubernetes/index.mdx
index d92af9231..8b164e6fc 100644
--- a/docs/self-hosted/deploy/kubernetes/index.mdx
+++ b/docs/self-hosted/deploy/kubernetes/index.mdx
@@ -1026,7 +1026,7 @@ When all pods have restarted and show as Running, you can browse to your Sourceg
`v5.11.6271` and then use the standard upgrade procedure to get to their
target version. This is because migrator in all versions from `v6.0.0`
onwards will no longer connect to Postgres 12 databases. Additionally,
- starting in Sourcegraph 7.0.0, the automatic PostgreSQL 12 to 16 upgrade
+ starting in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0), the automatic PostgreSQL 12 to 16 upgrade
entrypoint script has been removed entirely. For more info see
our [PostgreSQL upgrade docs](/self-hosted/postgres#requirements).
diff --git a/docs/self-hosted/deploy/kubernetes/upgrade.mdx b/docs/self-hosted/deploy/kubernetes/upgrade.mdx
index 8f92a4e33..38ac21af2 100644
--- a/docs/self-hosted/deploy/kubernetes/upgrade.mdx
+++ b/docs/self-hosted/deploy/kubernetes/upgrade.mdx
@@ -111,7 +111,7 @@ To perform a multi-version upgrade via migrators [upgrade](/self-hosted/updates/
kubectl apply --prune -l deploy=sourcegraph -f cluster.yaml
```
- > Note: This step will ensure that any PostgreSQL upgrade performed as an entrypoint script will have a chance to execute before the migrator is run. For more information see [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql). **Starting in Sourcegraph 7.0.0, the entrypoint upgrade script has been removed. Users on PostgreSQL 12 must upgrade to a 6.x release first.**
+ > Note: This step will ensure that any PostgreSQL upgrade performed as an entrypoint script will have a chance to execute before the migrator is run. For more information see [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql). **Starting in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0), the entrypoint upgrade script has been removed. Users on PostgreSQL 12 must upgrade to a 6.x release first.**
4. **Run Migrator with the `upgrade` command**:
diff --git a/docs/self-hosted/deploy/machine-images/aws-ami.mdx b/docs/self-hosted/deploy/machine-images/aws-ami.mdx
index ad4161e0c..db537c42d 100644
--- a/docs/self-hosted/deploy/machine-images/aws-ami.mdx
+++ b/docs/self-hosted/deploy/machine-images/aws-ami.mdx
@@ -1,7 +1,7 @@
# Sourcegraph AWS AMI instances
-**Deprecation notice:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+**Deprecation notice:** AWS AMI and machine image deployments will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
Sourcegraph [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instances-and-amis.html) allow you to quickly deploy a production-ready Sourcegraph instance tuned to your organization's scale in just a few clicks.
diff --git a/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx b/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
index 63e15428f..9520d2b9a 100644
--- a/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
+++ b/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
@@ -1,7 +1,7 @@
# AWS One-Click Installation for Sourcegraph
-**Deprecation notice:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+**Deprecation notice:** AWS AMI and machine image deployments will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
This page describes how to launch a verified and pre-configured Sourcegraph instance in just ~10 minutes using our one-click CloudFormation template and standard AMIs.
diff --git a/docs/self-hosted/deploy/machine-images/index.mdx b/docs/self-hosted/deploy/machine-images/index.mdx
index 24699a116..6b6f4f730 100644
--- a/docs/self-hosted/deploy/machine-images/index.mdx
+++ b/docs/self-hosted/deploy/machine-images/index.mdx
@@ -1,7 +1,7 @@
# Sourcegraph Machine Images
-**Deprecation notice:** AWS AMI and machine image deployments will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+**Deprecation notice:** AWS AMI and machine image deployments will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
Sourcegraph machine images help to simplify the deployment experience for our users by using a pre-setup machine image.
diff --git a/docs/self-hosted/deploy/single-node/script.mdx b/docs/self-hosted/deploy/single-node/script.mdx
index fbbcc3070..10b75f8c5 100644
--- a/docs/self-hosted/deploy/single-node/script.mdx
+++ b/docs/self-hosted/deploy/single-node/script.mdx
@@ -1,7 +1,7 @@
# Install Sourcegraph via Shell Script
-**Deprecation notice:** The k3s install script deployment method will be sunset in Sourcegraph 7.0.0. We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
+**Deprecation notice:** The k3s install script deployment method will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). We recommend migrating to [Kubernetes Helm](/self-hosted/deploy/kubernetes) or [Docker Compose](/self-hosted/deploy/docker-compose) deployment methods. Please contact support@sourcegraph.com for migration assistance.
Following these docs will launch a pre-configured single node Sourcegraph instance via shell script.
diff --git a/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx b/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx
index 6b9f9a0a3..ba6aad28a 100644
--- a/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx
+++ b/docs/self-hosted/how-to/postgres-12-to-16-drift.mdx
@@ -1,6 +1,6 @@
# PostgreSQL 12 to 16 Schema Drift
-In Sourcegraph versions `5.10.x` and `5.11.x` we support both PostgreSQL 12 and 16. However, Sourcegraph's database management tool `migrator` expects the database schema of the various Sourcegraph databases to be in an exact expected state. The upgrade from PostgreSQL 12 to 16 is opinionated and automatically mutates the schema without running our application defined migrations. Starting in Sourcegraph `5.10.0` we expect databases to be in PostgresSQL 16 and as such our tooling will identify schema drift in PostgreSQL 12 databases. This drift does not impact the functionality of the Sourcegraph instance but will stop migrator's multiversion `upgrade` command from executing. Note that starting in Sourcegraph 7.0.0, the entrypoint script that performs the automatic PostgreSQL 12 to 16 upgrade has been removed. Users must complete this upgrade on a 6.x release.
+In Sourcegraph versions `5.10.x` and `5.11.x` we support both PostgreSQL 12 and 16. However, Sourcegraph's database management tool `migrator` expects the database schema of the various Sourcegraph databases to be in an exact expected state. The upgrade from PostgreSQL 12 to 16 is opinionated and automatically mutates the schema without running our application defined migrations. Starting in Sourcegraph `5.10.0` we expect databases to be in PostgresSQL 16 and as such our tooling will identify schema drift in PostgreSQL 12 databases. This drift does not impact the functionality of the Sourcegraph instance but will stop migrator's multiversion `upgrade` command from executing. Note that starting in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0), the entrypoint script that performs the automatic PostgreSQL 12 to 16 upgrade has been removed. Users must complete this upgrade on a 6.x release.
> **Note:** The autoupgrade feature has been removed in Sourcegraph 6.12.0 and later. The instructions below for autoupgrade only apply to versions prior to 6.12.0.
diff --git a/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx b/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx
index 512723664..5e5c83d98 100644
--- a/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx
+++ b/docs/self-hosted/how-to/upgrade-postgres-12-16-builtin-dbs.mdx
@@ -1,7 +1,7 @@
# Upgrading Built-in PostgreSQL
-The entrypoint script described in this guide was removed in Sourcegraph 7.0.0. This guide only applies to upgrades targeting Sourcegraph 5.10.x through 6.x. Users on PostgreSQL 12 must complete this upgrade on a 6.x release before upgrading to 7.0.0 or later.
+The entrypoint script described in this guide was removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). This guide only applies to upgrades targeting Sourcegraph 5.10.x through 6.x. Users on PostgreSQL 12 must complete this upgrade on a 6.x release before upgrading to 7.0.0 or later.
The following doc contains detailed instructions for upgrading the built-in PostgreSQL databases via our `postgresql-16` and `postgresql-16-codeinsights` image entrypoint script. This doc assumes an admin is attempting to upgrade to Sourcegraph `6.0.0` from an older version (usually pre `5.10.0`) using one of our "deploy" repos. For more general info see [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql).
diff --git a/docs/self-hosted/postgres.mdx b/docs/self-hosted/postgres.mdx
index 6b1cb0bab..1aaa56aa7 100644
--- a/docs/self-hosted/postgres.mdx
+++ b/docs/self-hosted/postgres.mdx
@@ -62,7 +62,7 @@ Database Image Updates:
These images contain an entry script that will detect and upgrade Postgres instances from version 12 (the version in our previous images) to Postgres 16.
-Starting in Sourcegraph 7.0.0, the entrypoint script that automatically upgrades PostgreSQL 12 to 16 has been removed from the database container images. Users still on PostgreSQL 12 must upgrade to a 6.x version first to perform the automatic upgrade before upgrading to 7.0.0 or later.
+Starting in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0), the entrypoint script that automatically upgrades PostgreSQL 12 to 16 has been removed from the database container images. Users still on PostgreSQL 12 must upgrade to a 6.x version first to perform the automatic upgrade before upgrading to 7.0.0 or later.
> WARNING: Upgrading the PostgreSQL database requires stopping your Sourcegraph deployment which will result in **downtime**.
@@ -81,7 +81,7 @@ For additional assistance with PostgreSQL upgrades, please contact support@sourc
### Upgrade entrypoint script options
-The entrypoint upgrade script and its configuration options described below were removed in Sourcegraph 7.0.0. This section only applies to Sourcegraph 5.10.x through 6.x releases.
+The entrypoint upgrade script and its configuration options described below were removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). This section only applies to Sourcegraph 5.10.x through 6.x releases.
The `PG_UPGRADE_EXTRA_ARGS` environment variable allows you to customize the `pg_upgrade` command in `postgresql-16` and `postgresql-16-codeinsights` deployments.
@@ -116,10 +116,10 @@ When running an [external PostgreSQL instance](/self-hosted/external-services/po
#### Single-container Sourcegraph (removed in 7.0.0)
-The single-container (`sourcegraph/server`) deployment mode has been removed in Sourcegraph 7.0.0. [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
+The single-container (`sourcegraph/server`) deployment mode has been removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0). [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
-The single-container deployment (`sourcegraph/server`) is sunset in Sourcegraph 7.0.0 and is no longer supported. Admins using single-container deployments should migrate to a supported deployment type such as [Docker Compose](/self-hosted/deploy/docker-compose/) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
+The single-container deployment (`sourcegraph/server`) is sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0) and is no longer supported. Admins using single-container deployments should migrate to a supported deployment type such as [Docker Compose](/self-hosted/deploy/docker-compose/) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
For versions prior to 7.0.0, single-container deployments do not support automatic PostgreSQL upgrades. Admins with production data in a single-container deployment are advised to reach out to support@sourcegraph.com for assistance.
diff --git a/docs/self-hosted/postgres12-end-of-life-notice.mdx b/docs/self-hosted/postgres12-end-of-life-notice.mdx
index b1f738f1d..20a55bdb5 100644
--- a/docs/self-hosted/postgres12-end-of-life-notice.mdx
+++ b/docs/self-hosted/postgres12-end-of-life-notice.mdx
@@ -1,7 +1,7 @@
# Postgres 12 End of Life
-As of Sourcegraph 7.0.0, the automatic PostgreSQL 12 to 16 upgrade entrypoint script has been fully removed from the database container images. Users still on PostgreSQL 12 must upgrade to a Sourcegraph 6.x release first to perform the automatic database upgrade before upgrading to 7.0.0 or later.
+As of [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0), the automatic PostgreSQL 12 to 16 upgrade entrypoint script has been fully removed from the database container images. Users still on PostgreSQL 12 must upgrade to a Sourcegraph 6.x release first to perform the automatic database upgrade before upgrading to 7.0.0 or later.
Sourcegraph's required minimum version of Postgres will be updated to Postgres 16 with upcoming releases, Sourcegraph 5.10. This change in required minimum version is a result of Postgres 12, the previous required minimum version, reaching end of life. Please review the below information and reach out if you have any questions or would like to review the impact this change will have on you!
diff --git a/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx b/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx
index 39adbbcc3..abbffacf1 100644
--- a/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx
+++ b/docs/self-hosted/postgresql-collation-version-mismatch-resolution.mdx
@@ -220,7 +220,7 @@ kubectl apply --prune -l deploy=sourcegraph -f cluster.yaml
## AMI/Machine Image based deployments
-**Deprecation notice:** AMI and machine image deployments will be sunset in Sourcegraph 7.0.0.
+**Deprecation notice:** AMI and machine image deployments will be sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0).
Our AMI and GCP machine image deployments run Kubernetes internally, and thus follow the same general directions as our Helm Deployments described above.
From 09f3a949ab37120702e193df8864218951e0ea9c Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Thu, 26 Feb 2026 09:11:05 -0800
Subject: [PATCH 022/217] navigation: point APIs to /api, not GraphQL (#1647)
---
src/data/navigation.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index a802b9fe9..3da1dab81 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -462,7 +462,7 @@ export const navigation: NavigationItem[] = [
},
{
title: 'APIs',
- href: '/api/graphql',
+ href: '/api',
sections: [
{title: 'Sourcegraph API', href: '/api'},
{title: 'Streaming search API', href: '/api/stream-api'},
From b7e3c58838a78166a8749739d122ba1d9b51fd8a Mon Sep 17 00:00:00 2001
From: julialeex
Date: Thu, 26 Feb 2026 17:19:30 -0500
Subject: [PATCH 023/217] Add missing OAuth scopes to Slack integration docs
(#1649)
Updates the permissions reference table to include three new scopes
(assistant:write, files:read, reactions:write) that are present in the
current app manifest but were missing from the documentation.
---
docs/slack-integration.mdx | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/docs/slack-integration.mdx b/docs/slack-integration.mdx
index b30f25a8d..85342501d 100644
--- a/docs/slack-integration.mdx
+++ b/docs/slack-integration.mdx
@@ -103,13 +103,16 @@ All required permissions below are automatically provided via the app manifest g
| Permission | Purpose |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app_mentions:read` | Allows the app to detect when users mention `@Sourcegraph` to begin a Deep Search. |
+| `assistant:write` | Enables the Slack Assistant feature, allowing Sourcegraph to respond in the Assistant panel for direct, contextual interactions. |
| `channels:history` | Enables the app to read message history in the Slack thread where `@Sourcegraph` was tagged, in order to provide context for the Deep Search conversation |
| `chat:write` | Allows the app to send Deep Search responses back to Slack channels and threads where it was mentioned. |
+| `files:read` | Allows the app to read files shared in Slack messages to include them as context for Deep Search conversations. |
| `groups:history` | Enables the app to read message history in private channels it is added to (only read when mentioned.) |
| `im:history` | Enables the app to read direct message history (with the app only), for one-on-one conversations with Sourcegraph. |
-| `mpim:history` | Enables the app to read message history in direct messaging groups it is added to |
| `links:read` | Enables the app to read link metadata when unfurling Deep Search URLs for rich link previews. |
| `links:write` | Enables the app to post rich previews when Deep Search links are shared in Slack |
+| `mpim:history` | Enables the app to read message history in direct messaging groups it is added to |
+| `reactions:write` | Allows the app to add emoji reactions to messages, such as indicating when a Deep Search is in progress. |
| `team:read` | Allows the app to access basic information about the Slack workspace, for configuration and producing links to your Slack workspace in site admin areas. |
| `users:read` | Enables the app to read basic user profile information to associate Slack users with Sourcegraph accounts |
| `users:read.email` | Allows the app to read user email addresses to match Slack users with their Sourcegraph accounts |
From 9f2fc37df429edcb81a14a0070f9594326f573b3 Mon Sep 17 00:00:00 2001
From: Michael Bahr <1830132+bahrmichael@users.noreply.github.com>
Date: Fri, 27 Feb 2026 17:15:03 +0100
Subject: [PATCH 024/217] fix: update suggested scopes for gitlab with batch
changes (#1652)
See https://sourcegraph.slack.com/archives/C05MW2TMYAV/p1772133476875459
---
docs/admin/auth/index.mdx | 6 ++++--
docs/admin/auth/troubleshooting.mdx | 3 +--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/docs/admin/auth/index.mdx b/docs/admin/auth/index.mdx
index 0e91af63e..3df9e0c21 100644
--- a/docs/admin/auth/index.mdx
+++ b/docs/admin/auth/index.mdx
@@ -222,7 +222,9 @@ The response will include an `id` field with your organization's numeric ID.
Sourcegraph instance:
- Authorization callback URL: `https://sourcegraph.example.com/.auth/gitlab/callback`
-- Scopes: `read_user`, `read_api` (be sure to set `"apiScope": "read_api"` in the `auth.providers` config, as indicated below)
+- Scopes: `read_user`, `api`
+
+Write access is required for Batch Changes.
Then add the following lines to your site configuration:
@@ -236,7 +238,7 @@ Then add the following lines to your site configuration:
"clientID": "replace-with-the-oauth-application-id",
"clientSecret": "replace-with-the-oauth-secret",
"url": "https://gitlab.example.com",
- "apiScope": "read_api", // If not set, it defaults to "api" and the OAuth application will have to be adjusted accordingly.
+ "apiScope": "api", // If not set, it defaults to "api".
"allowSignup": false, // If not set, it defaults to true allowing any GitLab user with access to your instance to sign up.
"allowGroups": ["group", "group/subgroup", "group/subgroup/subgroup"], // Restrict logins and sign-ups to members of groups or subgroups based on the full-path provided.
}
diff --git a/docs/admin/auth/troubleshooting.mdx b/docs/admin/auth/troubleshooting.mdx
index bdc943ce0..b73b8b6f3 100644
--- a/docs/admin/auth/troubleshooting.mdx
+++ b/docs/admin/auth/troubleshooting.mdx
@@ -55,11 +55,10 @@ The requested scope is invalid, unknown, or malformed.
This could be related to the scopes granted on your `clientID` and `clientSecret` on the `auth.providers` section in your site configuration.
-For example, for the GitLab oAuth integratio, check the [GitLab scopes](https://gitlab.com/-/profile/applications) granted to ensure that you have the following configured:
+For example, for the GitLab oAuth integration, check the [GitLab scopes](https://gitlab.com/-/profile/applications) granted to ensure that you have the following configured:
- `api`
- `read_user`
-- `read_api`
### Test in incognito mode
From fe8f994cef008e1b6d1c3d7e9830a2b8ae8a9843 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Sat, 28 Feb 2026 00:16:19 +0200
Subject: [PATCH 025/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(2026-02-27/21-45-19)=20(#1?=
=?UTF-8?q?654)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
---------
Co-authored-by: Buildkite
Co-authored-by: Robert Lin
---
docs/admin/architecture.mdx | 2 +-
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 3 +-
docs/admin/config/site-config.mdx | 8 +-
docs/admin/pings.mdx | 4 +-
docs/admin/repo/perforce.mdx | 2 +-
.../{telemetry.mdx => telemetry/index.mdx} | 4 +-
docs/admin/telemetry/protocol.mdx | 643 ++++++++++++++++++
docs/cody/capabilities/supported-models.mdx | 2 +
18 files changed, 670 insertions(+), 18 deletions(-)
rename docs/admin/{telemetry.mdx => telemetry/index.mdx} (94%)
create mode 100644 docs/admin/telemetry/protocol.mdx
diff --git a/docs/admin/architecture.mdx b/docs/admin/architecture.mdx
index d14e74f9d..c1662802f 100644
--- a/docs/admin/architecture.mdx
+++ b/docs/admin/architecture.mdx
@@ -292,7 +292,7 @@ Understanding how individuals and organizations use Sourcegraph is key to provid
The data we collect powers the [Sourcegraph Analytics service](../analytics/index.mdx).
-We take sensitive data/PII exfiltration, intentional or not, very seriously. Our [Telemetry docs](./telemetry.mdx) outline some of the measures we take to ensure privacy and data security.
+We take sensitive data/PII exfiltration, intentional or not, very seriously. Our [Telemetry docs](./telemetry/index.mdx) outline some of the measures we take to ensure privacy and data security.
Telemetry is exported through the `worker` service to the Sourcegraph-managed "Telemetry Gateway" service and "Pings" service, for telemetry events and aggregated reports, respectively.
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index d3e7661e1..478ed0259 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 2e0c9d4db..30df9ea8a 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -65,7 +65,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 666d84c09..9712a8f3d 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 89f86ee4a..f34e0927d 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 9b865ed28..59623f7ff 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 69fe29e14..e2f675e6a 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index e4ba46207..172c43e3d 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 284436d00..9e9044421 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 723cb343f..97d48ee76 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index d940f8fcb..e520a21f6 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 63f31a5e5..8d2c75797 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
@@ -99,6 +99,7 @@ Settings options and their default values are shown below.
"searchQueryInput": "v1",
"searchResultsAggregations": false,
"showCodeMonitoringLogs": false,
+ "smartHover": true,
"symbolKindTags": false
},
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 20ce60a37..1c758ce6d 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
@@ -171,6 +171,12 @@ All site configuration options and their default values are shown below.
// - 20
"debug.search.symbolsParallelism": 0,
+ // Enable/disable the Deep Search feature
+ "deepSearch.enabled": false,
+
+ // Enable/disable sharing of Deep Search conversations via read tokens
+ "deepSearch.sharing.enabled": false,
+
// Use database-backed worker for Deep Search question processing instead of in-memory worker pool. Enables persistence across frontend restarts.
"deepSearch.worker.enabled": true,
diff --git a/docs/admin/pings.mdx b/docs/admin/pings.mdx
index 82bda5224..455f9a516 100644
--- a/docs/admin/pings.mdx
+++ b/docs/admin/pings.mdx
@@ -4,7 +4,7 @@ Sourcegraph periodically sends a ping to `pings.sourcegraph.com` to help our pro
Sourcegraph will also periodically perform a license verification check, to verify the validity of the configured Sourcegraph license. Tampering with these checks, or preventing them from occuring, will cause Sourcegraph to disable many features until a successful check is completed. Certain Enterprise licenses can request to be exempt from these license verification checks.
-To learn more about all types of telemetry emitted by Sourcegraph instances, [Telemetry docs](./telemetry.mdx).
+To learn more about all types of telemetry emitted by Sourcegraph instances, [Telemetry docs](./telemetry/index.mdx).
## Ping payloads
@@ -213,7 +213,7 @@ Sourcegraph aggregates usage and performance metrics for some product features i
## Allowlist IPs / CIDR Ranges for Sourcegraph
-Refer to the [Telemetry docs](./telemetry.mdx) for the list of ranges to allowlist.
+Refer to the [Telemetry docs](./telemetry/index.mdx) for the list of ranges to allowlist.
## Using an HTTP proxy for ping requests
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 090c6edc8..bc8420492 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-25T13:48:43Z */}
+{/* Last updated: 2026-02-27T21:45:19Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry.mdx b/docs/admin/telemetry/index.mdx
similarity index 94%
rename from docs/admin/telemetry.mdx
rename to docs/admin/telemetry/index.mdx
index d6c1c102e..92dd92635 100644
--- a/docs/admin/telemetry.mdx
+++ b/docs/admin/telemetry/index.mdx
@@ -10,7 +10,7 @@ If you have any questions about telemetry collection, please reach out to your S
## Telemetry Events
-Sourcegraph instances 5.2.1 and later collect telemetry events from all Sourcegraph end-user client applications to understand usage patterns and help improve the product. Telemetry events can be generated when certain user actions occur, like opening files or performing searches. This data helps us provide the highest level of support to Sourcegraph's customers, and powers the [Sourcegraph Analytics](../analytics/index.mdx) service.
+Sourcegraph instances 5.2.1 and later collect telemetry events from all Sourcegraph end-user client applications to understand usage patterns and help improve the product. Telemetry events can be generated when certain user actions occur, like opening files or performing searches. This data helps us provide the highest level of support to Sourcegraph's customers, and powers the [Sourcegraph Analytics](../../analytics/index.mdx) service.
Sensitive data/PII exfiltration, intentional or not, is a significant concern to Sourcegraph that we take very seriously.
Some of the measures we take to ensure privacy and data security are:
@@ -33,4 +33,4 @@ Prior to 5.2.0, allowlist the full [Cloudflare IP ranges](https://www.cloudflare
## Architecture
-To learn more about how telemetry data if handled, refer to the [Architecture page](./architecture.mdx#analytics-and-telemetry).
+To learn more about how telemetry data if handled, refer to the [Architecture page](../../admin/architecture.mdx#analytics-and-telemetry).
diff --git a/docs/admin/telemetry/protocol.mdx b/docs/admin/telemetry/protocol.mdx
new file mode 100644
index 000000000..3399d9d3e
--- /dev/null
+++ b/docs/admin/telemetry/protocol.mdx
@@ -0,0 +1,643 @@
+# Telemetry protocol
+
+
+This page contains the core schema for telemetry event data that gets exported from Sourcegraph.
+
+To learn more, refer to our [telemetry documentation](https://sourcegraph.com/docs/telemetry).
+
+## Table of Contents
+
+- [Event](#telemetrygateway-v1-Event)
+- [EventBillingMetadata](#telemetrygateway-v1-EventBillingMetadata)
+- [EventFeatureFlags](#telemetrygateway-v1-EventFeatureFlags)
+- [EventFeatureFlags.FlagsEntry](#telemetrygateway-v1-EventFeatureFlags-FlagsEntry)
+- [EventInteraction](#telemetrygateway-v1-EventInteraction)
+- [EventInteraction.Geolocation](#telemetrygateway-v1-EventInteraction-Geolocation)
+- [EventMarketingTracking](#telemetrygateway-v1-EventMarketingTracking)
+- [EventParameters](#telemetrygateway-v1-EventParameters)
+- [EventParameters.LegacyMetadataEntry](#telemetrygateway-v1-EventParameters-LegacyMetadataEntry)
+- [EventParameters.MetadataEntry](#telemetrygateway-v1-EventParameters-MetadataEntry)
+- [EventSource](#telemetrygateway-v1-EventSource)
+- [EventSource.Client](#telemetrygateway-v1-EventSource-Client)
+- [EventSource.Server](#telemetrygateway-v1-EventSource-Server)
+- [EventSource.Server.RequestClient](#telemetrygateway-v1-EventSource-Server-RequestClient)
+- [EventUser](#telemetrygateway-v1-EventUser)
+- [Identifier](#telemetrygateway-v1-Identifier)
+- [Identifier.LicensedInstanceIdentifier](#telemetrygateway-v1-Identifier-LicensedInstanceIdentifier)
+- [Identifier.ManagedServiceIdentifier](#telemetrygateway-v1-Identifier-ManagedServiceIdentifier)
+- [Identifier.UnlicensedInstanceIdentifier](#telemetrygateway-v1-Identifier-UnlicensedInstanceIdentifier)
+- [Identifier.WorkspaceIdentifier](#telemetrygateway-v1-Identifier-WorkspaceIdentifier)
+- [InstanceOrganizationMetadata](#telemetrygateway-v1-InstanceOrganizationMetadata)
+- [InstanceUserMetadata](#telemetrygateway-v1-InstanceUserMetadata)
+- [PublishInstanceUserMetadataRequest](#telemetrygateway-v1-PublishInstanceUserMetadataRequest)
+- [PublishInstanceUserMetadataRequest.OrganizationMetadataPayload](#telemetrygateway-v1-PublishInstanceUserMetadataRequest-OrganizationMetadataPayload)
+- [PublishInstanceUserMetadataRequest.UserMetadataPayload](#telemetrygateway-v1-PublishInstanceUserMetadataRequest-UserMetadataPayload)
+- [PublishInstanceUserMetadataRequestMetadata](#telemetrygateway-v1-PublishInstanceUserMetadataRequestMetadata)
+- [PublishInstanceUserMetadataResponse](#telemetrygateway-v1-PublishInstanceUserMetadataResponse)
+- [RecordEventRequest](#telemetrygateway-v1-RecordEventRequest)
+- [RecordEventResponse](#telemetrygateway-v1-RecordEventResponse)
+- [RecordEventsRequest](#telemetrygateway-v1-RecordEventsRequest)
+- [RecordEventsRequest.EventsPayload](#telemetrygateway-v1-RecordEventsRequest-EventsPayload)
+- [RecordEventsRequestMetadata](#telemetrygateway-v1-RecordEventsRequestMetadata)
+- [RecordEventsResponse](#telemetrygateway-v1-RecordEventsResponse)
+
+- [Scalar Value Types](#scalar-value-types)
+
+
+
+
+
+
+
+### Event
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| id | [string](#string) | |
Generated ID of the event, currently expected to be UUID v4.
Inferred ISO 3166-1 alpha-2 or alpha-3 country code
|
+
+
+
+
+
+
+
+
+### EventMarketingTracking
+Marketing campaign tracking metadata.
+
+🚨 SECURITY: This metadata is NEVER exported from single-tenant Sourcegraph
+instances, and is only exported for events tracked in the public
+Sourcegraph.com instance and managed services.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| url | [string](#string) | optional |
URL the event occurred on.
|
+| cohort_id | [string](#string) | optional |
Cohort ID to identify the user as part of a specific A/B test.
The user agent of the original client that made the request that triggered
this serverside event.
|
+| api_client_name | [string](#string) | |
The name of the original client that made the request that triggered
this serverside event.
|
+| api_client_version | [string](#string) | |
The version of the original client that made the request that triggered
this serverside event.
|
+| requested_with | [string](#string) | |
The X-Requested-With header from the original client that made the request
that triggered this serverside event.
|
+| api_client_feature | [string](#string) | |
The client-reported feature from the original client that made the request
that triggered this serverside event.
|
+
+
+
+
+
+
+
+
+### EventUser
+EventUser represents a user in the context of an event, and thus must be free
+of sensitive sensitive metadata and PII about the user.
+
+PublishInstanceUserMetadata is used to allow instances to submit additional
+metadata about users for instances that consent to it.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| user_id | [int64](#int64) | optional |
Sourcegraph instance database user ID of the user. User IDs are specific to
a Sourcegraph instance, and are not universal across Sourcegraph instances.
We use an int64 as an ID because in Sourcegraph, database user IDs are
PublishInstanceUserMetadata uploads additional user metadata from a
Sourcegraph instance. This matadata is used to enrich recorded events with
attributes that are considered sensitive and thus not part of the RecordEvents
and RecordEvent RPCs.
🚨 SECURITY: Callers exporting for single-tenant Sourcegraph should always
respect in-instance toggles for what user metadata should be exported.
|
+
+ {/* end services */}
+
+
+
+## Scalar Value Types
+
+| .proto Type | Notes |
+| ----------- | ----- |
+| double | |
+| float | |
+| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
+| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
+| uint32 | Uses variable-length encoding. |
+| uint64 | Uses variable-length encoding. |
+| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
+| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
+| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
+| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
+| sfixed32 | Always four bytes. |
+| sfixed64 | Always eight bytes. |
+| bool | |
+| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. |
+| bytes | May contain any arbitrary sequence of bytes. |
diff --git a/docs/cody/capabilities/supported-models.mdx b/docs/cody/capabilities/supported-models.mdx
index 19ab2548a..5ebedcc71 100644
--- a/docs/cody/capabilities/supported-models.mdx
+++ b/docs/cody/capabilities/supported-models.mdx
@@ -28,6 +28,8 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| Google | [Gemini 2.5 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-pro) | ✅ | ✅ |
| Google | [Gemini 3 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro) | ✅ (experimental) | ❌ |
| Google | [Gemini 3 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash) | ✅ (experimental) | ❌ |
+| Google | [Gemini 3.1 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-pro) | ✅ (experimental) | ❌ |
+| OpenAI | [GPT-5.2](https://platform.openai.com/docs/models/gpt-5.2) | ✅ | ✅ |
| OpenAI | [GPT-5.1](https://platform.openai.com/docs/models/gpt-5.1) | ✅ | ✅ |
| OpenAI | [GPT-5](https://platform.openai.com/docs/models/gpt-5) | ✅ | ✅ |
| OpenAI | [GPT-5 mini](https://platform.openai.com/docs/models/gpt-5-mini) | ✅ | ✅ |
From 72e6a9ffc76fcd7c993392a3be28ce3114fc256a Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Sat, 28 Feb 2026 03:04:49 +0200
Subject: [PATCH 026/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(2026-02-28/00-57-04)=20(#1?=
=?UTF-8?q?656)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 2 +-
docs/admin/config/site-config.mdx | 2 +-
docs/admin/repo/perforce.mdx | 2 +-
.../telemetry/private-metadata-allowlist.mdx | 35 +++++++++++++++++++
docs/admin/telemetry/protocol.mdx | 13 +++----
15 files changed, 55 insertions(+), 19 deletions(-)
create mode 100644 docs/admin/telemetry/private-metadata-allowlist.mdx
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 478ed0259..50e15a8e6 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 30df9ea8a..f70ea2bb7 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -65,7 +65,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 9712a8f3d..a7e33e73b 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index f34e0927d..226ec3f8a 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 59623f7ff..988139446 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index e2f675e6a..961d1252b 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index 172c43e3d..59f489785 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 9e9044421..1819dd0dd 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 97d48ee76..26c97f98a 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index e520a21f6..7f67f75c4 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 8d2c75797..52429d1be 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 1c758ce6d..f7d859938 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index bc8420492..bc3814b71 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-27T21:45:19Z */}
+{/* Last updated: 2026-02-28T00:57:04Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry/private-metadata-allowlist.mdx b/docs/admin/telemetry/private-metadata-allowlist.mdx
new file mode 100644
index 000000000..1838f2aab
--- /dev/null
+++ b/docs/admin/telemetry/private-metadata-allowlist.mdx
@@ -0,0 +1,35 @@
+# Private metadata allowlist
+
+This document lists all telemetry events that are allowed to export specific `privateMetadata` fields.
+
+By default, `privateMetadata` is **never** exported from customers
+because it can contain arbitrarily-shaped data that may accidentally include sensitive or private contents. The events listed below have been individually reviewed and approved for export of specific private metadata fields only.
+
+To learn more, refer to the [telemetry documentation](https://sourcegraph.com/docs/telemetry).
+
+| **Feature** | **Action** | **Allowed `privateMetadata` fields** |
+| :---------- | :--------- | :----------------------------------- |
+| `cody.completion` | _(all)_ | `languageId` — Provides customers with valuable language-specific insights for code completion usage patterns. `otherCompletionProviders` — Provides internal teams insights on competitor completion providers customers are using. `providerModel` — Provides internal teams insights on the specific model used for completions. `resolvedModel` — The resolved model used for the completion request. |
+| `cody.hoverCommands` | visible | `languageId` — Provides customers with valuable language-specific insights for hover command usage patterns. |
+| `blob.codeintel` | _(all)_ | `languageId` — Provides customers with valuable language-specific insights for code intelligence usage patterns. |
+| `cody.chat-question` | submitted | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. `chatAgent` — Provides customers with chat-agent (e.g. deep-cody) specific insights to help determine which agents best suit their use cases. |
+| `cody.chatResponse` | _(all)_ | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. |
+| `cody.chatResponseNew` | _(all)_ | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. |
+| `cody.command.doc` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `cody.command.edit` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `cody.command.fix` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `cody.command.test` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `search` | execute | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
+| `codeintel.explorePanel.usages` | _(all)_ | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
+| `codeintel.explorePanel` | _(all)_ | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
+| `codeintel` | _(all)_ | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
+| `cody.autoedit` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. `languageId` — Identifies the language of the code; not sensitive and high cardinality. |
+| `cody.fixup.user` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
+| `cody.fixup.user` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
+| `cody.fixup.response` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
+| `cody.fixup.apply` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
+| `cody.fixup.persistence` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
+| `cody.modelSelector` | _(all)_ | `modelId` — High-cardinality model identifier; helpful for determining the model selected in the model selector. `modelProvider` — High-cardinality model provider; helpful for determining the model selected in the model selector. |
+| `cody.smart-apply.context` | applied | `model` — High-cardinality model identifier; helpful for determining the model that was selected. |
+| `deepsearch` | search.toolcall | `toolName` — High-cardinality tool name; helpful for determining which tools are being used during deep search. `toolId` — High-cardinality tool identifier; helpful for determining which tools are being used during deep search. `model` — High-cardinality model identifier; helpful for determining which models are being used during deep search. |
+| `externalApi` | request | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
\ No newline at end of file
diff --git a/docs/admin/telemetry/protocol.mdx b/docs/admin/telemetry/protocol.mdx
index 3399d9d3e..1ceec743e 100644
--- a/docs/admin/telemetry/protocol.mdx
+++ b/docs/admin/telemetry/protocol.mdx
@@ -407,7 +407,7 @@ metadata about users for instances that consent to it.
### InstanceOrganizationMetadata
-
+🚨 SECURITY: This metadata is NOT exported from instances by default.
| Field | Type | Label | Description |
@@ -425,7 +425,7 @@ metadata about users for instances that consent to it.
### InstanceUserMetadata
-
+🚨 SECURITY: This metadata is NOT exported from instances by default.
| Field | Type | Label | Description |
@@ -443,7 +443,7 @@ metadata about users for instances that consent to it.
### PublishInstanceUserMetadataRequest
-
+🚨 SECURITY: This metadata is NOT exported from instances by default.
| Field | Type | Label | Description |
@@ -460,7 +460,7 @@ metadata about users for instances that consent to it.
### PublishInstanceUserMetadataRequest.OrganizationMetadataPayload
-
+🚨 SECURITY: This metadata is NOT exported from instances by default.
| Field | Type | Label | Description |
@@ -475,7 +475,7 @@ metadata about users for instances that consent to it.
### PublishInstanceUserMetadataRequest.UserMetadataPayload
-
+🚨 SECURITY: This metadata is NOT exported from instances by default.
| Field | Type | Label | Description |
@@ -610,7 +610,8 @@ metadata about users for instances that consent to it.
### TelemeteryGatewayService
-
+TelemetryGatewayService accepts telemetry and related data from Sourcegraph
+instances and managed services.
| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
From a4cd4966f4a2a731ec5c64e04a1641fe57c943f5 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Fri, 27 Feb 2026 17:25:16 -0800
Subject: [PATCH 027/217] telemetry: add a bit more detail about telemetry data
(#1657)
Part of
https://linear.app/sourcegraph/issue/SVC-2147/v2t-better-advertise-export-privacy-guarantees
Will add https://github.com/sourcegraph/sourcegraph/pull/10419 in the
future as well once that is live
---
docs/admin/telemetry/index.mdx | 26 ++++++++++++++++++++++----
docs/api/graphql/index.mdx | 14 +++++++-------
2 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/docs/admin/telemetry/index.mdx b/docs/admin/telemetry/index.mdx
index 92dd92635..b401f64d3 100644
--- a/docs/admin/telemetry/index.mdx
+++ b/docs/admin/telemetry/index.mdx
@@ -8,20 +8,38 @@ To enable this, Sourcegraph collects several types of usage data from Sourcegrap
If you have any questions about telemetry collection, please reach out to your Sourcegraph account representative.
-## Telemetry Events
+## Telemetry events
-Sourcegraph instances 5.2.1 and later collect telemetry events from all Sourcegraph end-user client applications to understand usage patterns and help improve the product. Telemetry events can be generated when certain user actions occur, like opening files or performing searches. This data helps us provide the highest level of support to Sourcegraph's customers, and powers the [Sourcegraph Analytics](../../analytics/index.mdx) service.
+Sourcegraph collects telemetry events from all Sourcegraph end-user client applications, as well as Sourcegraph backend operations, to understand usage patterns and help improve the product. Telemetry events can be generated when certain user actions occur, like opening files or performing searches. This data helps us provide the highest level of support to Sourcegraph's customers, and powers the [Sourcegraph Analytics](../../analytics/index.mdx) service.
Sensitive data/PII exfiltration, intentional or not, is a significant concern to Sourcegraph that we take very seriously.
Some of the measures we take to ensure privacy and data security are:
-1. Telemetry events are, by default, only allowed to export numeric metadata - for example, string values that may contain sensitive contents are generally redacted. String values we do retain are generally categorized information.
+1. Telemetry events are, by default, only allowed to export numeric metadata - for example, string values that may contain sensitive contents are generally redacted.
+ 1. A carefully audited set of arbitrary properties we do export contain only categorized, enumerated information - you can see the full list [here](/admin/telemetry/private-metadata-allowlist).
2. User identifiers are numeric and anonymized, as identifiers are specific per-instance.
3. Data will be encrypted while in motion from each Sourcegraph instance to Sourcegraph.
+Specifics of the exported data structure is available in the [Telemetry protocol](/admin/telemetry/protocol) reference.
+
+Recently exported events can be retrieved via the [debug console](../../api/graphql/index.mdx) for review.
+You can find the API console at any time by going to **Settings**, and then clicking **Debug console** from the left sidebar, or by visiting it directly at `/debug/console`. Use the following query:
+
+```gql
+query {
+ telemetry {
+ exportedEvents(first: 5) {
+ nodes {
+ payload
+ }
+ }
+ }
+}
+```
+
You can reach out to support@sourcegraph.com for additional information about how telemetry events are recorded and which attributes are exported by default.
-## Allowlist IPs / CIDR Ranges for Sourcegraph
+## Allowlist IPs / CIDR ranges for Sourcegraph
Starting 5.2.0:
diff --git a/docs/api/graphql/index.mdx b/docs/api/graphql/index.mdx
index b0014510c..fa1e3c262 100644
--- a/docs/api/graphql/index.mdx
+++ b/docs/api/graphql/index.mdx
@@ -60,20 +60,20 @@ For automated scripts, CI/CD pipelines, and production integrations, use [servic
## Documentation & tooling
-### API Console and documentation
+### API console and documentation
Sourcegraph includes a built-in API console that lets you write queries and
-view API documentation in your browser.
+view debug API documentation in your browser.
-You can find the API console at any time by going to **Settings**, and then
-clicking **API console** from the left sidebar, or by visiting it directly at
-`https://sourcegraph.example.com/api/console`.
+You can find the debug API console at any time by going to **Settings**, and then
+clicking **Debug console** from the left sidebar, or by visiting it directly at
+`https://sourcegraph.example.com/debug/console`.
If you have not yet set up a Sourcegraph server, you can also test out the API
-on the [Sourcegraph.com API console](https://sourcegraph.com/api/console) (which
+on the [Sourcegraph.com debug console](https://sourcegraph.com/debug/console) (which
always uses the latest version of the API).
-To access the documentation, click **Docs** on the right-hand side of the API
+To access the documentation, click **Docs** on the right-hand side of the debug
console page.
### Sudo access tokens
From 6dda090db473b71ccfb5a6f4081666fd5b57ec9c Mon Sep 17 00:00:00 2001
From: julialeex
Date: Mon, 2 Mar 2026 11:03:58 -0500
Subject: [PATCH 028/217] Add missing im:write to Slack integration docs
(#1660)
Updates the permissions reference table to include the new scope we
added in https://github.com/sourcegraph/sourcegraph/pull/10458
---
docs/slack-integration.mdx | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/slack-integration.mdx b/docs/slack-integration.mdx
index 85342501d..c748cbdea 100644
--- a/docs/slack-integration.mdx
+++ b/docs/slack-integration.mdx
@@ -109,6 +109,7 @@ All required permissions below are automatically provided via the app manifest g
| `files:read` | Allows the app to read files shared in Slack messages to include them as context for Deep Search conversations. |
| `groups:history` | Enables the app to read message history in private channels it is added to (only read when mentioned.) |
| `im:history` | Enables the app to read direct message history (with the app only), for one-on-one conversations with Sourcegraph. |
+| `im:write` | Allows the app to send direct messages to users, enabling the bot to reply in DM conversations. |
| `links:read` | Enables the app to read link metadata when unfurling Deep Search URLs for rich link previews. |
| `links:write` | Enables the app to post rich previews when Deep Search links are shared in Slack |
| `mpim:history` | Enables the app to read message history in direct messaging groups it is added to |
From 529d604682ed5b5188467e998bc61b0c92648d44 Mon Sep 17 00:00:00 2001
From: julialeex
Date: Mon, 2 Mar 2026 15:08:44 -0500
Subject: [PATCH 029/217] feat/externalapi: Add API migration guide (#1644)
CLOSE CU-2424
Adds a new guide that walks integrators through migrating to the new
Sourcegraph API
## Testing
http://localhost:3000/deep-search/api
---------
Co-authored-by: Robert Lin
---
docs/deep-search/api.mdx | 64 +++++++++++++++++++++++++++++++++-----
docs/deep-search/index.mdx | 4 ++-
2 files changed, 60 insertions(+), 8 deletions(-)
diff --git a/docs/deep-search/api.mdx b/docs/deep-search/api.mdx
index dfdcf0ee1..e751e57d4 100644
--- a/docs/deep-search/api.mdx
+++ b/docs/deep-search/api.mdx
@@ -1,15 +1,11 @@
----
-preview: true
----
-
# Deep Search API
The **experimental** Deep Search API has been **deprecated** as of
- [Sourcegraph 7.0](https://sourcegraph.com/changelog/releases/7.0). In this release, [a new versioned Sourcegraph API is
- being introduced for custom
- integrations](https://sourcegraph.com/changelog/sourcegraph-api),
+ [Sourcegraph 7.0](https://sourcegraph.com/changelog/releases/7.0). In
+ this release, [a new versioned Sourcegraph API is being introduced for
+ custom integrations](https://sourcegraph.com/changelog/sourcegraph-api),
available at `/api-reference` (e.g.
`https://sourcegraph.example.com/api-reference`). This experimental Deep
Search API remains available, but we recommend migrating to the new API
@@ -19,6 +15,60 @@ preview: true
Learn more about the Sourcegraph API [here](/api).
+
+ If you're using the experimental Deep Search API, see the [migration
+ guide](#migrating-to-the-new-sourcegraph-api) to upgrade to the new `/api/`
+ endpoints.
+
+
+## Migrating to the New Sourcegraph API
+
+Starting in [Sourcegraph 7.0](https://sourcegraph.com/changelog/releases/7.0), Sourcegraph introduces a new, versioned [API](/api/) at `/api/`. **The new API provides stable, supported endpoints** for functionality previously served by this experimental Deep Search API. See the [Sourcegraph API changelog](https://sourcegraph.com/changelog/sourcegraph-api) for more details.
+
+An interactive API reference is available at `/api-reference` on your Sourcegraph instance (e.g. `https://sourcegraph.example.com/api-reference`), where you can view all operations and download the OpenAPI schema.
+
+
+
+### What changed
+
+1. **Base URL**: `/.api/deepsearch/v1/...` → `/api/deepsearch.v1.Service/...`
+2. **Token scopes**: Any access token → token with `externalapi:read` / `externalapi:write` scope
+3. **`X-Requested-With` header**: No longer required
+4. **Resource identifiers**: Numeric IDs (`140`) → resource names (`users/~self/conversations/140`). For requests that require a parent, the current user name is `users/~self`.
+5. **Status field**: `status: "processing"` → `state: "STATE_PROCESSING"`
+
+### AI-assisted migration
+
+The fastest way to migrate is to give your AI coding agent the OpenAPI schema and this migration guide, and let it update your code. You can download the schema from `/api-reference` on your Sourcegraph instance (e.g. `https://sourcegraph.example.com/api-reference`) — look for the **Download OpenAPI** button. Then tell your agent to migrate your Deep Search API calls to the new `/api/` equivalents.
+
+For a real-world example, see [this Amp thread](https://ampcode.com/threads/T-019ca189-6ef4-746b-a844-3a068df71b25) migrating the [raycast-sourcegraph](https://github.com/bobheadxi/raycast-sourcegraph) extension from the old API to the new endpoints.
+
+### Endpoint mapping
+
+| Operation | Old endpoint | New endpoint |
+| ------------------- | ------------------------------------------------------ | ----------------------------------------------------------- |
+| Create conversation | `POST /.api/deepsearch/v1` | `POST /api/deepsearch.v1.Service/CreateConversation` |
+| Get conversation | `GET /.api/deepsearch/v1/{id}` | `POST /api/deepsearch.v1.Service/GetConversation` |
+| List conversations | `GET /.api/deepsearch/v1` | `POST /api/deepsearch.v1.Service/ListConversationSummaries` |
+| Add follow-up | `POST /.api/deepsearch/v1/{id}/questions` | `POST /api/deepsearch.v1.Service/AddConversationQuestion` |
+| Cancel question | `POST /.api/deepsearch/v1/{id}/questions/{qid}/cancel` | `POST /api/deepsearch.v1.Service/CancelConversation` |
+| Delete conversation | `DELETE /.api/deepsearch/v1/{id}` | `POST /api/deepsearch.v1.Service/DeleteConversation` |
+
+### Response field mapping
+
+| Old field | New field |
+| ---------------------- | --------------------------------------- |
+| `id: 140` | `name: "users/~self/conversations/140"` |
+| `status: "processing"` | `state: "STATE_PROCESSING"` |
+| `status: "completed"` | `state: "STATE_COMPLETED"` |
+| `questions[].answer` | `questions[].answer` (unchanged) |
+| `read_token` | Not exposed |
+| `share_url` | Not exposed |
+
+If you have questions about the migration or need features not yet available in the new API, reach out at **support@sourcegraph.com**.
+
+## Legacy API reference
+
The Deep Search API provides programmatic access to Sourcegraph's agentic code search capabilities. Use this API to integrate Deep Search into your development workflows, build custom tools, or automate code analysis tasks.
## Authentication
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index 34c7bfcde..f116f28af 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -113,7 +113,9 @@ To learn more, refer to [Entitlements](/admin/entitlements) and the [Deep Search
## Integrations and APIs
-Integrations can use [Sourcegraph APIs](/api), such as the new Sourcegraph API and MCP server, to interact with Deep Search.
+Integrations can use [Sourcegraph APIs](/api) and the [MCP server](/api/mcp) to interact with Deep Search.
+
+If you are using the experimental Deep Search API, please [follow our migration guide](/deep-search/api).
## Architecture
From c74eb6fee6e27f3b6cd4958b1ead54ee92911821 Mon Sep 17 00:00:00 2001
From: julialeex
Date: Mon, 2 Mar 2026 16:22:06 -0500
Subject: [PATCH 030/217] fix/externalapi: fix the heading level problem and
add example prompt for AI-assisted Deep Search API migration (#1666)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Adds a copy-pasteable prompt to the AI-assisted migration section of the
Deep Search API docs.
Fix the heading level problem in the guide.
---
docs/deep-search/api.mdx | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/docs/deep-search/api.mdx b/docs/deep-search/api.mdx
index e751e57d4..bb96233a0 100644
--- a/docs/deep-search/api.mdx
+++ b/docs/deep-search/api.mdx
@@ -39,7 +39,20 @@ An interactive API reference is available at `/api-reference` on your Sourcegrap
### AI-assisted migration
-The fastest way to migrate is to give your AI coding agent the OpenAPI schema and this migration guide, and let it update your code. You can download the schema from `/api-reference` on your Sourcegraph instance (e.g. `https://sourcegraph.example.com/api-reference`) — look for the **Download OpenAPI** button. Then tell your agent to migrate your Deep Search API calls to the new `/api/` equivalents.
+The fastest way to migrate is to give your AI coding agent the OpenAPI schema and this migration guide, and let it update your code. You can download the schema from `/api-reference` on your Sourcegraph instance (e.g. `https://sourcegraph.example.com/api-reference`) — look for the **Download OpenAPI** button. Then use a prompt like the following:
+
+```text
+Migrate the Deep Search API calls in this project from the deprecated
+/.api/deepsearch/v1 endpoints to the new Sourcegraph /api/deepsearch.v1.Service/
+endpoints. The main file to update is .
+
+Use the migration guide on
+https://sourcegraph.com/docs/deep-search/api#migrating-to-the-new-sourcegraph-api
+for reference. Use the attached OpenAPI schema (@sourcegraph-openapi.yml) as the
+specification for the new API.
+```
+
+Replace `` with the file(s) in your project that call the Deep Search API, and attach the downloaded OpenAPI schema so the agent can reference the exact request/response shapes.
For a real-world example, see [this Amp thread](https://ampcode.com/threads/T-019ca189-6ef4-746b-a844-3a068df71b25) migrating the [raycast-sourcegraph](https://github.com/bobheadxi/raycast-sourcegraph) extension from the old API to the new endpoints.
@@ -71,7 +84,7 @@ If you have questions about the migration or need features not yet available in
The Deep Search API provides programmatic access to Sourcegraph's agentic code search capabilities. Use this API to integrate Deep Search into your development workflows, build custom tools, or automate code analysis tasks.
-## Authentication
+### Authentication
All API requests require authentication using a Sourcegraph access token. You can generate an access token from your user settings.
@@ -80,7 +93,7 @@ All API requests require authentication using a Sourcegraph access token. You ca
export SRC_ACCESS_TOKEN="your-token-here"
```
-## Base URL
+### Base URL
All Deep Search API endpoints are prefixed with `/.api/deepsearch/v1` and require the `X-Requested-With` header to identify the client:
@@ -97,7 +110,7 @@ curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1' \
name and version number.
-## Creating conversations
+### Creating conversations
All Deep Search conversations are processed asynchronously. When you create a conversation, the API will return immediately with a conversation object containing the question in `processing` status.
@@ -216,7 +229,7 @@ Once processing is complete, the response will include the answer:
}
```
-## Adding follow-up questions
+### Adding follow-up questions
Continue a conversation by adding follow-up questions. The `conversation_id` in the request body must match the conversation ID in the URL:
@@ -229,7 +242,7 @@ curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140/questions' \
-d '{"conversation_id":140,"question":"What does the README file contain?"}'
```
-## Listing conversations
+### Listing conversations
Get all your conversations with optional filtering:
@@ -257,7 +270,7 @@ Available query parameters:
- `page_after` - Pagination cursor
- `sort` - Sort order: `id`, `-id`, `created_at`, `-created_at`, `updated_at`, `-updated_at` (default: `-updated_at`)
-## Managing conversations
+### Managing conversations
**Get a specific conversation:**
@@ -287,7 +300,7 @@ curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1/140/questions/163
-H 'X-Requested-With: my-client 1.0.0'
```
-## Accessing conversations via read tokens
+### Accessing conversations via read tokens
You can retrieve a conversation using its read token with the `filter_read_token` query parameter.
@@ -302,7 +315,7 @@ curl 'https://your-sourcegraph-instance.com/.api/deepsearch/v1?filter_read_token
-H 'X-Requested-With: my-client 1.0.0'
```
-## Response structure
+### Response structure
**Conversation object:**
@@ -338,7 +351,7 @@ If a question fails to process, the `status` will be `completed` and the `error`
}
```
-## Error handling
+### Error handling
The API returns standard HTTP status codes with descriptive error messages:
From e9da41a5c96fe157b652839d8f22201c2aa0be4e Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Tue, 3 Mar 2026 06:28:40 -0800
Subject: [PATCH 031/217] docs: add additional scopes to oauth (#1663)
Adds three oauth scopes that have been added:
* externalapi:read
* externalapi:write
* mcp
---
docs/admin/oauth-apps.mdx | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/admin/oauth-apps.mdx b/docs/admin/oauth-apps.mdx
index 22c700090..d0df6f6fc 100644
--- a/docs/admin/oauth-apps.mdx
+++ b/docs/admin/oauth-apps.mdx
@@ -81,6 +81,9 @@ When creating an OAuth app, select the minimum scopes necessary for your applica
| `email` | Access to user's email address |
| `offline_access` | Request refresh tokens for offline access |
| `user:all` | Full access to Sourcegraph API on behalf of the user |
+| `externalapi:read` | Read-only access to the [Sourcegraph API](/api) |
+| `externalapi:write` | Write access to the [Sourcegraph API](/api) |
+| `mcp` | Access to Model Context Protocol resources |
The `user:all` scope is required for GraphQL API access with OAuth tokens.
From fcd9bfe2659ddd4ba62b850ce5ed5f6963b0fe02 Mon Sep 17 00:00:00 2001
From: Justin Dorfman
Date: Tue, 3 Mar 2026 08:11:47 -0800
Subject: [PATCH 032/217] docs: add Windsurf MCP setup (#1665)
## Summary
Document how to configure the Sourcegraph MCP server in Windsurf.
## Changes
- add Windsurf entry to the MCP integrations list
- document the Windsurf MCP config file and auth headers
---
docs/api/mcp/index.mdx | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 3b801c3c2..f45ae0b1e 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -122,6 +122,7 @@ The Sourcegraph MCP server can be integrated with various AI tools and IDEs that
- [VS Code](#vs-code)
- [Cursor](#cursor)
- [Antigravity](#antigravity)
+ - [Windsurf](#windsurf)
- [OpenCode](#opencode)
### Amp
@@ -335,6 +336,32 @@ code --add-mcp "{ \"name\": \"sourcegraph\", \"type\": \"remote\", \"url\": \"ht
URL and `YOUR_ACCESS_TOKEN` with your access token.
+#### Windsurf
+
+1. Create `~/.codeium/windsurf/mcp_config.json`.
+2. Add the following:
+
+ ```json
+ {
+ "mcpServers": {
+ "sourcegraph": {
+ "serverUrl": "https://your-sourcegraph-instance.com/.api/mcp",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN",
+ "Content-Type": "application/json"
+ }
+ }
+ }
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+
### OpenCode
You can add the Sourcegraph MCP server to OpenCode by configuring it in your MCP settings file:
From 0f018cd4e13c20386e7d7acaa5c8ced53da4dfb7 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Tue, 3 Mar 2026 19:38:05 +0200
Subject: [PATCH 033/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(2026-03-02/17-40-22)=20(#1?=
=?UTF-8?q?662)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 2 +-
docs/admin/config/site-config.mdx | 8 +-------
docs/admin/repo/perforce.mdx | 2 +-
.../telemetry/private-metadata-allowlist.mdx | 20 +++++++++----------
14 files changed, 23 insertions(+), 29 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 50e15a8e6..482547a31 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index f70ea2bb7..4bad0bcad 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -65,7 +65,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index a7e33e73b..35420d7a3 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 226ec3f8a..1a3949ff7 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 988139446..06cd07093 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 961d1252b..457283cc6 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index 59f489785..4b27841d7 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 1819dd0dd..73cb6bd17 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 26c97f98a..0f835de3a 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 7f67f75c4..bc1a68515 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 52429d1be..a7857ad43 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index f7d859938..a65928abb 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
@@ -718,12 +718,6 @@ All site configuration options and their default values are shown below.
]
},
- // Requires PIN or biometric verification when using admin passkeys. When enabled, authenticators must support and perform user verification (PIN entry, fingerprint, face recognition, etc.). This provides stronger assurance that the person using the passkey is the legitimate owner.
- "auth.adminPasskeyPINRequired": false,
-
- // Requires site admin users to verify their identity using a FIDO2/WebAuthn passkey before accessing admin pages. When enabled, admins must register at least one passkey and re-verify periodically (default: every hour). This provides step-up authentication for sensitive admin operations.
- "auth.adminPasskeyRequired": false,
-
// IP allowlist for access to the Sourcegraph instance. If set, only requests from these IP addresses will be allowed. By default client IP is inferred connected client IP address, and you may configure to use a request header to determine the user IP.
"auth.allowedIpAddress": {
"clientIpAddress": null,
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index bc3814b71..6ce588791 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-02-28T00:57:04Z */}
+{/* Last updated: 2026-03-02T17:40:22Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry/private-metadata-allowlist.mdx b/docs/admin/telemetry/private-metadata-allowlist.mdx
index 1838f2aab..d8a9c26bc 100644
--- a/docs/admin/telemetry/private-metadata-allowlist.mdx
+++ b/docs/admin/telemetry/private-metadata-allowlist.mdx
@@ -10,16 +10,16 @@ To learn more, refer to the [telemetry documentation](https://sourcegraph.com/do
| **Feature** | **Action** | **Allowed `privateMetadata` fields** |
| :---------- | :--------- | :----------------------------------- |
| `cody.completion` | _(all)_ | `languageId` — Provides customers with valuable language-specific insights for code completion usage patterns. `otherCompletionProviders` — Provides internal teams insights on competitor completion providers customers are using. `providerModel` — Provides internal teams insights on the specific model used for completions. `resolvedModel` — The resolved model used for the completion request. |
-| `cody.hoverCommands` | visible | `languageId` — Provides customers with valuable language-specific insights for hover command usage patterns. |
+| `cody.hoverCommands` | `visible` | `languageId` — Provides customers with valuable language-specific insights for hover command usage patterns. |
| `blob.codeintel` | _(all)_ | `languageId` — Provides customers with valuable language-specific insights for code intelligence usage patterns. |
-| `cody.chat-question` | submitted | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. `chatAgent` — Provides customers with chat-agent (e.g. deep-cody) specific insights to help determine which agents best suit their use cases. |
+| `cody.chat-question` | `submitted` | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. `chatAgent` — Provides customers with chat-agent (e.g. deep-cody) specific insights to help determine which agents best suit their use cases. |
| `cody.chatResponse` | _(all)_ | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. |
| `cody.chatResponseNew` | _(all)_ | `chatModel` — Provides customers with chat-model specific insights to help determine which models best suit their use cases. |
-| `cody.command.doc` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
-| `cody.command.edit` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
-| `cody.command.fix` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
-| `cody.command.test` | executed | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
-| `search` | execute | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
+| `cody.command.doc` | `executed` | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `cody.command.edit` | `executed` | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `cody.command.fix` | `executed` | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `cody.command.test` | `executed` | `model` — Provides customers with model-specific insights to help determine which models best suit their use cases. |
+| `search` | `execute` | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
| `codeintel.explorePanel.usages` | _(all)_ | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
| `codeintel.explorePanel` | _(all)_ | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
| `codeintel` | _(all)_ | `lang` — High-cardinality language identifier; not sensitive and helpful for determining how users are using search. |
@@ -30,6 +30,6 @@ To learn more, refer to the [telemetry documentation](https://sourcegraph.com/do
| `cody.fixup.apply` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
| `cody.fixup.persistence` | _(all)_ | `model` — High-cardinality model identifier; not sensitive and helpful for determining what model is being used. |
| `cody.modelSelector` | _(all)_ | `modelId` — High-cardinality model identifier; helpful for determining the model selected in the model selector. `modelProvider` — High-cardinality model provider; helpful for determining the model selected in the model selector. |
-| `cody.smart-apply.context` | applied | `model` — High-cardinality model identifier; helpful for determining the model that was selected. |
-| `deepsearch` | search.toolcall | `toolName` — High-cardinality tool name; helpful for determining which tools are being used during deep search. `toolId` — High-cardinality tool identifier; helpful for determining which tools are being used during deep search. `model` — High-cardinality model identifier; helpful for determining which models are being used during deep search. |
-| `externalApi` | request | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
\ No newline at end of file
+| `cody.smart-apply.context` | `applied` | `model` — High-cardinality model identifier; helpful for determining the model that was selected. |
+| `deepsearch` | `search.toolcall` | `toolName` — High-cardinality tool name; helpful for determining which tools are being used during deep search. `toolId` — High-cardinality tool identifier; helpful for determining which tools are being used during deep search. `model` — High-cardinality model identifier; helpful for determining which models are being used during deep search. |
+| `externalApi` | `request` | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
\ No newline at end of file
From ab33b8217d7cdde3f73f25398638b48f91b0357f Mon Sep 17 00:00:00 2001
From: Michael Lin
Date: Tue, 3 Mar 2026 13:03:57 -0800
Subject: [PATCH 034/217] revamp docker compose aws docs (#1619)
---
.../self-hosted/deploy/docker-compose/aws.mdx | 206 ++++--------------
1 file changed, 37 insertions(+), 169 deletions(-)
diff --git a/docs/self-hosted/deploy/docker-compose/aws.mdx b/docs/self-hosted/deploy/docker-compose/aws.mdx
index 61bf6e588..dbb148c23 100644
--- a/docs/self-hosted/deploy/docker-compose/aws.mdx
+++ b/docs/self-hosted/deploy/docker-compose/aws.mdx
@@ -1,171 +1,39 @@
# Install Sourcegraph on Amazon Web Services (AWS)
-This guide will take you through how to deploy Sourcegraph with [Docker Compose](https://docs.docker.com/compose/) to a single EC2 instance on Amazon Web Services (AWS).
-
-## Configure
-
-Click **Launch Instance** from the [EC2 dashboard](https://console.aws.amazon.com/ec2/v2/home), then fill in the following values for each section:
-
-#### Name and tags
-
-1. Name your instance
-
-#### Application and OS Images
-
-1. Select **Amazon Linux** in the _Quick Start_ tab
-
-2. Select **Amazon Linux 2 AMI (HVM), SSD Volume Type** under _Amazon Machine Image (AMI)_
-
-#### Instance type
-
-1. Select an appropriate instance type using our [resource estimator](/self-hosted/deploy/resource-estimator) as reference
-
-#### Key pair (login)
-
-1. Create a new key pair for your instance, or choose an existing key pair from the drop down list
-
-#### Network settings
-
-1. Click `Edit` in the header to enable **Auto-assign Public IP**
-
-2. Under **Firewall (security group)** , create or select existing security group with the following settings:
-
-- Allow SSH traffic from Anywhere
-- Allow HTTPs traffic from the internet
-- Allow HTTP traffic from the internet
-
-> NOTE: If possible, replace the IP address ranges specified with the IPs from which you actually want to allow access.
-
-#### Configure storage
-
-1. Click **Add New Volume** to add an _additional_ EBS volume for storing data
-
-2. Click **Advanced** in the header to update the following settings for the new Custom Volume:
-
-- `Storage Type`: EBS
-- `Device name`: `/dev/sdb`
-- `Volume Type`: `gp3` (General Purpose SSD)
-- `Size (GiB)`: `250GB minimum`
- - Sourcegraph needs at least as much space as all your repositories combined take up
- - Allocating as much disk space as you can upfront minimize the need for [resizing your volume](https://aws.amazon.com/premiumsupport/knowledge-center/expand-root-ebs-linux/) in the future
-- `Delete on Termination`: `No`
-
-#### Advanced details > User Data
-
-Copy and paste the _startup script_ below into the **User Data** textbox:
-
-```bash
-#!/usr/bin/env bash
-set -euxo pipefail
-###############################################################################
-# ACTION REQUIRED: REPLACE THE URL AND REVISION WITH YOUR DEPLOYMENT REPO INFO
-###############################################################################
-# Please read the notes below the script if you are cloning a private repository
-DEPLOY_SOURCEGRAPH_DOCKER_FORK_CLONE_URL='https://github.com/sourcegraph/deploy-sourcegraph-docker.git'
-DEPLOY_SOURCEGRAPH_DOCKER_FORK_REVISION={CURRENT_VERSION}
-##################### NO CHANGES REQUIRED BELOW THIS LINE #####################
-DEPLOY_SOURCEGRAPH_DOCKER_CHECKOUT='/home/ec2-user/deploy-sourcegraph-docker'
-DOCKER_COMPOSE_VERSION='1.29.2'
-DOCKER_DAEMON_CONFIG_FILE='/etc/docker/daemon.json'
-DOCKER_DATA_ROOT='/mnt/docker-data'
-EBS_VOLUME_DEVICE_NAME='/dev/sdb'
-EBS_VOLUME_LABEL='sourcegraph'
-# Install git
-yum update -y
-yum install git -y
-# Clone the deployment repository
-git clone "${DEPLOY_SOURCEGRAPH_DOCKER_FORK_CLONE_URL}" "${DEPLOY_SOURCEGRAPH_DOCKER_CHECKOUT}"
-cd "${DEPLOY_SOURCEGRAPH_DOCKER_CHECKOUT}"
-git checkout "${DEPLOY_SOURCEGRAPH_DOCKER_FORK_REVISION}"
-# Format (if unformatted) and then mount the attached volume
-device_fs=$(lsblk "${EBS_VOLUME_DEVICE_NAME}" --noheadings --output fsType)
-if [ "${device_fs}" == "" ]
-then
- mkfs -t xfs "${EBS_VOLUME_DEVICE_NAME}"
-fi
-xfs_admin -L "${EBS_VOLUME_LABEL}" "${EBS_VOLUME_DEVICE_NAME}"
-mkdir -p "${DOCKER_DATA_ROOT}"
-mount -L "${EBS_VOLUME_LABEL}" "${DOCKER_DATA_ROOT}"
-# Mount file system by label on reboot
-echo "LABEL=${EBS_VOLUME_LABEL} ${DOCKER_DATA_ROOT} xfs defaults,nofail 0 2" >> '/etc/fstab'
-umount "${DOCKER_DATA_ROOT}"
-mount -a
-# Install, configure, and enable Docker
-yum update -y
-amazon-linux-extras install docker
-systemctl enable --now docker
-sed -i -e 's/1024/262144/g' /etc/sysconfig/docker
-sed -i -e 's/4096/262144/g' /etc/sysconfig/docker
-usermod -a -G docker ec2-user
-# Install jq for scripting
-yum install -y jq
-## Initialize the config file with empty json if it doesn't exist
-if [ ! -f "${DOCKER_DAEMON_CONFIG_FILE}" ]
-then
- mkdir -p $(dirname "${DOCKER_DAEMON_CONFIG_FILE}")
- echo '{}' > "${DOCKER_DAEMON_CONFIG_FILE}"
-fi
-## Point Docker storage to mounted volume
-tmp_config=$(mktemp)
-trap "rm -f ${tmp_config}" EXIT
-cat "${DOCKER_DAEMON_CONFIG_FILE}" | jq --arg DATA_ROOT "${DOCKER_DATA_ROOT}" '.["data-root"]=$DATA_ROOT' > "${tmp_config}"
-cat "${tmp_config}" > "${DOCKER_DAEMON_CONFIG_FILE}"
-# Restart Docker daemon to pick up new changes
-systemctl restart --now docker
-# Install Docker Compose
-curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-chmod +x /usr/local/bin/docker-compose
-curl -L "https://raw.githubusercontent.com/docker/compose/${DOCKER_COMPOSE_VERSION}/contrib/completion/bash/docker-compose" -o /etc/bash_completion.d/docker-compose
-# Start Sourcegraph with Docker Compose
-cd "${DEPLOY_SOURCEGRAPH_DOCKER_CHECKOUT}"/docker-compose
-docker-compose up -d --remove-orphans
-```
-
-> NOTE: If you're deploying a production instance, we recommend [forking the deployment configuration repository](/self-hosted/deploy/docker-compose/#step-1-fork-the-deployment-repository) to track any customizations you make to the deployment config. If you do so, you'll want to update the _startup script_ you pasted from above to refer to the clone URL and revision of your fork:
->
-> - `DEPLOY_SOURCEGRAPH_DOCKER_FORK_CLONE_URL`: The Git clone URL of your deployment repository. If it is a private repository, please check with your code host on how to generate a URL for cloning private repository
-> - `DEPLOY_SOURCEGRAPH_DOCKER_FORK_REVISION`: The revision (branch) in your fork containing the customizations, typically "release"
-
----
-
-## Deploy
-
-1. Click **Launch Instance** in the _Summary Section_ on the right to launch the EC2 node running Sourcegraph.
-
-2. In your web browser, navigate to the public IP address assigned to the EC2 node. (Look for the **IPv4 Public IP** value in your EC2 instance page under the _Description_ panel.) It may take a few minutes for the instance to finish initializing before Sourcegraph becomes accessible.
-
-You can monitor the setup process by SSHing into the instance to run the following diagnostic commands:
-
-```bash
-# Follow the status of the startup script
-tail -f /var/log/cloud-init-output.log
-# Once installation is completed, check the health of the "sourcegraph-frontend" container
-docker ps --filter="name=sourcegraph-frontend-0"
-```
-
-> NOTE: If you have configured a DNS entry for the IP, please ensure to update `externalURL` in your Sourcegraph instance's Site Configuration to reflect that
-
----
-
-## Upgrade
-
-See the [Docker Compose upgrade docs](/self-hosted/deploy/docker-compose/upgrade).
-
----
-
-## Storage and Backups
-
-Data is persisted within a [Docker volume](https://docs.docker.com/storage/volumes/) as defined in the [deployment repository](https://github.com/sourcegraph/deploy-sourcegraph-docker/blob/master/docker-compose/docker-compose.yaml). The startup script configures Docker using a [daemon configuration file](https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file) to store all the data on the attached data volume, which is mounted at `/mnt/docker-data`, where volumes are stored within `/mnt/docker-data/volumes`.
-
-There are two, non-mutually-exclusive ways to back up data:
-
-- [Snapshot the entire `/mnt/docker-data` EBS volume](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html) on an [automatic, scheduled basis](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html).
-
-Use [AWS RDS for PostgreSQL](https://aws.amazon.com/rds/) instead of the Dockerized PostgreSQL instance included by default. All data from Sourcegraph is derivable from the data stored in this database. Note, however, that it may take awhile to reclone repositories and rebuild indices afresh. If you require a faster restoration process, we recommend also snapshotting the EBS volume. (Recommended)
-
----
-
-## Other resources
-
-[HTTP and HTTPS/SSL configuration](/self-hosted/http-https-configuration#sourcegraph-via-docker-compose-caddy-2)
-[Site Administration Quickstart](/admin/how-to/site-admin-quickstart)
+This guide provides an overview of deploying Sourcegraph with [Docker Compose](https://docs.docker.com/compose/) to a single [EC2](https://aws.amazon.com/ec2/) instance on Amazon Web Services (AWS). For detailed instructions or any assistance, please reach out to your account team.
+
+## Architecture
+
+Our recommended architecture for deploying Sourcegraph with Docker Compose on AWS consists of a single EC2 instance with an attached EBS volume and an RDS for PostgreSQL instance for data storage. The EC2 instance runs the Sourcegraph application, while the EBS volume provides persistent storage for repositories and other data, and the RDS instance provides storage for user data and application metadata.
+
+See [Architecture: AWS (Docker Compose)](/admin/architecture#aws-docker-compose) for diagrams.
+
+## Before you start
+
+Before deploying the Sourcegraph application, we require familiarity with the following AWS (e.g., EC2, EBS, RDS, IAM) and Docker concepts. Then, ensure you have the following prerequisites in place:
+
+### Amazon Web Services account
+
+You should have the permissions necessary to create and manage EC2 instances, EBS volumes, and RDS instances in your AWS account. It's not recommended to use your root account for this purpose. Instead, create a new IAM user with the necessary permissions and use that account for deployment.
+
+### Amazon EC2
+
+Follow the instructions in the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) to set up an EC2 instance with an EBS volume mounted. Ensure that you select an appropriate instance type based on your expected workload and resource requirements. You may use one of the x86 Linux AMIs as machine image. Also, configure inbound rules to allow HTTP/HTTPS (ports 80 and 443) only from the networks that should be able to reach the application (public internet for external deployments, or corporate/private ranges for internal deployments). Ensure you also have administrative access (SSH or Session Manager) for ongoing management of the application.
+
+You should also set up automatic snapshots for the EBS volume following [AWS documentation](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-snapshot.html) to ensure that your data is backed up regularly.
+
+### Docker & Docker Compose
+
+Install Docker and Docker Compose on your EC2 instance. You can follow the instructions in the [Docker documentation](https://docs.docker.com/engine/install/) to install Docker on Linux, and then install Docker Compose using the instructions provided in the [Docker Compose documentation](https://docs.docker.com/compose/install/). Ensure you set up the EBS volume as the Docker daemon data directory following [Docker documentation](https://docs.docker.com/engine/daemon/#daemon-data-directory).
+
+### Amazon RDS for PostgreSQL
+
+Set up an RDS instance for PostgreSQL in your AWS account. You can follow the instructions in the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreatePostgreSQLInstance.html) to create a new RDS instance. Ensure that the RDS instance is accessible from your EC2 instance and that you have the necessary credentials to connect to it.
+
+### IAM
+
+It is recommended to create an IAM role with the necessary permissions to allow your EC2 instance to access the RDS instance. This will help ensure that your application can access the required resources securely with minimal permissions.
+
+## Deploying Sourcegraph
+
+Follow the [installation steps for Docker Compose](/self-hosted/deploy/docker-compose#installation-steps) to complete the deployment of Sourcegraph on your AWS EC2 instance. During the configuration step, ensure to [provide the necessary connection details for your RDS instance](self-hosted/external-services/postgres).
From 7b928f416032cfd5c9f4f75062ddb18988249bf5 Mon Sep 17 00:00:00 2001
From: Michael Lin
Date: Tue, 3 Mar 2026 15:23:55 -0800
Subject: [PATCH 035/217] fix: update broken link (#1668)
https://sourcegraph.slack.com/archives/C01DXLN3D0T/p1772571859050799
also made this a required status check to catch problems prior to
merging
---
docs/self-hosted/deploy/docker-compose/aws.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/self-hosted/deploy/docker-compose/aws.mdx b/docs/self-hosted/deploy/docker-compose/aws.mdx
index dbb148c23..15a7c53fb 100644
--- a/docs/self-hosted/deploy/docker-compose/aws.mdx
+++ b/docs/self-hosted/deploy/docker-compose/aws.mdx
@@ -36,4 +36,4 @@ It is recommended to create an IAM role with the necessary permissions to allow
## Deploying Sourcegraph
-Follow the [installation steps for Docker Compose](/self-hosted/deploy/docker-compose#installation-steps) to complete the deployment of Sourcegraph on your AWS EC2 instance. During the configuration step, ensure to [provide the necessary connection details for your RDS instance](self-hosted/external-services/postgres).
+Follow the [installation steps for Docker Compose](/self-hosted/deploy/docker-compose#installation-steps) to complete the deployment of Sourcegraph on your AWS EC2 instance. During the configuration step, ensure to [provide the necessary connection details for your RDS instance](/self-hosted/external-services/postgres).
From 89e6a468620f3e54db9fa85f4a45c3551bb49ed4 Mon Sep 17 00:00:00 2001
From: julialeex
Date: Wed, 4 Mar 2026 11:46:05 -0500
Subject: [PATCH 036/217] fix/externalapi: update the migration guide (#1667)
Updated the guide based on the suggestions in
https://sourcegraph.slack.com/archives/C022SPMNR0W/p1772538070145969?thread_ts=1772486950.293899&cid=C022SPMNR0W
Re-organized the doc a little bit, added resource identifiers, request
format, and status field to what changed.
---
docs/deep-search/api.mdx | 65 ++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 25 deletions(-)
diff --git a/docs/deep-search/api.mdx b/docs/deep-search/api.mdx
index bb96233a0..7dd199432 100644
--- a/docs/deep-search/api.mdx
+++ b/docs/deep-search/api.mdx
@@ -34,12 +34,49 @@ An interactive API reference is available at `/api-reference` on your Sourcegrap
1. **Base URL**: `/.api/deepsearch/v1/...` → `/api/deepsearch.v1.Service/...`
2. **Token scopes**: Any access token → token with `externalapi:read` / `externalapi:write` scope
3. **`X-Requested-With` header**: No longer required
-4. **Resource identifiers**: Numeric IDs (`140`) → resource names (`users/~self/conversations/140`). For requests that require a parent, the current user name is `users/~self`.
-5. **Status field**: `status: "processing"` → `state: "STATE_PROCESSING"`
+4. **Resource identifiers**: Numeric IDs (`140`) → resource names (`users/~self/conversations/140`). For requests that require a parent, use `users/~self` for the authenticated user.
+5. **Request format**: Flat JSON (`{"question": "..."}`) → nested structure (`conversation.questions[].input[].question.text`)
+6. **Status field**: Plain string (`status: "processing"`) → `oneof` object (`state: { "processing": {} }`)
+ - **Errors** are now a distinct state rather than a `completed` status with an `error` field:
+ ```json
+ "state": {
+ "error": {
+ "code": "ERROR_INTERNAL | ERROR_QUOTA_EXCEEDED | ERROR_ENTITLEMENT_EXCEEDED | ERROR_TOKEN_LIMIT_EXCEEDED",
+ "message": "...",
+ "retry_time": "..."
+ }
+ }
+ ```
+
+### Endpoint mapping
+
+| Operation | Old endpoint | New endpoint |
+| ------------------- | ------------------------------------------------------ | ----------------------------------------------------------- |
+| Create conversation | `POST /.api/deepsearch/v1` | `POST /api/deepsearch.v1.Service/CreateConversation` |
+| Get conversation | `GET /.api/deepsearch/v1/{id}` | `POST /api/deepsearch.v1.Service/GetConversation` |
+| List conversations | `GET /.api/deepsearch/v1` | `POST /api/deepsearch.v1.Service/ListConversationSummaries` |
+| Add follow-up | `POST /.api/deepsearch/v1/{id}/questions` | `POST /api/deepsearch.v1.Service/AddConversationQuestion` |
+| Cancel question | `POST /.api/deepsearch/v1/{id}/questions/{qid}/cancel` | `POST /api/deepsearch.v1.Service/CancelConversation` |
+| Delete conversation | `DELETE /.api/deepsearch/v1/{id}` | `POST /api/deepsearch.v1.Service/DeleteConversation` |
+
+### Response field mapping
+
+| Old field | New field |
+| ------------------------------- | --------------------------------------------------------- |
+| `id: 140` | `name: "users/~self/conversations/140"` |
+| `status: "processing"` | `state: { "processing": {} }` |
+| `status: "completed"` + `error` | `state: { "error": { "code": "...", "message": "..." } }` |
+| `questions[].answer` | `questions[].answer` (unchanged) |
+
+### Notes on the new request format
+
+The new API uses a nested request structure. For example, `CreateConversation` requires `conversation.questions[].input[].question.text` rather than a flat `{"question": "..."}`. See the interactive API reference at `/api-reference` on your instance for request examples and exact schemas.
+
+Conversations are still processed asynchronously — poll `GetConversation` until the `state` field reaches a terminal value (`completed`, `error`, or `canceled`). For `error` states, inspect `code` for the error type (`ERROR_QUOTA_EXCEEDED`, `ERROR_TOKEN_LIMIT_EXCEEDED`, etc.) and `message` for details.
### AI-assisted migration
-The fastest way to migrate is to give your AI coding agent the OpenAPI schema and this migration guide, and let it update your code. You can download the schema from `/api-reference` on your Sourcegraph instance (e.g. `https://sourcegraph.example.com/api-reference`) — look for the **Download OpenAPI** button. Then use a prompt like the following:
+The fastest way to migrate is to give your AI coding agent the OpenAPI schema and this migration guide, and let it update your code. You can download the schema from `/api-reference` on your Sourcegraph instance (e.g. `https://sourcegraph.example.com/api-reference`) — look for the **Download** button. Then use a prompt like the following:
```text
Migrate the Deep Search API calls in this project from the deprecated
@@ -56,28 +93,6 @@ Replace `` with the file(s) in your project that call the Dee
For a real-world example, see [this Amp thread](https://ampcode.com/threads/T-019ca189-6ef4-746b-a844-3a068df71b25) migrating the [raycast-sourcegraph](https://github.com/bobheadxi/raycast-sourcegraph) extension from the old API to the new endpoints.
-### Endpoint mapping
-
-| Operation | Old endpoint | New endpoint |
-| ------------------- | ------------------------------------------------------ | ----------------------------------------------------------- |
-| Create conversation | `POST /.api/deepsearch/v1` | `POST /api/deepsearch.v1.Service/CreateConversation` |
-| Get conversation | `GET /.api/deepsearch/v1/{id}` | `POST /api/deepsearch.v1.Service/GetConversation` |
-| List conversations | `GET /.api/deepsearch/v1` | `POST /api/deepsearch.v1.Service/ListConversationSummaries` |
-| Add follow-up | `POST /.api/deepsearch/v1/{id}/questions` | `POST /api/deepsearch.v1.Service/AddConversationQuestion` |
-| Cancel question | `POST /.api/deepsearch/v1/{id}/questions/{qid}/cancel` | `POST /api/deepsearch.v1.Service/CancelConversation` |
-| Delete conversation | `DELETE /.api/deepsearch/v1/{id}` | `POST /api/deepsearch.v1.Service/DeleteConversation` |
-
-### Response field mapping
-
-| Old field | New field |
-| ---------------------- | --------------------------------------- |
-| `id: 140` | `name: "users/~self/conversations/140"` |
-| `status: "processing"` | `state: "STATE_PROCESSING"` |
-| `status: "completed"` | `state: "STATE_COMPLETED"` |
-| `questions[].answer` | `questions[].answer` (unchanged) |
-| `read_token` | Not exposed |
-| `share_url` | Not exposed |
-
If you have questions about the migration or need features not yet available in the new API, reach out at **support@sourcegraph.com**.
## Legacy API reference
From dd2d51441ac510a53b9ec7dc0b29e6137c37b8f8 Mon Sep 17 00:00:00 2001
From: Aditya Kalia <32119652+akalia25@users.noreply.github.com>
Date: Thu, 5 Mar 2026 17:36:08 -0500
Subject: [PATCH 037/217] Update Sourcegraph Analytics docs with refresh
cadence and current dashboard structure (#1673)
---
docs/analytics/index.mdx | 152 ++++++++++++++++++++++++++-------------
1 file changed, 102 insertions(+), 50 deletions(-)
diff --git a/docs/analytics/index.mdx b/docs/analytics/index.mdx
index dd7bf9fa7..3fc28b3b5 100644
--- a/docs/analytics/index.mdx
+++ b/docs/analytics/index.mdx
@@ -14,7 +14,9 @@ Our managed [Sourcegraph Analytics service](https://analytics.sourcegraph.com) f
To get started, follow our [enablement instructions](#enablement-instructions).
-
+
+
+Analytics data refreshes every 12 hours, at 00:00 and 12:00 UTC. Recent activity may take up to 12 hours to appear.
## Enablement instructions
@@ -50,10 +52,15 @@ Learn more about how we think about [the ROI of Sourcegraph in our blog](https:/
### Overview metrics
-| **Metric** | **Description** |
-| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Percent of code written by Cody | Percentage of code written by Cody out of all code written during the selected time. [Learn more about this metric.](/analytics/pcw) |
-| Characters of code written by Cody | Total characters of code written by Cody during the selected time |
+| **Metric** | **Description** |
+| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Total Sourcegraph users | Total number of unique users who have used any Sourcegraph product during the selected time |
+| Average daily active users | The average number of unique users who use Sourcegraph per day during the selected time |
+| Total hours saved | Estimated total hours of developer time saved by using Sourcegraph, based on typical time savings per feature (editable per feature) |
+| Total deep searches | Total number of Deep Search queries performed during the selected time |
+| Daily active users | Chart showing the number of unique users who used Sourcegraph by day |
+| Monthly active users | Chart showing the number of unique users who used Sourcegraph by month |
+| Time saved | Breakdown of estimated time saved by feature (completions and auto-edits, commands, chats, searches, and code navigation), with configurable minutes-saved-per-use values |
### User metrics
@@ -65,56 +72,113 @@ Learn more about how we think about [the ROI of Sourcegraph in our blog](https:/
| Daily active users | Number of unique users who used Sourcegraph by day |
| Weekly active users | Number of unique users who used Sourcegraph by week |
| Daily users by product | Count of daily users across different Sourcegraph products (Cody, Code Search, Code Insights, etc.) |
-| Product usage distribution (by percentage of users) | Percentage breakdown of users across different Sourcegraph product groupings during the selected time |
-| Detailed user activity (top 20 users) | List of the 20 most active users during the selected time and their usage patterns |
-| Frequency of usage | Count of users who used Sourcegraph _n_ times over the past 30 days |
-
-Cody-only user metrics
-
-Many of the metrics above are also available for Cody only. However, some user definitions are slightly different:
-
-| User category | Description |
+| Monthly users by product | Count of monthly users across different Sourcegraph products (Cody, Code Search, Code Insights, etc.) |
+| Detailed user activity | List of all active users during the selected time and their usage patterns |
+
+### Code Search and Understanding metrics
+
+The Code Search and Understanding page is organized into five tabs: Search, Deep Search, MCP, Batch Changes, and Code Navigation.
+
+#### Search
+
+| **Metric** | **Description** |
+| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
+| Total in-product searches | Number of searches performed using the Sourcegraph search interface during the selected time |
+| Minutes saved per search | Configurable estimate of minutes saved per search (default: 5 minutes) |
+| Hours saved by searches | Estimated hours saved based on total searches multiplied by minutes saved per search |
+| Total file views | Number of times users viewed individual files through Sourcegraph during the selected time |
+| Daily in-product search activity | Chart showing in-product searches, result clicks, and file views by day |
+| Daily search users (in-product and API) | Number of unique users performing searches each day, including both UI and API usage |
+| All searches (in-product and API) by type | Breakdown of searches by category (Standard, Regex, Literal, Structural, Cody Context, Keyword, NLS) by day |
+
+#### Deep Search
+
+| **Metric** | **Description** |
+| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
+| Total deep searches | Total number of Deep Search queries (initial and follow-up messages) during the selected time |
+| Minutes saved per Deep Search | Configurable estimate of minutes saved per Deep Search |
+| Hours saved by deep searches | Estimated hours saved based on total Deep Searches multiplied by minutes saved |
+| Daily deep searches | Chart showing Deep Search queries by day |
+| Monthly deep searches | Bar chart showing Deep Search queries by month |
+| Daily deep search users | Chart showing daily Deep Search users and searches per user |
+| Top deep search users | Searchable table of all Deep Search users with query counts, queries per day, and tool calls |
+
+#### MCP
+
+| **Metric** | **Description** |
+| ------------------------------- | ------------------------------------------------------------------------------------- |
+| Total MCP tool calls | Total number of MCP tool calls during the selected time |
+| Minutes saved per MCP tool call | Configurable estimate of minutes saved per MCP tool call |
+| Hours saved by MCP | Estimated hours saved based on total MCP tool calls multiplied by minutes saved |
+| MCP DAUs | Chart showing daily active MCP users |
+| MCP MAUs | Bar chart showing monthly active MCP users |
+| MCP usage by tool | Horizontal bar chart showing tool call counts broken down by tool name |
+| Top MCP users | Searchable table of MCP users with tool call counts |
+
+#### Batch Changes
+
+| **Metric** | **Description** |
+| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Total changesets published | Total number of changesets published during the selected time |
+| Minutes saved per changeset | Configurable estimate of minutes saved per changeset published |
+| Hours saved by Batch Changes | Estimated hours saved based on total changesets published multiplied by minutes saved |
+| Batch changes activity | Chart showing Batch Changes opened, specs created, specs executed, changesets published, and changes merged in Sourcegraph by day |
+
+#### Code Navigation
+
+| **Metric** | **Description** |
+| -------------------------------- | ------------------------------------------------------------------------------------------------------- |
+| Total Code Nav actions | Count of all code navigation operations performed (e.g., go-to-definition, find references) |
+| Minutes saved per Code Nav action | Configurable estimate of minutes saved per code navigation action |
+| Hours saved by code navigation | Estimated hours saved based on total code navigation actions multiplied by minutes saved |
+| Precise Code Nav % | Percentage of code navigation actions that used precise intelligence rather than search-based results |
+| Daily code navigation activity | Chart showing code navigation actions performed each day |
+| Daily code navigation users | Chart showing the number of unique users utilizing code navigation features each day |
+
+### Cody metrics
+
+The Cody page is organized into four tabs: Overview, Completions, Commands, and Chats.
+
+#### Overview
+
+Cody-specific user metrics with slightly different user definitions:
+
+| **Metric** | **Description** |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Authenticated users | All users signed in to Cody in an editor or interacted with Cody on the web during the selected period. [Read more](/pricing/faqs#how-are-active-users-counted-and-billed-for-cody). |
| Active users | All users who sign in to Cody in an editor or interact with Cody on the web during the period selected. [Read more](/pricing/faqs#how-are-active-users-counted-and-billed-for-cody). |
-### Code Search & navigation metrics
-
-| **Metric** | **Description** |
-| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| Total in-product searchers | Number of unique users who performed searches using the Sourcegraph search interface during the selected time |
-| Total result clicks | Count of times users clicked on search results to view files or other resources during the selected time |
-| Total file views | Number of times users viewed individual files through Sourcegraph during the selected time |
-| Hours saved | The number of hours saved by search and code navigation users, assuming 5 minutes saved per search and 30 seconds per code navigation action |
-| Daily in-product search activity | Count of search operations performed each day through the Sourcegraph interface |
-| Daily search users (in-product and API) | Number of unique users performing searches each day, including both UI and API usage |
-| All searches (in-product and API) by type | Breakdown of searches by category (e.g., literal, regex), including both UI and API usage |
-| Total code navigation actions | Count of all code navigation operations performed (e.g., go-to-definition, find references) during the selected time period |
-| Precise code navigation % | Percentage of code navigation actions that used precise intelligence rather than search-based results during the selected time |
-| Daily code navigation activity | Count of code navigation operations performed each day |
-| Daily code navigation users | Number of unique users utilizing code navigation features each day |
-| Precise vs. search-based code navigation actions by language | Comparison of precise vs. search-based navigation success rates broken down by programming language |
-| Batch changes usage funnel | Number of times various Batch Changes actions were taken each day: Batch Changes opened, specs created, specs executed, changesets published, and changes merged (from the Sourcegraph UI) |
-
-### Autocompletion metrics
+#### Completions
| **Metric** | **Description** |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Total accepted completions & auto-edits | Count of completions and auto-edits accepted by users during the selected time |
| Hours saved | The number of hours saved by Cody users, assuming 2 minutes saved per completion and auto-edit |
-| Completions and auto-edits by day | The number of completions and auto-edits suggested by day and by editor. |
-| Completion and auto-edit acceptance rate (CAR) | The percent of completions and auto-edits presented to a user for at least 750ms accepted by day, the editor, day, and month. |
+| Completions and auto-edits by day | The number of completions and auto-edits suggested by day and by editor |
+| Completion and auto-edit acceptance rate (CAR) | The percent of completions and auto-edits presented to a user for at least 750ms accepted by day, the editor, day, and month |
| Weighted completion and auto-edit acceptance rate (wCAR) | Similar to CAR, but weighted by the number of characters presented in the completion and auto-edit, by the editor, day, and month. This assigns more "weight" to accepted completions that provide more code to the user. |
| Completion persistence rate | Percent of completions that are retained or mostly retained (67%+ of inserted text) after various time intervals. Auto-edits are not included. |
-| Average completion and auto-edit latency (ms) | The average milliseconds of latency before a user is presented with a completion or auto-edit suggestion by an editor. |
+| Average completion and auto-edit latency (ms) | The average milliseconds of latency before a user is presented with a completion or auto-edit suggestion by an editor |
| Acceptance rate by language | CAR and total completion suggestions broken down by editor during the selected time. Auto-edits not included |
-### Chat and prompt metrics
+#### Commands
+
+_As of Sourcegraph version 5.10, commands are being deprecated in favor of chat prompts. If your Sourcegraph instance is running version 5.10 or later, you may see decreased command usage._
+
+| **Metric** | **Description** |
+| ----------------------- | ----------------------------------------------------------------------------------------------------------- |
+| Total command events | Total number of command executions during the selected time |
+| Hours saved by commands | Total hours saved through command executions during the selected time, assuming 5 minutes saved per command |
+| Cody commands by day | Daily count of command executions |
+| Cody command users | Daily count of command users |
+| Most used commands | Ranking of most frequently used Cody commands during the selected time |
+
+#### Chats
| **Metric** | **Description** |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Total chat events | Total number of chat interactions with Cody during the selected time |
-| Hours saved by chats | Total hours saved through Cody chat interactions during the selected time , assuming 5 minutes saved per chat |
+| Hours saved by chats | Total hours saved through Cody chat interactions during the selected time, assuming 5 minutes saved per chat |
| Cody chats by day | Daily count of chat interactions |
| Cody chat users | Daily count of chat users |
| Lines of code inserted | Lines of code generated by Cody in chat that get applied, inserted, or pasted into the editor. Only VS Code is included in this metric for now |
@@ -123,18 +187,6 @@ Many of the metrics above are also available for Cody only. However, some user d
| Prompts created, edited, and deleted by day | Daily count of prompt management activities, including creation, modification, and removal |
| Users creating, editing, and deleting prompts by day | Number of unique users performing prompt management activities each day |
-### Command metrics (deprecated)
-
-_As of Sourcegraph version 5.10, commands are being deprecated in favor of our new feature, chat prompts. As a result, if your Sourcegraph instance is running version 5.10 or later, you may see decreased command usage. In the coming weeks, these command metrics will be deprecated and replaced with new prompt metrics on the Chats tab._
-
-| **Metric** | **Description** |
-| ----------------------- | ----------------------------------------------------------------------------------------------------------- |
-| Total command events | Total number of command executions during the selected time |
-| Hours saved by commands | Total hours saved through command executions during the selected time, assuming 5 minutes saved per command |
-| Cody commands by day | Daily count of command executions |
-| Cody command users | Daily count of command users |
-| Most used commands | Ranking of most frequently used Cody commands during the selected time |
-
### CSV export
You can download underlying user activity data from Sourcegraph Analytics as a CSV export. To do this, click the `Export user-level data` button at the top right of any tab within the portal.
From 6c576d7b46b93da683e77790ff602c4a6f53d736 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Fri, 6 Mar 2026 12:45:47 -0800
Subject: [PATCH 038/217] telemetry: add more clarification (#1672)
Feedback from
https://sourcegraph.slack.com/archives/C05MW2TMYAV/p1772673652782289?thread_ts=1772175044.092159&cid=C05MW2TMYAV
---
docs/admin/architecture.mdx | 6 ++---
docs/admin/pings.mdx | 4 ++--
docs/admin/telemetry/index.mdx | 22 +++++++++----------
.../deploy/docker-compose/configuration.mdx | 4 ++--
.../deploy/kubernetes/configure.mdx | 9 +++++---
docs/self-hosted/deploy/kubernetes/index.mdx | 2 +-
.../observability/opentelemetry.mdx | 4 ++--
docs/self-hosted/observability/tracing.mdx | 4 ++--
8 files changed, 29 insertions(+), 26 deletions(-)
diff --git a/docs/admin/architecture.mdx b/docs/admin/architecture.mdx
index c1662802f..12863e98d 100644
--- a/docs/admin/architecture.mdx
+++ b/docs/admin/architecture.mdx
@@ -278,7 +278,7 @@ Repository permissions are mirrored from code hosts to Sourcegraph by default. T
### Model Provider
-The **Sourcegraph Model Provider** is the default and recommended way to configure AI features like Deep Search and Cody. Through this service, we provide zero-configuration access to state-of-the-art models from various LLM providers, including Anthropic and OpenAI, with enterprise-grade [privacy and security](../model-provider/index.mdx#privacy-and-security).
+The **Sourcegraph Model Provider** is the default and recommended way to configure AI features like Deep Search and Cody. Through this service, we provide zero-configuration access to state-of-the-art models from various LLM providers, including Anthropic and OpenAI, with enterprise-grade [privacy and security](/model-provider#privacy-and-security).
Learn more in the [Sourcegraph Model Provider docs](/model-provider).
@@ -290,9 +290,9 @@ The **Sourcegraph Model Provider** is the default and recommended way to configu
Understanding how individuals and organizations use Sourcegraph is key to providing the highest level of support to Sourcegraph's customers. To enable this, Sourcegraph collects several types of usage data from Sourcegraph instances by having Sourcegraph instances emit telemetry from most product capabilities.
-The data we collect powers the [Sourcegraph Analytics service](../analytics/index.mdx).
+The data we collect powers the [Sourcegraph Analytics service](/analytics).
-We take sensitive data/PII exfiltration, intentional or not, very seriously. Our [Telemetry docs](./telemetry/index.mdx) outline some of the measures we take to ensure privacy and data security.
+We take sensitive data/PII exfiltration, intentional or not, very seriously. Our [Telemetry docs](/admin/telemetry) outline some of the measures we take to ensure privacy and data security.
Telemetry is exported through the `worker` service to the Sourcegraph-managed "Telemetry Gateway" service and "Pings" service, for telemetry events and aggregated reports, respectively.
diff --git a/docs/admin/pings.mdx b/docs/admin/pings.mdx
index 455f9a516..5993b0c6c 100644
--- a/docs/admin/pings.mdx
+++ b/docs/admin/pings.mdx
@@ -4,7 +4,7 @@ Sourcegraph periodically sends a ping to `pings.sourcegraph.com` to help our pro
Sourcegraph will also periodically perform a license verification check, to verify the validity of the configured Sourcegraph license. Tampering with these checks, or preventing them from occuring, will cause Sourcegraph to disable many features until a successful check is completed. Certain Enterprise licenses can request to be exempt from these license verification checks.
-To learn more about all types of telemetry emitted by Sourcegraph instances, [Telemetry docs](./telemetry/index.mdx).
+To learn more about all types of telemetry emitted by Sourcegraph instances, [Telemetry docs](/admin/telemetry).
## Ping payloads
@@ -213,7 +213,7 @@ Sourcegraph aggregates usage and performance metrics for some product features i
## Allowlist IPs / CIDR Ranges for Sourcegraph
-Refer to the [Telemetry docs](./telemetry/index.mdx) for the list of ranges to allowlist.
+Refer to the [Telemetry docs](/admin/telemetry) for the list of ranges to allowlist.
## Using an HTTP proxy for ping requests
diff --git a/docs/admin/telemetry/index.mdx b/docs/admin/telemetry/index.mdx
index b401f64d3..cb9c1996f 100644
--- a/docs/admin/telemetry/index.mdx
+++ b/docs/admin/telemetry/index.mdx
@@ -10,19 +10,19 @@ If you have any questions about telemetry collection, please reach out to your S
## Telemetry events
-Sourcegraph collects telemetry events from all Sourcegraph end-user client applications, as well as Sourcegraph backend operations, to understand usage patterns and help improve the product. Telemetry events can be generated when certain user actions occur, like opening files or performing searches. This data helps us provide the highest level of support to Sourcegraph's customers, and powers the [Sourcegraph Analytics](../../analytics/index.mdx) service.
+Sourcegraph collects telemetry events from all Sourcegraph end-user client applications, as well as Sourcegraph backend operations, to understand usage patterns and help improve the product. Telemetry events can be generated when certain user actions occur, like opening files or performing searches. This data helps us provide the highest level of support to Sourcegraph's customers, and powers the [Sourcegraph Analytics](/analytics) service.
-Sensitive data/PII exfiltration, intentional or not, is a significant concern to Sourcegraph that we take very seriously.
-Some of the measures we take to ensure privacy and data security are:
+Sensitive data/PII exfiltration is a significant concern that we take very seriously.
+Some of the measures we take to ensure privacy and data security include:
-1. Telemetry events are, by default, only allowed to export numeric metadata - for example, string values that may contain sensitive contents are generally redacted.
- 1. A carefully audited set of arbitrary properties we do export contain only categorized, enumerated information - you can see the full list [here](/admin/telemetry/private-metadata-allowlist).
-2. User identifiers are numeric and anonymized, as identifiers are specific per-instance.
-3. Data will be encrypted while in motion from each Sourcegraph instance to Sourcegraph.
+1. Telemetry event parameters that can be provided by our features and exported by default - referred to as "event metadata" - [are only allowed to include numeric values](/admin/telemetry/protocol#telemetrygateway-v1-EventParameters-MetadataEntry).
+ 1. To prevent the risk of leaking sensitive information, string-type data is not collected, except [these fields](/admin/telemetry/private-metadata-allowlist), which are carefully audited.
+ 2. We use programming language types-based enforcement to ensure that event metadata keys are known statically, rather than coming from arbitrary sources.
+2. [User identifiers](/admin/telemetry/protocol#telemetrygateway-v1-EventUser) are numeric and anonymized, as identifiers are specific per-instance.
+3. For all other properties, we use a well-defined data structure (available in the [Telemetry protocol reference](/admin/telemetry/protocol)) to ensure that we never export sensitive data. Changes to this data structure and data collection implementations are carefully monitored and reviewed.
+4. Data is encrypted while in transit from each Sourcegraph instance to Sourcegraph.
-Specifics of the exported data structure is available in the [Telemetry protocol](/admin/telemetry/protocol) reference.
-
-Recently exported events can be retrieved via the [debug console](../../api/graphql/index.mdx) for review.
+Recently exported events can be retrieved via the [debug console](/api/graphql) for review.
You can find the API console at any time by going to **Settings**, and then clicking **Debug console** from the left sidebar, or by visiting it directly at `/debug/console`. Use the following query:
```gql
@@ -51,4 +51,4 @@ Prior to 5.2.0, allowlist the full [Cloudflare IP ranges](https://www.cloudflare
## Architecture
-To learn more about how telemetry data if handled, refer to the [Architecture page](../../admin/architecture.mdx#analytics-and-telemetry).
+To learn more about how telemetry data is processed, refer to the [Architecture page](/admin/architecture#analytics-and-telemetry).
diff --git a/docs/self-hosted/deploy/docker-compose/configuration.mdx b/docs/self-hosted/deploy/docker-compose/configuration.mdx
index c39338852..6e533ca91 100644
--- a/docs/self-hosted/deploy/docker-compose/configuration.mdx
+++ b/docs/self-hosted/deploy/docker-compose/configuration.mdx
@@ -50,9 +50,9 @@ services:
See ["Environment variables in Compose"](https://docs.docker.com/compose/environment-variables/) for other ways to pass these environment variables to the relevant services (command line, .env file, etc.).
-## Enable HTTP tracing
+## Enable tracing
-Sourcegraph supports HTTP tracing to help troubleshoot issues. See [Tracing](/self-hosted/observability/tracing) for details.
+Sourcegraph supports tracing to help troubleshoot issues. See [Tracing](/self-hosted/observability/tracing) for details.
The base docker-compose.yaml file enables the bundled [otel-collector](https://sourcegraph.com/search?q=repo:%5Egithub%5C.com/sourcegraph/deploy-sourcegraph-docker$+file:docker-compose/docker-compose.yaml+content:%22++otel-collector:%22&patternType=keyword) by default, but a tracing backend needs to be deployed or configured to see traces.
diff --git a/docs/self-hosted/deploy/kubernetes/configure.mdx b/docs/self-hosted/deploy/kubernetes/configure.mdx
index de21aa5d4..40ddd61be 100644
--- a/docs/self-hosted/deploy/kubernetes/configure.mdx
+++ b/docs/self-hosted/deploy/kubernetes/configure.mdx
@@ -1,7 +1,10 @@
# Configure Sourcegraph with Kustomize
- The Kustomize deployment type is planned for deprecation and will be sunset in a future release. We recommend using the [Helm deployment](/self-hosted/deploy/kubernetes) for all new Kubernetes installations.
+ The Kustomize deployment type is planned for deprecation and will be sunset
+ in a future release. We recommend using the [Helm
+ deployment](/self-hosted/deploy/kubernetes) for all new Kubernetes
+ installations.
This guide will demonstrate how to customize a Kubernetes deployment (**non-Helm**) using Kustomize components.
@@ -180,7 +183,7 @@ Following these steps will allow Prometheus to successfully scrape metrics from
## Tracing
-Sourcegraph supports HTTP tracing to help troubleshoot issues. See [Tracing](/self-hosted/observability/tracing) for details.
+Sourcegraph supports tracing to help troubleshoot issues. See [Tracing](/self-hosted/observability/tracing) for details.
To enable tracing on your Kustomize instance, you'll need to either:
@@ -191,7 +194,7 @@ Once a tracing backend has been deployed, see our [Tracing](/self-hosted/observa
### Deploy the bundled OpenTelemetry Collector and Jaeger
-The quickest way to get started with HTTP tracing is by deploying our bundled OTEL and Jaeger containers together.
+The quickest way to get started with tracing is by deploying our bundled OTEL and Jaeger containers together.
Include the `tracing` component to deploy both OpenTelemetry and Jaeger together. This component also configures the following services:
diff --git a/docs/self-hosted/deploy/kubernetes/index.mdx b/docs/self-hosted/deploy/kubernetes/index.mdx
index 8b164e6fc..ca69aa060 100644
--- a/docs/self-hosted/deploy/kubernetes/index.mdx
+++ b/docs/self-hosted/deploy/kubernetes/index.mdx
@@ -377,7 +377,7 @@ More details on how to create and configure a subchart can be found in the [helm
### Tracing
-Sourcegraph supports HTTP tracing to help troubleshoot issues. See [Tracing](/self-hosted/observability/tracing) for details.
+Sourcegraph supports tracing to help troubleshoot issues. See [Tracing](/self-hosted/observability/tracing) for details.
To enable tracing on your Helm instance, you'll need to either:
diff --git a/docs/self-hosted/observability/opentelemetry.mdx b/docs/self-hosted/observability/opentelemetry.mdx
index 090dee93e..ab7ef45e4 100644
--- a/docs/self-hosted/observability/opentelemetry.mdx
+++ b/docs/self-hosted/observability/opentelemetry.mdx
@@ -1,6 +1,6 @@
# OpenTelemetry
-> This page is a deep dive into OpenTelemetry and customizing it. To get started with HTTP Tracing, see the [Tracing](/self-hosted/observability/tracing) page.
+> This page is a deep dive into OpenTelemetry and customizing it. To get started with tracing, see the [Tracing](/self-hosted/observability/tracing) page.
[OpenTelemetry](https://opentelemetry.io/) (OTEL) is an industry-standard toolset to handle observability data, ex. metrics, logs, and traces.
@@ -20,7 +20,7 @@ For details on how to deploy the otel-collector, and where to find its configura
- [Kubernetes with Kustomize](/self-hosted/deploy/kubernetes/configure#deploy-opentelemetry-collector-to-use-an-external-tracing-backend)
- [Docker Compose](/self-hosted/deploy/docker-compose/configuration#configure-an-external-tracing-backend)
-## HTTP Tracing Backends
+## Tracing backends
Sourcegraph containers export traces in OTEL format to the bundled otel-collector.
For more information about traces, see the [Tracing](/self-hosted/observability/tracing) page.
diff --git a/docs/self-hosted/observability/tracing.mdx b/docs/self-hosted/observability/tracing.mdx
index 6752f3089..ed0cefcb3 100644
--- a/docs/self-hosted/observability/tracing.mdx
+++ b/docs/self-hosted/observability/tracing.mdx
@@ -1,4 +1,4 @@
-# HTTP Tracing
+# Tracing
traces are a powerful debugging tool to help you see how your Sourcegraph requests are processed under the hood - like having X-ray vision into how long each part takes and where errors occur.
@@ -10,7 +10,7 @@ To enable traces on your Sourcegraph Instance:
## Backends
-The quickest way to get started with HTTP tracing is to deploy our bundled Jaeger backend. You can also configure an external, OpenTelemetry-compatible backend of your choice.
+The quickest way to get started with tracing is to deploy our bundled Jaeger backend. You can also configure an external, OpenTelemetry-compatible backend of your choice.
### Jaeger
From 33aa196fd908bd6e2273878211784ec719bc6449 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Fri, 6 Mar 2026 23:02:32 +0200
Subject: [PATCH 039/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(2026-03-06/20-59-17)=20(#1?=
=?UTF-8?q?675)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 5 ++-
docs/admin/config/site-config.mdx | 5 ++-
docs/admin/repo/perforce.mdx | 2 +-
.../telemetry/private-metadata-allowlist.mdx | 15 ++++----
docs/admin/telemetry/protocol.mdx | 33 +++++++++++------
docs/cody/capabilities/supported-models.mdx | 2 -
docs/self-hosted/observability/alerts.mdx | 37 -------------------
docs/self-hosted/observability/dashboards.mdx | 2 +-
18 files changed, 50 insertions(+), 71 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 482547a31..45bb54f32 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 4bad0bcad..08f4c56e2 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -65,7 +65,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 35420d7a3..8349f8ef6 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 1a3949ff7..01f1bd272 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 06cd07093..651b5093a 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 457283cc6..94e1d4d95 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index 4b27841d7..e125d1fee 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 73cb6bd17..d085e26ed 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 0f835de3a..cb0ee85c5 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index bc1a68515..5e05fdfaa 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index a7857ad43..b0347f255 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
@@ -78,6 +78,9 @@ Settings options and their default values are shown below.
// Usually this setting is used in global and organization settings. If set in user settings, the message will only be displayed to that single user.
"cody.notices": null,
+ // Disable the Slack community call-to-action banner on the Deep Search page.
+ "deepSearch.slackCta.disabled": false,
+
// Experimental features and settings.
"experimentalFeatures": {
"batchChangesExecution": true,
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index a65928abb..36d8d9fe5 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
@@ -76,6 +76,9 @@ All site configuration options and their default values are shown below.
// When enabled, all branches created by batch changes will be pushed to forks of the original repository.
"batchChanges.enforceForks": false,
+ // Enables/disables native server-side execution for Batch Changes workspaces. ONLY ENABLE THIS IF YOU ARE USING EXECUTORS ON KUBERNETES.
+ "batchChanges.nativeServerSideExecution": false,
+
// Reject unverified commits when creating a Batch Change
"batchChanges.rejectUnverifiedCommit": false,
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 6ce588791..55a6d31e4 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-02T17:40:22Z */}
+{/* Last updated: 2026-03-06T20:59:17Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry/private-metadata-allowlist.mdx b/docs/admin/telemetry/private-metadata-allowlist.mdx
index d8a9c26bc..a887e247f 100644
--- a/docs/admin/telemetry/private-metadata-allowlist.mdx
+++ b/docs/admin/telemetry/private-metadata-allowlist.mdx
@@ -1,14 +1,15 @@
# Private metadata allowlist
-This document lists all telemetry events that are allowed to export specific `privateMetadata` fields.
+This document lists all telemetry events that are allowed to export specific `privateMetadata` fields (from within [telemetry event parameters](https://sourcegraph.com/docs/admin/telemetry/protocol#telemetrygateway-v1-EventParameters)).
+By default, `privateMetadata` is **never** exported from customers because it can contain arbitrarily-shaped data that may accidentally include sensitive or private contents.
+The specific events and properties listed below have been individually reviewed and approved for export.
+The implementation of each is monitored to ensure they contain only categorized, enumerated information.
-By default, `privateMetadata` is **never** exported from customers
-because it can contain arbitrarily-shaped data that may accidentally include sensitive or private contents. The events listed below have been individually reviewed and approved for export of specific private metadata fields only.
+The only `metadata` we collect by default are non-sensitive numeric values.
+To learn more, refer to the [telemetry documentation](https://sourcegraph.com/docs/admin/telemetry).
-To learn more, refer to the [telemetry documentation](https://sourcegraph.com/docs/telemetry).
-
-| **Feature** | **Action** | **Allowed `privateMetadata` fields** |
-| :---------- | :--------- | :----------------------------------- |
+| **Event feature** | **Event action** | **Allowed `privateMetadata` fields** |
+| :---------------- | :--------------- | :----------------------------------- |
| `cody.completion` | _(all)_ | `languageId` — Provides customers with valuable language-specific insights for code completion usage patterns. `otherCompletionProviders` — Provides internal teams insights on competitor completion providers customers are using. `providerModel` — Provides internal teams insights on the specific model used for completions. `resolvedModel` — The resolved model used for the completion request. |
| `cody.hoverCommands` | `visible` | `languageId` — Provides customers with valuable language-specific insights for hover command usage patterns. |
| `blob.codeintel` | _(all)_ | `languageId` — Provides customers with valuable language-specific insights for code intelligence usage patterns. |
diff --git a/docs/admin/telemetry/protocol.mdx b/docs/admin/telemetry/protocol.mdx
index 1ceec743e..258aa669a 100644
--- a/docs/admin/telemetry/protocol.mdx
+++ b/docs/admin/telemetry/protocol.mdx
@@ -3,7 +3,7 @@
This page contains the core schema for telemetry event data that gets exported from Sourcegraph.
-To learn more, refer to our [telemetry documentation](https://sourcegraph.com/docs/telemetry).
+To learn more, refer to our [telemetry documentation](https://sourcegraph.com/docs/admin/telemetry).
## Table of Contents
@@ -185,15 +185,16 @@ Sourcegraph.com instance and managed services.
### EventParameters
-
+EventParameters carries the metadata provided by individual Sourcegraph telemetry SDK
+callsites, and is the primary means of recording product interaction metadata.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| version | [int32](#int32) | |
Version of the event parameters, used for indicating the "shape" of this
event's metadata, beginning at 0. Useful for denoting if the shape of
|
@@ -407,7 +408,9 @@ metadata about users for instances that consent to it.
### InstanceOrganizationMetadata
-🚨 SECURITY: This metadata is NOT exported from instances by default.
+🚨 SECURITY: This metadata is NOT exported from instances by default. It is
+exported if the customer specifically requests it to be enabled for optional
+Sourcegraph Analytics features.
| Field | Type | Label | Description |
@@ -425,7 +428,9 @@ metadata about users for instances that consent to it.
### InstanceUserMetadata
-🚨 SECURITY: This metadata is NOT exported from instances by default.
+🚨 SECURITY: This metadata is NOT exported from instances by default. It is
+exported if the customer specifically requests it to be enabled for optional
+Sourcegraph Analytics features.
| Field | Type | Label | Description |
@@ -443,14 +448,16 @@ metadata about users for instances that consent to it.
### PublishInstanceUserMetadataRequest
-🚨 SECURITY: This metadata is NOT exported from instances by default.
+🚨 SECURITY: This metadata is NOT exported from instances by default. It is
+exported if the customer specifically requests it to be enabled for optional
+Sourcegraph Analytics features.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| metadata | [PublishInstanceUserMetadataRequestMetadata](#telemetrygateway-v1-PublishInstanceUserMetadataRequestMetadata) | |
🚨 SECURITY: This metadata is NOT exported from instances by default. It is
exported if the customer specifically requests it to be enabled for optional
Sourcegraph Analytics features.
|
@@ -460,7 +467,9 @@ metadata about users for instances that consent to it.
### PublishInstanceUserMetadataRequest.OrganizationMetadataPayload
-🚨 SECURITY: This metadata is NOT exported from instances by default.
+🚨 SECURITY: This metadata is NOT exported from instances by default. It is
+exported if the customer specifically requests it to be enabled for optional
+Sourcegraph Analytics features.
| Field | Type | Label | Description |
@@ -475,7 +484,9 @@ metadata about users for instances that consent to it.
### PublishInstanceUserMetadataRequest.UserMetadataPayload
-🚨 SECURITY: This metadata is NOT exported from instances by default.
+🚨 SECURITY: This metadata is NOT exported from instances by default. It is
+exported if the customer specifically requests it to be enabled for optional
+Sourcegraph Analytics features.
| Field | Type | Label | Description |
diff --git a/docs/cody/capabilities/supported-models.mdx b/docs/cody/capabilities/supported-models.mdx
index 5ebedcc71..8d4f8b97c 100644
--- a/docs/cody/capabilities/supported-models.mdx
+++ b/docs/cody/capabilities/supported-models.mdx
@@ -22,9 +22,7 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| Anthropic | [Claude Opus 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Haiku 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Haiku 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Google | [Gemini 2.0 Flash](https://deepmind.google/technologies/gemini/flash/) | ✅ | ✅ |
| Google | [Gemini 2.5 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-flash) | ✅ | ✅ |
-| Google | [Gemini 2.0 Flash-Lite](https://deepmind.google/technologies/gemini/flash/) | ✅ | ✅ |
| Google | [Gemini 2.5 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-pro) | ✅ | ✅ |
| Google | [Gemini 3 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro) | ✅ (experimental) | ❌ |
| Google | [Gemini 3 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash) | ✅ (experimental) | ❌ |
diff --git a/docs/self-hosted/observability/alerts.mdx b/docs/self-hosted/observability/alerts.mdx
index fe9f16fd8..d857b648f 100644
--- a/docs/self-hosted/observability/alerts.mdx
+++ b/docs/self-hosted/observability/alerts.mdx
@@ -1417,43 +1417,6 @@ Generated query for warning alert: `max((sum by (container_label_io_kubernetes_p
-## gitserver: running_git_commands
-
-
git commands running on each gitserver instance
-
-**Descriptions**
-
-- warning gitserver: 50+ git commands running on each gitserver instance for 2m0s
-- critical gitserver: 100+ git commands running on each gitserver instance for 5m0s
-
-**Next steps**
-
-- **Check if the problem may be an intermittent and temporary peak** using the "Container monitoring" section at the bottom of the Git Server dashboard.
-- **Single container deployments (removed in 7.0.0):** The single-container deployment mode has been sunset. [Migrate to Docker Compose](../deploy/docker-compose/migrate).
-- **Kubernetes and Docker Compose:** Check that you are running a similar number of git server replicas and that their CPU/memory limits are allocated according to what is shown in the [Sourcegraph resource estimator](https://sourcegraph.com/docs/self-hosted/deploy/resource-estimator).
-- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-running_git_commands).
-- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
-
-```json
-"observability.silenceAlerts": [
- "warning_gitserver_running_git_commands",
- "critical_gitserver_running_git_commands"
-]
-```
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Generated query for warning alert: `max((sum by (instance, cmd) (src_gitserver_exec_running)) >= 50)`
-
-Generated query for critical alert: `max((sum by (instance, cmd) (src_gitserver_exec_running)) >= 100)`
-
-
-
-
-
## gitserver: echo_command_duration_test
echo test command duration
diff --git a/docs/self-hosted/observability/dashboards.mdx b/docs/self-hosted/observability/dashboards.mdx
index f0a7ce44d..dce0c86d8 100644
--- a/docs/self-hosted/observability/dashboards.mdx
+++ b/docs/self-hosted/observability/dashboards.mdx
@@ -6137,7 +6137,7 @@ sort_desc(sum(sum_over_time(src_gitserver_exec_high_memory_usage_count{instance=
A high value signals load.
-Refer to the [alerts reference](alerts#gitserver-running_git_commands) for 2 alerts related to this panel.
+This panel has no related alerts.
To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100030` on your Sourcegraph instance.
From a7e7fba131568e19efaa49b42d6a248b58329149 Mon Sep 17 00:00:00 2001
From: Stefan Hengl
Date: Mon, 9 Mar 2026 09:33:13 +0100
Subject: [PATCH 040/217] chore(deep search): document move of config settings
to top-level (#1645)
Related to https://github.com/sourcegraph/sourcegraph/pull/10362
---
docs/deep-search/index.mdx | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index f116f28af..2d83ed9f0 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -72,9 +72,7 @@ We do not enforce [repository permissions](/admin/permissions) for viewing share
If Deep Search is disabled, ask your site administrator to enable the following setting in your site configuration:
```json
-"experimentalFeatures": {
- "deepSearch.enabled": true,
-},
+"deepSearch.enabled": true,
```
Deep Search uses a combination of frontier and specialized models selected by Sourcegraph. We continuously evaluate and update these models to ensure optimal performance.
@@ -84,10 +82,8 @@ Deep Search uses a combination of frontier and specialized models selected by So
Conversation sharing is disabled by default. To enable conversation sharing, ask your site administrator to enable the following setting in your site configuration:
```json
-"experimentalFeatures": {
- "deepSearch.enabled": true,
- "deepSearch.sharing.enabled": true,
-},
+"deepSearch.enabled": true,
+"deepSearch.sharing.enabled": true,
```
### Custom model configuration and BYOK (Bring Your Own Key)
From 643064c2371ac07c4f26564ead4bd439c69afe86 Mon Sep 17 00:00:00 2001
From: Jason Hawk Harris
Date: Tue, 10 Mar 2026 13:29:28 -0500
Subject: [PATCH 041/217] chore: remove notebooks from docs (#1680)
### Remove Notebooks references from docs
Removes all references to the deprecated Notebooks feature from
documentation pages.
_Removes references in the following files:_
- `/notebooks/`
- `pricing/faqs.mdx`
- `tutorials/index.mdx`
- `getting-started/github-vs-sourcegraph.mdx`
- `admin/user-data-deletion.mdx`
- `admin/pings.mdx`
- `integration/index.mdx`
Historical entries in technical-changelog.mdx are intentionally
preserved.
---
docs/admin/pings.mdx | 11 ---
docs/admin/user-data-deletion.mdx | 3 +-
.../getting-started/github-vs-sourcegraph.mdx | 8 --
docs/integration/index.mdx | 3 +-
docs/notebooks/blocks.mdx | 25 ------
docs/notebooks/index.mdx | 75 -----------------
docs/notebooks/notebook-embedding.mdx | 44 ----------
docs/notebooks/notebook-sharing.mdx | 23 ------
docs/notebooks/quickstart.mdx | 82 -------------------
docs/pricing/faqs.mdx | 2 +-
docs/tutorials/index.mdx | 6 --
11 files changed, 3 insertions(+), 279 deletions(-)
delete mode 100644 docs/notebooks/blocks.mdx
delete mode 100644 docs/notebooks/index.mdx
delete mode 100644 docs/notebooks/notebook-embedding.mdx
delete mode 100644 docs/notebooks/notebook-sharing.mdx
delete mode 100644 docs/notebooks/quickstart.mdx
diff --git a/docs/admin/pings.mdx b/docs/admin/pings.mdx
index 5993b0c6c..66a13c1e4 100644
--- a/docs/admin/pings.mdx
+++ b/docs/admin/pings.mdx
@@ -162,17 +162,6 @@ Sourcegraph aggregates usage and performance metrics for some product features i
- Total number of search executions
- Total number of search executions that errored
- 50th and 90th percentile runtimes for search executions
-- Notebooks usage data
- - Total number of views of the notebook page
- - Total number of views of the notebooks list page
- - Total number of views of the embedded notebook page
- - Total number of created notebooks
- - Total number of added notebook stars
- - Total number of added notebook markdown blocks
- - Total number of added notebook query blocks
- - Total number of added notebook file blocks
- - Total number of added notebook symbol blocks
- - Total number of added notebook compute blocks
- Code Host integration usage data (Browser extension / Native Integration)
- Aggregate counts of current daily, weekly, and monthly unique users and total events
- Aggregate counts of current daily, weekly, and monthly unique users and total events who visited Sourcegraph instance from browser extension
diff --git a/docs/admin/user-data-deletion.mdx b/docs/admin/user-data-deletion.mdx
index bbc5f09ac..214c6d7ba 100644
--- a/docs/admin/user-data-deletion.mdx
+++ b/docs/admin/user-data-deletion.mdx
@@ -28,6 +28,5 @@ When a user or organization is deleted (for both "delete" or "delete forever"),
| Code Insight dashboard | Sometimes | If the dashboard was private to the user it is deleted on the user deletion; if it was private to the org it is deleted on the org deletion. If it was a global dashboard, it will continue to exist. |
| Code Monitor | Yes | If the user that created the code monitor is deleted, their code monitors are deleted and will no longer trigger new actions. |
| Repository Permissions | Yes | If you delete the user, the associated repository permissions will be deleted as well via a database trigger. If the user is revived later, the permissions need to be synced again. |
-| Search Notebook | Yes | If you delete the user or organization that owns the notebook, it no longer appears in the UI. In the organization-owned case, it's still preserved in the database. |
-| Search Context | Yes | If you delete the user or organization that owns the context, it no longer appears in the UI. In cases where it was an organization notebook, it is preserved in the database. |
+| Search Context | Yes | If you delete the user or organization that owns the context, it no longer appears in the UI. In cases where it was an organization context, it is preserved in the database. |
| Settings file (extensions, experimental features, defaults) | Yes | If you delete the user or organization, the associated settings file is deleted. |
diff --git a/docs/getting-started/github-vs-sourcegraph.mdx b/docs/getting-started/github-vs-sourcegraph.mdx
index a153aac76..f81aec244 100644
--- a/docs/getting-started/github-vs-sourcegraph.mdx
+++ b/docs/getting-started/github-vs-sourcegraph.mdx
@@ -329,14 +329,6 @@ Sourcegraph offers [code monitors](/code-monitoring), which continuously monitor
Each code monitor can span any scope of your choosing, such as a single repository, multiple repositories, or multiple code hosts. They can also be scoped to specific branches of a repository. Code monitor alerts can be configured to send notifications via email, Slack message, or webhook. Most queries used for a code monitor can also be reused for a Code Insights chart or a fix with Batch Changes.
-## Embedded code search and documentation
-
-Sourcegaph’s [Notebooks](/notebooks) integrate code search with Markdown for knowledge sharing. Notebooks are created with blocks, and each block can be Markdown, a code search query, a live code snippet, a file, or a symbol.
-
-Notebooks pull information directly from your codebase, so the information served in notebooks (via code search blocks, for example) always reflects what is live in your code at that moment in time. By referencing live code, notebooks are useful for onboarding teammates, documenting vulnerabilities, walking through complex parts of a codebase, or keeping track of useful queries.
-
-GitHub does not currently offer functionality to embed code search within notebooks or documentation.
-
## Licensing
GitHub is closed source, while Sourcegraph’s code is publicly available.
diff --git a/docs/integration/index.mdx b/docs/integration/index.mdx
index 8e9defb05..99d3d97bc 100644
--- a/docs/integration/index.mdx
+++ b/docs/integration/index.mdx
@@ -19,8 +19,7 @@ Sourcegraph integrates with your other tools to help you search, navigate, and r
- [Open in Editor](/integration/open-in-editor): jump to your editor from Sourcegraph
- [Search shortcuts](/integration/browser-extension/how-tos/browser-search-engine): quickly search from your browser
- Launcher extensions
- - [Sourcegraph for Raycast](https://www.raycast.com/bobheadxi/sourcegraph) (unofficial): search code, browse
- notebooks, and manage batch changes from the Raycast launcher
+ - [Sourcegraph for Raycast](https://www.raycast.com/bobheadxi/sourcegraph) (unofficial): search code and manage batch changes from the Raycast launcher
- Cody IDE Extensions
- [JetBrains](/integration/jetbrains)
- [VS Code](/cody/clients/install-vscode)
diff --git a/docs/notebooks/blocks.mdx b/docs/notebooks/blocks.mdx
deleted file mode 100644
index 47cae7ef1..000000000
--- a/docs/notebooks/blocks.mdx
+++ /dev/null
@@ -1,25 +0,0 @@
-Blocks are the compositional units of a notebook. You can interleave the various block types in a notebook to create rich, powerful documentation. There are four supported block types.
-
-# Block types
-
-## Markdown blocks
-
-Markdown blocks support standard Markdown formatting, enabling you to create headings, lists, code blocks, and more. They are the foundational block type for providing additional context to the specialized block types described below.
-
-## Query blocks
-
-Query blocks support the full Sourcegraph search query language, allowing you to use our full [search syntax](/code-search/queries), including any of our types, filters, patterns, and predicates, to display the most relevant results.
-
-> Note: Notebook block searches don't use your Sourcegraph instance's default search configuration. For example you'll need to explicitly specify things like `patterntype:regexp` or `context:sourcegraph` even if your user or global settings have a configured default for these values.
-
-## Symbol blocks
-
-With symbol blocks, you can identify the symbol you want to highlight. Symbol blocks are special. As long as the symbol definition stays within the file you selected when you created the block, you don't need to update it when the file changes. Symbol blocks "follow" the symbol around the file and so always display its current location.
-
-Symbol blocks provide some UI affordances to make it easier to find symbols, such as a default `type:symbol` in the query, as well as a purpose-built typeahead specialized for symbol selection.
-
-## File blocks
-
-File blocks are similar to symbol blocks in that they are some special affordances to make them easier to create. You can add an entire file the file block, or you can select a line range of a file. File ranges are great for embedding code snippets into a notebook or highlighting important files. File blocks are editable so you can modify a full file to only show a line range from it, or remove the line range to show an entire file.
-
-If you're viewing a file in Sourcegraph search, you can also copy the URL and paste it directly into a file block or the command palette. If you have a line range selected it will be preserved on paste.
diff --git a/docs/notebooks/index.mdx b/docs/notebooks/index.mdx
deleted file mode 100644
index 25e305cb0..000000000
--- a/docs/notebooks/index.mdx
+++ /dev/null
@@ -1,75 +0,0 @@
-# Notebooks
-
-Notebooks enable powerful live–and persistent–documentation, shareable with your organization or the world.
-
-Inspired by Jupyter Notebooks and powered by Markdown and Sourcegraph's code search, Notebooks let you and your team create living documentation that interacts directly with your code. You can leverage Notebooks to onboard a new teammate, document known vulnerabilities, a common pattern in your codebase, or useful Sourcegraph queries.
-
-
-
-Notebooks have powerful content creation features, like multiple block types, each with their own unique capabilities.
-If you're familiar with Jupyter Notebooks, then you already understand the blocks concept. You can add as many of each
-block as you want to a Sourcegraph notebook.
-
-## Notebook types
-
-Notebooks can be created in two ways. Through the web interface or via special Markdown files with the special `.snb` extension. To view file-based notebooks you must view the files in the file view on sourcegraph.com or on your Sourcegraph instance.
-
-### Web-based notebooks
-
-The simplest way to get started with Notebooks is to create one using the web interface. Notebooks created this way have
-the advantage of being interactive, letting you see the content of your blocks in realtime as you create your notebook.
-
-You can also create web-based notebooks by importing plain Markdown files and then augmenting them with Sourcegraph notebook block types in the web interface. A new notebook will automatically be created when you import a standard markdown file. From there, you can modify it however you like in the web interface.
-
-Web-based notebooks are automatically saved as they're edited. There is currently no version control, version history, or versioning system.
-
-### File-based notebooks
-
-Alternatively, you can create notebooks using text files with the `.snb` file extension. These files are rendered specially by Sourcegraph (either on sourcegraph.com or within your Sourcegraph instance) to display notebook blocks alongside standard Markdown blocks.
-
-Whenever you view a `.snb` file on Sourcegraph, you'll see a "Run all blocks" button near the top of the notebook, which will execute all the notebook blocks at once. Markdown and file blocks are rendered by default.
-
-File-based notebooks have the advantage of living anywhere you store text files. The disadvantage comes during composition, as you won't be able to see the contents of your blocks while you create your notebook.
-
-### Combined approaches
-
-#### Compose online and export to disk
-
-If you prefer to keep your notebooks in your repos but want to compose them on the web, you can get the best of both worlds by composing your notebooks on your sourcegraph instance and then exporting them to your repositories on disk.
-
-#### Embed notebooks anywhere
-
-Sourcegraph notebooks can be [embedded](/notebooks/notebook-embedding) anywhere that allows iframes. Notebooks hosted on sourcegraph.com can be embedded anywhere. Notebooks hosted on your private instance are subject to your organization's security policies, but can generally be viewed by any user with access to your instance as long as they're logged in.
-
-## Notebook blocks
-
-The currently supported block types are:
-
-- Query
-- File
-- Symbol
-- Markdown
-
-[Read more about block types](/notebooks/blocks).
-
-## Searching notebooks
-
-Notebooks created through the web interface are full text searchable from the `/notebooks` page. Each tab has its own search box and each search box is scoped to that tab. The exception is the Explore tab, which searches all notebooks you have access to.
-
-Searches will match on notebook titles and any text in blocks. For example any text in Markdown blocks and any of the query text in file, symbol, and search query blocks. Searching through results in symbol, file, and query block types is not supported because they are dynamic in nature.
-
-
-
-
-
-## Explanations
-
-- [Sharing notebooks](/notebooks/notebook-sharing)
-- [Embedding notebooks](/notebooks/notebook-embedding)
-- [Block types](/notebooks/blocks)
diff --git a/docs/notebooks/notebook-embedding.mdx b/docs/notebooks/notebook-embedding.mdx
deleted file mode 100644
index d5c962b25..000000000
--- a/docs/notebooks/notebook-embedding.mdx
+++ /dev/null
@@ -1,44 +0,0 @@
-# Embedding Notebooks
-
-A notebook can be embedded using a standard iframe element. In order for the iframe to load, the user must be logged into Sourcegraph. The notebook embedding URL is an authenticated endpoint.
-
-## Domain considerations
-
-Certain browsers (i.e. Safari and Firefox) block cross-domain cookies from being sent in iframe requests. This will prevent an embedded notebook from being displayed, even when a user is logged into Sourcegraph from the same browser. To ensure that notebook embedding requests will be permitted to load for all of your logged-in Sourcegraph users, the Sourcegraph instance must be hosted on the same domain as the page that loads the iframe element. For Cloud customers, see [Custom Domains](/cloud/#custom-domains).
-
-## How to embed
-
-To create the embedding URL, copy the notebook URL (e.g. `https://your-sourcegraph-instance.com/notebooks/notebook-id`), and add the `/embed` prefix directly before the `/notebooks` segment:
-
-```
-https://{your-sourcegraph-instance.com}/embed/notebooks/{notebook-id}
-```
-
-Once you have the embedding URL, create an iframe element and use the embedding URL as the `src` attribute value. See example iframe below:
-
-```html
-
-```
-
-## Security
-
-We recommend using the `sandbox` attribute to apply extra security restrictions to the iframe. Notebooks require three exceptions: `allow-scripts` allows executing Javascript scripts, `allow-same-origin` allows access to local storage and cookies, and `allow-popups` allows opening links in a separate tab.
-
-## Enable embedding notebooks on private instances
-
-Embedding is disabled by default on private instances. A site-admin can enable embedding by running the following GraphQL mutation in the API console, located at `https://{your-sourcegraph-instance.com}/api/console`:
-
-```graphql
-mutation {
- createFeatureFlag(name: "enable-embed-route", value: true) {
- ... on FeatureFlagBoolean {
- name
- value
- }
- }
-}
-```
diff --git a/docs/notebooks/notebook-sharing.mdx b/docs/notebooks/notebook-sharing.mdx
deleted file mode 100644
index decb3e07b..000000000
--- a/docs/notebooks/notebook-sharing.mdx
+++ /dev/null
@@ -1,23 +0,0 @@
-# Sharing Notebooks
-
-Notebooks support the following sharing scheme.
-
-## User namespace
-
-### Private Notebooks
-
-This is the default permissions level for all new notebook. Only the creator can view and edit the notebook.
-
-## Sourcegraph organization namespace
-
-Find out more about Sourcegraph organizations and how to create and configure them on the [organizations docs page](/admin/organizations).
-
-### Private organization Notebooks
-
-Only organization members can view and edit the notebook.
-
-### Public organization Notebooks
-
-In self-hosted and managed Sourcegraph instances, everyone who has access to the instance can view the notebook. On [Sourcegraph.com](https://sourcegraph.com), anyone can view the Notebook. In both cases, only members of the owning Sourcegraph organization can edit the Notebook.
-
-
diff --git a/docs/notebooks/quickstart.mdx b/docs/notebooks/quickstart.mdx
deleted file mode 100644
index 4c9f343bd..000000000
--- a/docs/notebooks/quickstart.mdx
+++ /dev/null
@@ -1,82 +0,0 @@
-# Quickstart for Notebooks
-
-In this guide, you'll create your first Notebook
-
-## The Notebooks interface
-
-The Notebooks interface will be familiar if you've ever used Jupyter or iPython notebooks before.
-
-
-### Run all blocks
-
-The Run all blocks button allows you to render all the blocks in the Notebook with one click. You'll want to get in the habit of using this button every time you start reading a Notebook.
-
-
-### Autosave
-
-Notebooks are automatically saved so you'll never lose your work.
-
-
-
-### Supported block types
-
-Like Jupyter notebooks, Sourcegraph Notebooks support Markdown. They also support two special block types: Query and Code.
-
-#### Query blocks
-
-Query blocks allow you to enter any valid Sourcegraph query and view the results right inside the notebook. The query block input supports the same typeahead functionality as the main Sourcegraph search bar.
-
-
-
-#### Markdown blocks
-
-Markdown blocks support all the Markdown features you'd expect, including rendering images and syntax highlighting.
-
-#### Code blocks
-
-Code blocks are another special block type that allow you show a file range from any file on Sourcegraph. You can use the interface to fill in the range you want, or just select a code block and paste in a valid Sourcegraph URL to have the inputs auto-filled.
-
-
-
-
-
-# Create a new Notebook
-
-- Navigate to [https://sourcegraph.com/notebooks](https://sourcegraph.com/notebooks) and click "Create notebook".
-- Click on the name to edit and rename the Notebook "React components"
-- Create a Markdown block and enter the text below.
-
-```
-# React class components
-React class components are no longer the preferred style of component creation. Today, functional components are the standard. Below are some examples of class components in the Sourcegraph codebase.
-```
-
-- Click the render button, or press Cmd+Return to render the block
-- Next, create a query block and enter the following query to find some examples of class components in the Sourcegraph codebase.
-
-```
-repo:^github\.com/sourcegraph/sourcegraph$ lang:TypeScript extends React
-```
-
-- Render the block with Cmd+Return
-- Next, let's find some recent commits that include class components.
-- Click the "duplicate" button to duplicate the block and modify the query to return commits that added our search phrase.
-
-```
-repo:^github\.com/sourcegraph/sourcegraph$ lang:TypeScript extends React type:diff select:commit.diff.added
-```
-
-- Your Notebook should now look like [this](https://sourcegraph.com/notebooks/Tm90ZWJvb2s6MTE4).
-- **Optional:** share you notebook by clicking "Private" at the top right of the screen and select "Public" to share your Notebook with the community!
diff --git a/docs/pricing/faqs.mdx b/docs/pricing/faqs.mdx
index 929f2e029..9733863d2 100644
--- a/docs/pricing/faqs.mdx
+++ b/docs/pricing/faqs.mdx
@@ -47,7 +47,7 @@ A billable active Code Search or Code Intelligence Platform user is signed into
- Creating, viewing, or receiving a code monitor
- Creating, viewing, modifying, or applying a batch change
- Creating, viewing, or modifying a code insight
-- Creating, viewing, or modifying a search notebook
+
## How is this measured in the product?
diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx
index cc0321b6b..5c0d4e4ca 100644
--- a/docs/tutorials/index.mdx
+++ b/docs/tutorials/index.mdx
@@ -110,12 +110,6 @@ Full [search query syntax](/code-search/queries).
See [the Sourcegraph API page](/api).
-## Search Notebooks
-
-| Topic | Content Type | Description |
-| ---------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------- |
-| [Search Notebooks Quickstart Guide](/notebooks/quickstart) | Tutorial | Notebooks enable powerful live–and persistent–documentation, shareable with your organization or the world. |
-
## Customizing Your Sourcegraph User Environment
| Topic | Content Type | Description |
From bde1c77cb5cb8fecb5cb99112a8059f2203bc25f Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Tue, 10 Mar 2026 14:50:37 -0700
Subject: [PATCH 042/217] chore/platform: deepsearch networking requirements
(#1677)
closes PLAT-422
This PR adds some configuration advisements about the optimal ingress
configuration for working with streaming deepsearch
Internal context:
https://sourcegraph.slack.com/archives/C05MW2TMYAV/p1770145934635309
---
docs/code-search/queries/language.mdx | 13 +++++++------
docs/deep-search/index.mdx | 13 +++++++++++++
docs/self-hosted/deploy/kubernetes/index.mdx | 10 ++++++++++
3 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/docs/code-search/queries/language.mdx b/docs/code-search/queries/language.mdx
index 8da070363..97813a0c7 100644
--- a/docs/code-search/queries/language.mdx
+++ b/docs/code-search/queries/language.mdx
@@ -260,12 +260,13 @@ For example,
Sourcegraph admins can increase the maximum timeout of 1 minute through [site configuration](/admin/search#maximum-timeout).
- The maximum timeout can also depend on the HTTP load balancer in front of
- Sourcegraph (nginx/ELB/Cloudflare/etc). Sourcegraph admins may need to
- increase timeouts for Sourcegraph paths, particularly the
- `.api/search/stream` path. This uses
- [SSE](https://en.wikipedia.org/wiki/Server-sent_events), so your reverse
- proxy may have specific support for these requests.
+ The maximum timeout also depends on the HTTP load balancer or ingress controller
+ in front of Sourcegraph (nginx/ELB/Cloudflare/etc). Sourcegraph admins must ensure
+ timeouts for the `.api/search/stream` path are set to at least **5 minutes**, as
+ this endpoint uses [SSE](https://en.wikipedia.org/wiki/Server-sent_events) for
+ streaming search results. This requirement also applies to [Deep Search](/deep-search).
+ See the [Kubernetes deployment guide](/self-hosted/deploy/kubernetes#cloud-providers-guides)
+ for further guidance.
### Visibility
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index 2d83ed9f0..08f48eb74 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -90,6 +90,19 @@ Conversation sharing is disabled by default. To enable conversation sharing, ask
Deep Search is only available to customers using the [Sourcegraph Model Provider](/model-provider). Customers who configure and access their own models via BYOK cannot use the Deep Search feature.
+## Self-hosted network requirements
+
+Deep Search streams its responses using [Server-Sent Events (SSE)](https://en.wikipedia.org/wiki/Server-sent_events). Responses are streamed progressively as the agent works, and a single Deep Search request can remain open for up to 5 minutes.
+
+If your Sourcegraph instance sits behind a reverse proxy, load balancer, or ingress controller, you must ensure the timeout for connections to Sourcegraph is set to at least **5 minutes**. The default timeout for many proxies (often 30–60 seconds) will cause in-progress Deep Search responses to be cut off prematurely.
+
+
+ SSE streaming is the default and recommended transport for Deep Search. A polling
+ fallback is temporarily available but will be removed in a future release.
+ Ensure your ingress or proxy timeout is raised to at least 5 minutes before
+ enabling Deep Search for your users.
+
+
## Managing usage
Deep Search usage is managed on two levels:
diff --git a/docs/self-hosted/deploy/kubernetes/index.mdx b/docs/self-hosted/deploy/kubernetes/index.mdx
index ca69aa060..57ebb7320 100644
--- a/docs/self-hosted/deploy/kubernetes/index.mdx
+++ b/docs/self-hosted/deploy/kubernetes/index.mdx
@@ -488,6 +488,16 @@ This section is aimed at providing high-level guidance on deploying Sourcegraph
- An Ingress Controller installed, e.g. platform native ingress controller, [NGINX Ingress Controller].
- The ability to create DNS records for Sourcegraph, e.g. `sourcegraph.company.com`
+
+ Sourcegraph uses [Server-Sent Events (SSE)](https://en.wikipedia.org/wiki/Server-sent_events)
+ for streaming search results and [Deep Search](/deep-search) responses. Your ingress controller or
+ load balancer must be configured to allow connections to remain open for at least
+ **5 minutes**. The default timeout for many ingress controllers and cloud load
+ balancers is significantly lower and will cause streaming responses to be terminated
+ prematurely. Consult your ingress controller's documentation for the appropriate
+ timeout annotation or setting.
+
+
### Configure Sourcegraph on Google Kubernetes Engine (GKE)
#### Prerequisites
From df5b6d07b2d981cd6eb526c6af291d8c35036494 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Fri, 13 Mar 2026 10:42:28 -0700
Subject: [PATCH 043/217] chore/release: add deprecation notices about sboms in
the 7.1.x release (#1685)
closes PLAT-468
SBOMs will no longer be published in version `7.1.x`.
https://github.com/sourcegraph/sourcegraph/pull/10785 This PR adds a
deprecation notice as a temporary measure while its feasible someone may
still be using sbom for older versions of Sourcegraph which will still
be available.
The `sbom` and `signature` command both rely on a published sbom for a
given release, so we'll remove them both.
---
docs/cli/how-tos/fetch-sboms.mdx | 8 ++++++--
docs/cli/how-tos/index.mdx | 4 ++--
docs/cli/how-tos/verify-container-signatures.mdx | 8 ++++++--
docs/cli/references/index.mdx | 4 ++--
docs/cli/references/sbom.mdx | 6 ++++--
docs/cli/references/signature.mdx | 6 ++++--
6 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/docs/cli/how-tos/fetch-sboms.mdx b/docs/cli/how-tos/fetch-sboms.mdx
index 276ac6476..5fd3701c8 100644
--- a/docs/cli/how-tos/fetch-sboms.mdx
+++ b/docs/cli/how-tos/fetch-sboms.mdx
@@ -1,6 +1,10 @@
# How to fetch SBOMs for Sourcegraph
-Sourcegraph generates and cryptographically signs a Software Bill of Materials (SBOM) for each container image in every release. These SBOMs are stored in our container registry alongside their corresponding images.
+
+**Deprecated:** As of Sourcegraph 7.0.2852, we no longer generate SBOMs as part of the release process. The `src sbom fetch` command will only work for Sourcegraph releases between 5.9.0 and 7.0.2852. For questions about software supply chain security, please contact your Sourcegraph account team.
+
+
+Sourcegraph generated and cryptographically signed a Software Bill of Materials (SBOM) for each container image in releases 5.9.0 through 7.0.2852. These SBOMs are stored in our container registry alongside their corresponding images.
Use the Sourcegraph CLI (`src`) to fetch SBOMs for a specific release.
@@ -14,7 +18,7 @@ Use the Sourcegraph CLI (`src`) to fetch SBOMs for a specific release.
1. Determine the Sourcegraph version to verify. Use either a [recent release](https://sourcegraph.com/changelog/releases) or your instance's current version.
- > **Note:** SBOMs are only available only for Sourcegraph release 5.9.0 and later.
+ > **Note:** SBOMs are only available for Sourcegraph releases 5.9.0 through 7.0.2852.
To find your instance's current version, check your deployment or view the Settings page on your Sourcegraph instance (version shown in bottom left corner).
diff --git a/docs/cli/how-tos/index.mdx b/docs/cli/how-tos/index.mdx
index c32c04c73..5cf06d835 100644
--- a/docs/cli/how-tos/index.mdx
+++ b/docs/cli/how-tos/index.mdx
@@ -5,5 +5,5 @@ The following how-tos apply to the `src` command line interface to Sourcegraph:
- [Creating an access token](/cli/how-tos/creating-an-access-token)
- [Revoking an access token](/cli/how-tos/revoking-an-access-token)
- [Managing access tokens](/cli/how-tos/managing-access-tokens)
-- [How to fetch SBOMs for Sourcegraph](/cli/how-tos/fetch-sboms)
-- [How to verify container signatures for Sourcegraph releases](/cli/how-tos/verify-container-signatures)
+- [How to fetch SBOMs for Sourcegraph (deprecated)](/cli/how-tos/fetch-sboms)
+- [How to verify container signatures for Sourcegraph releases (deprecated)](/cli/how-tos/verify-container-signatures)
diff --git a/docs/cli/how-tos/verify-container-signatures.mdx b/docs/cli/how-tos/verify-container-signatures.mdx
index 14011c573..ee32e5cc3 100644
--- a/docs/cli/how-tos/verify-container-signatures.mdx
+++ b/docs/cli/how-tos/verify-container-signatures.mdx
@@ -1,6 +1,10 @@
# How to verify container signatures for Sourcegraph releases
-Sourcegraph publishes cryptographic signatures for all container images included in each release. These signatures can be used to verify the authenticity and integrity of the downloaded images.
+
+**Deprecated:** As of Sourcegraph 7.0.2852, we no longer publish container signatures as part of the release process. The `src signature verify` command will only work for Sourcegraph releases between 5.11.4013 and 7.0.2852. For questions about software supply chain security, please contact your Sourcegraph account team.
+
+
+Sourcegraph published cryptographic signatures for all container images included in releases 5.11.4013 through 7.0.2852. These signatures can be used to verify the authenticity and integrity of the downloaded images.
To verify signatures for a specific release, use the Sourcegraph CLI (`src`). This tool validates that all images in the release were signed by Sourcegraph and displays the SHA256 hashes of the verified images.
@@ -14,7 +18,7 @@ To verify signatures for a specific release, use the Sourcegraph CLI (`src`). Th
1. Determine the Sourcegraph version to verify. Use either a [recent release](https://sourcegraph.com/changelog/releases) or your instance's current version.
- > **Note:** Signature verification is available only for Sourcegraph release 5.11.4013 and later.
+ > **Note:** Signature verification is available only for Sourcegraph releases 5.11.4013 through 7.0.2852.
To find your instance's current version, check your deployment or view the Settings page on your Sourcegraph instance (version shown in bottom left corner).
diff --git a/docs/cli/references/index.mdx b/docs/cli/references/index.mdx
index 5f606371d..c511872ba 100644
--- a/docs/cli/references/index.mdx
+++ b/docs/cli/references/index.mdx
@@ -15,11 +15,11 @@
* [`lsp`](references/lsp)
* [`orgs`](references/orgs)
* [`repos`](references/repos)
-* [`sbom`](references/sbom)
+* [`sbom` (deprecated)](references/sbom)
* [`search`](references/search)
* [`search-jobs`](references/search-jobs)
* [`serve-git`](references/serve-git)
-* [`signature`](references/signature)
+* [`signature` (deprecated)](references/signature)
* [`snapshot`](references/snapshot)
* [`teams`](references/teams)
* [`users`](references/users)
diff --git a/docs/cli/references/sbom.mdx b/docs/cli/references/sbom.mdx
index 76dd910b3..e3750cf6a 100644
--- a/docs/cli/references/sbom.mdx
+++ b/docs/cli/references/sbom.mdx
@@ -1,11 +1,13 @@
# `src sbom`
-
+
+**Deprecated:** SBOMs are no longer generated for Sourcegraph releases after version 7.0.2852.
+
## Usage
```
-'src sbom' fetches and verifies SBOM (Software Bill of Materials) data for Sourcegraph containers.
+'src sbom' fetches and verifies SBOM (Software Bill of Materials) data for Sourcegraph containers for releases 5.9.0 through 7.0.2852.
Usage:
diff --git a/docs/cli/references/signature.mdx b/docs/cli/references/signature.mdx
index a335f9ca9..b050db010 100644
--- a/docs/cli/references/signature.mdx
+++ b/docs/cli/references/signature.mdx
@@ -1,11 +1,13 @@
# `src signature`
-
+
+**Deprecated:** Container signatures are no longer published for Sourcegraph releases after version 7.0.2852.
+
## Usage
```
-'src signature' verifies published signatures for Sourcegraph containers.
+'src signature' verifies published signatures for Sourcegraph containers for releases 5.11.4013 through 7.0.2852.
Usage:
From db789f5e1486445ab0b5ed9927db12efe204b691 Mon Sep 17 00:00:00 2001
From: Petri Last
Date: Fri, 13 Mar 2026 17:31:21 -0600
Subject: [PATCH 044/217] fix: Add redirect links for all code hosts, not just
ones with underscores (#1686)
Only ones like `bitbucket_server` and `bitbucket_cloud` had redirects,
but the parent `code_hosts` was changed as well, so we need to redirect
for all code hosts there.
---
src/data/redirects.ts | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index 459fbe28a..a8ce3c4d1 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -6453,6 +6453,11 @@ const redirectsData = [
destination: '/admin/code-hosts/aws-codecommit',
permanent: true
},
+ {
+ source: '/admin/code_hosts/azuredevops',
+ destination: '/admin/code-hosts/azuredevops',
+ permanent: true
+ },
{
source: '/admin/code_hosts/bitbucket_cloud',
destination: '/admin/code-hosts/bitbucket-cloud',
@@ -6463,6 +6468,41 @@ const redirectsData = [
destination: '/admin/code-hosts/bitbucket-server',
permanent: true
},
+ {
+ source: '/admin/code_hosts/gerrit',
+ destination: '/admin/code-hosts/gerrit',
+ permanent: true
+ },
+ {
+ source: '/admin/code_hosts/github',
+ destination: '/admin/code-hosts/github',
+ permanent: true
+ },
+ {
+ source: '/admin/code_hosts/gitlab',
+ destination: '/admin/code-hosts/gitlab',
+ permanent: true
+ },
+ {
+ source: '/admin/code_hosts/gitolite',
+ destination: '/admin/code-hosts/gitolite',
+ permanent: true
+ },
+ {
+ source: '/admin/code_hosts/non-git',
+ destination: '/admin/code-hosts/non-git',
+ permanent: true
+ },
+ {
+ source: '/admin/code_hosts/other',
+ destination: '/admin/code-hosts/other',
+ permanent: true
+ },
+ {
+ source: '/admin/code_hosts/phabricator',
+ destination: '/admin/code-hosts/phabricator',
+ permanent: true
+ },
{
source: '/admin/code_hosts/rate_limits',
destination: '/admin/code-hosts/rate-limits',
From 047028c4a9fad2b002233451168ca9869a182300 Mon Sep 17 00:00:00 2001
From: Eugenio Sanchez
Date: Mon, 16 Mar 2026 20:16:07 -0700
Subject: [PATCH 045/217] added spacing to bullets code host github page -
section Github API access (#1688)
Previously, spaces were missing after the colon after each bullet title
on [this page of our docs
](https://sourcegraph.com/docs/admin/code-hosts/github#github-api-access).
Fixed and tested it locally:
---
docs/admin/code-hosts/github.mdx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 94e1d4d95..777eedc88 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -228,10 +228,10 @@ In this example, the kubernetes public repository on GitHub is added by selectin
GitHub requires a `token` in order to access their API. There are different types of tokens that can be supplied. When using GitHub apps, this is handled automatically by Sourcegraph.
-- **[GitHub app installation access token](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app)**:An installation access token is created automatically when you install a GitHub app. Do not set this token in the code host connection configuration. This token gives Sourcegraph the same level of access to repositories as the GitHub app installation.
-- **[Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line)**:This gives Sourcegraph the same level of access to repositories as the account that created the token. If you don't want to mix your personal repositories with your organizations repositories, you could add an entry to the `exclude` array, or you can use a machine user token or a fine-grained access token.
-- **[Fine-grained access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token)**:Allows scoping access tokens to specific repositories with specific permissions. Consult the [table below](#fine-grained-access-token-permissions) for the required permissions.
-- **[Machine user token](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users)**:Generates a token for a machine user that is affiliated with an organization instead of a user account.
+- **[GitHub app installation access token](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app)**: An installation access token is created automatically when you install a GitHub app. Do not set this token in the code host connection configuration. This token gives Sourcegraph the same level of access to repositories as the GitHub app installation.
+- **[Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line)**: This gives Sourcegraph the same level of access to repositories as the account that created the token. If you don't want to mix your personal repositories with your organizations repositories, you could add an entry to the `exclude` array, or you can use a machine user token or a fine-grained access token.
+- **[Fine-grained access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token)**: Allows scoping access tokens to specific repositories with specific permissions. Consult the [table below](#fine-grained-access-token-permissions) for the required permissions.
+- **[Machine user token](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users)**: Generates a token for a machine user that is affiliated with an organization instead of a user account.
### Personal access token scopes
From e72789422e52f7f293e9ccd810e4198524f94d99 Mon Sep 17 00:00:00 2001
From: William Bezuidenhout
Date: Wed, 18 Mar 2026 09:33:03 +0200
Subject: [PATCH 046/217] src-cli: update cli docs for src cli OAuth (#1681)
Update docs to mention OAuth support in src-cli
---
docs/cli/explanations/env.mdx | 9 +++++++--
docs/cli/quickstart.mdx | 6 +++++-
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/docs/cli/explanations/env.mdx b/docs/cli/explanations/env.mdx
index 9449c40c4..982754ae7 100644
--- a/docs/cli/explanations/env.mdx
+++ b/docs/cli/explanations/env.mdx
@@ -2,7 +2,12 @@
## Overview
-`src` requires two environment variables to be set to authenticate against your Sourcegraph instance.
+`src` supports two authentication methods:
+
+- Interactive OAuth via `src login`
+- Access token authentication via `SRC_ACCESS_TOKEN`
+
+Use OAuth for local interactive use, or set the environment variables below for non-interactive workflows such as scripts and CI.
## `SRC_ENDPOINT`
@@ -18,7 +23,7 @@ If the environment variable is not set, it'll default to "https://sourcegraph.co
## `SRC_ACCESS_TOKEN`
-`src` uses an access token to authenticate as you to your Sourcegraph instance. This token needs to be in the `SRC_ACCESS_TOKEN` environment variable.
+`src` can use an access token to authenticate as you to your Sourcegraph instance. Set it in the `SRC_ACCESS_TOKEN` environment variable. Note, `src` will use the `SRC_ACCESS_TOKEN` over the OAuth token if it is set in the environment.
To create an access token, please refer to "[Creating an access token](/cli/how-tos/creating-an-access-token)".
diff --git a/docs/cli/quickstart.mdx b/docs/cli/quickstart.mdx
index 7e71c5757..59958140f 100644
--- a/docs/cli/quickstart.mdx
+++ b/docs/cli/quickstart.mdx
@@ -51,7 +51,11 @@ For other options, please refer to [the Windows specific `src` documentation](/c

-Once complete, you should have two new environment variables set: `SRC_ENDPOINT` and `SRC_ACCESS_TOKEN`.
+### OAuth login
+
+`src login` supports interactive OAuth login, so you can sign in without creating or exporting a `SRC_ACCESS_TOKEN`.
+
+If you need non-interactive authentication, such as in CI or scripts, you can still use `SRC_ENDPOINT` and `SRC_ACCESS_TOKEN`.
## Run a code search
From e7efddb8f8fa15294badd170e0dbff31116a7eb6 Mon Sep 17 00:00:00 2001
From: Keegan Carruthers-Smith
Date: Wed, 18 Mar 2026 09:56:34 +0200
Subject: [PATCH 047/217] deep-search: example of deepsearch_read (#1691)
It felt too specific to document that deepsearch can read other
deepsearch threads. So rather than adding a whole section for it, I am
including an example of it in the example prompts.
---
docs/deep-search/index.mdx | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index 08f48eb74..a7d6e5548 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -55,6 +55,7 @@ For use cases where you're looking for exhaustive answers (for example, "Find al
- Look at the GraphQL APIs available in `@sourcegraph/sourcegraph`. Are any of them unused? The client code is in the `@cody` repository.
- Which tools do we use in our build processes defined in `BUILD.bazel` files?
- Generate a request flow diagram for `src/backend`. Mark the auth and rate limit points.
+- Based on the findings in `https://sourcegraph.com/deepsearch/e3c0150a-b7ef-4955-bed4-d5820ca7a70d`, investigate whether the same logging patterns appear in our other microservices.
## Conversation sharing
From 1690fa410e410b8066591fecbafe25c7d744ef47 Mon Sep 17 00:00:00 2001
From: William Bezuidenhout
Date: Wed, 18 Mar 2026 14:38:58 +0200
Subject: [PATCH 048/217] src-cli: add documentation for src auth token (#1693)
Add documentation for `src auth token`
---
docs/cli/explanations/env.mdx | 24 ++++++++++++++++++++++++
docs/cli/quickstart.mdx | 2 ++
2 files changed, 26 insertions(+)
diff --git a/docs/cli/explanations/env.mdx b/docs/cli/explanations/env.mdx
index 982754ae7..3e8add5bd 100644
--- a/docs/cli/explanations/env.mdx
+++ b/docs/cli/explanations/env.mdx
@@ -27,6 +27,30 @@ If the environment variable is not set, it'll default to "https://sourcegraph.co
To create an access token, please refer to "[Creating an access token](/cli/how-tos/creating-an-access-token)".
+## Reusing the current `src` credential in scripts
+
+If you have already authenticated with `src login`, or you have `SRC_ACCESS_TOKEN` set, you can reuse the active credential from shell scripts:
+
+- `src auth token` prints the raw token value.
+- `src auth token --header` prints a complete `Authorization` header using the correct scheme for the current auth mode.
+
+When `src` is using an access token, `--header` prints `Authorization: token ...`. When `src` is using OAuth, it prints `Authorization: Bearer ...`.
+
+Use `src auth token` when another tool expects only the token value. For example, to populate the `YOUR_ACCESS_TOKEN` environment variable used by the OpenCode MCP setup in [/api/mcp](/api/mcp):
+
+```sh
+export YOUR_ACCESS_TOKEN="$(src auth token)"
+```
+
+Use `src auth token --header` when another command expects a complete `Authorization` header:
+
+```sh
+curl -H "$(src auth token --header)" \
+ -H "Content-Type: application/json" \
+ -d '{"query":"query { currentUser { username } }"}' \
+ "$SRC_ENDPOINT/.api/graphql"
+```
+
## Adding request headers with `SRC_HEADER_` (Proxy Authentication with `src`)
If your instance is behind an authenticating proxy that requires additional headers, they can be supplied via environment variables. Any environment variable passed starting with the string `SRC_HEADER_{string-A}="String-B"` will be passed into the request with form `String-A: String-B`. See examples below:
diff --git a/docs/cli/quickstart.mdx b/docs/cli/quickstart.mdx
index 59958140f..021a0e42b 100644
--- a/docs/cli/quickstart.mdx
+++ b/docs/cli/quickstart.mdx
@@ -55,6 +55,8 @@ For other options, please refer to [the Windows specific `src` documentation](/c
`src login` supports interactive OAuth login, so you can sign in without creating or exporting a `SRC_ACCESS_TOKEN`.
+If you need to reuse the current `src` credential in another command, `src auth token` prints the raw token and `src auth token --header` prints a complete `Authorization` header for the active authentication mode.
+
If you need non-interactive authentication, such as in CI or scripts, you can still use `SRC_ENDPOINT` and `SRC_ACCESS_TOKEN`.
## Run a code search
From b83028e191a140055511f9cecac70a92ff11ca3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kie=C5=82bowicz?=
Date: Thu, 19 Mar 2026 13:44:43 +0100
Subject: [PATCH 049/217] Update code navigation features docs (#1695)
- Replaced outdated screenshots and GIFs with new assets uploaded to GCS
- Replaced "Ask Cody" section with "Deep Search"
- Rename 'popover' terminology to 'hover' across code navigation docs
---
docs/code-navigation/features.mdx | 102 +++++++-----------
docs/code-navigation/index.mdx | 4 +-
docs/code-navigation/rockskip.mdx | 6 +-
.../executors/deploy-executors-terraform.mdx | 2 +-
4 files changed, 46 insertions(+), 68 deletions(-)
diff --git a/docs/code-navigation/features.mdx b/docs/code-navigation/features.mdx
index c4fb8bcd9..aeb3e25e7 100644
--- a/docs/code-navigation/features.mdx
+++ b/docs/code-navigation/features.mdx
@@ -5,69 +5,33 @@
core functionality.
-Using our [integrations](/integration/), all code navigation features are available everywhere you read code. This includes browsers and GitHub pull requests.
+## Hover
-
+Hovers allow you to quickly glance at the type signature and accompanying documentation of a symbol definition without having to context switch to another source file (which may or may not be available while browsing code).
-## Popover
-
-Popovers allow you to quickly glance at the type signature and accompanying documentation of a symbol definition without having to context switch to another source file (which may or may not be available while browsing code).
-
-
+
## Go to definition
-When you click on the **Go to definition** button in the popover or click on a symbol's name (in the sidebar or code view), you will be navigated directly to the definition of the symbol.
+When you click on the **Go to definition** button in the hover or click on a symbol's name (in the sidebar or code view), you will be navigated directly to the definition of the symbol.
-
+
## Find references
-When you select **Find references** from the popover, a panel at the bottom of the page lists all references, definitions, and implementations found for both precise and search-based results (from search heuristics).
-
-
-
-When a particular token returns a large number of references, we truncate the results to < 500 to optimize for browser loading speed. We are planning to improve this in the future with the ability to view it as a search so that users can utilize the powerful filtering of Sourcegraph's search to find the references they are looking for.
-
-## Dependency navigation
-
-
- This feature is in Beta stage and is not available for other language
- ecosystems.
-
-
-Dependency navigation enables **Find references** and **Go to definition** to show usages across multiple repositories, including transitive dependencies.
-
-For example, the animation below demonstrates how to trigger **Find references** in the `github.com/Netflix/Hystrix` repository and navigate to results in the Java standard library (JDK).
-
-
-
-The instructions to set up dependency navigation require you to set up auto-indexing. For more information on how to set up auto-indexing, please refer to our [auto-indexing documentation](/code-navigation/auto-indexing).
-
-## Find implementations
-
-If precise code navigation is enabled for your repositories, you can click **Find Implementations** to navigate to a symbol's interface definition. If you're at the interface definition itself, clicking on **Find Implementations** will show all the places where the interface is being implemented, allowing you to explore how other users across repositories use it. It can also show which interfaces a struct implements.
-
-
-
-
- Read [here](/code-navigation/writing-an-indexer#quick-reference) for an
- overview of which languages support this feature.
-
-
-## Perform an Action
-
-Code Search allows you to harness the power of Search and quickly find, discover, and understand code. However, the end result isn't always to view the results of a search query. Code Search empowers you to perform an action given a set of results.
-
-
-
-When browsing code, you can perform the following actions:
-
-### Ask Cody
-
-Cody is a free and open-core AI coding assistant that writes, fixes, and maintains your code and is available on Sourcegraph. It allows you to ask natural language questions about your code and receive intelligent suggestions and explanations.
-
-When browsing code on Sourcegraph, you can ask Cody a question by clicking the **Ask Cody** button above the file you are viewing. This will open a chat interface where you can have a conversation with Cody about the code you are viewing.
+When you select **Find references** from the hover, a panel at the bottom of the page lists all references, definitions, and implementations found for both precise and search-based results (from search heuristics).
-Having Cody integrated directly into Sourcegraph code search makes it fast and easy to get AI-powered insights as you explore code.
+When a particular token returns a large number of references, we truncate the results to < 500 to optimize for browser loading speed. We are planning to improve this in the future with the ability to view it as a search so that users can utilize the powerful filtering of Sourcegraph's search to find the references they are looking for.
+
+## Perform an Action
+
+Code Search allows you to harness the power of Search and quickly find, discover, and understand code. However, the end result isn't always to view the results of a search query. Code Search empowers you to perform an action given a set of results.
+
+
+
+When browsing code, you can perform the following actions:
+
+### Deep Search
+
+[Deep Search](/deep-search) is an agentic code search tool that understands natural language questions about your codebase. When browsing code on Sourcegraph, you can open Deep Search from the sidebar to ask questions about the code you are viewing.
+
+Deep Search performs an in-depth search across your codebase and returns a detailed, sourced answer. You can continue the conversation with follow-up questions to dive deeper into relevant code.
+
+
### Open in Editor
@@ -104,7 +84,7 @@ When you click this button, a sidebar will open showing every commit that touche
- Date
- Commit SHA
-
+
You can click on any commit to view the full diff and see exactly what changed in that particular version of the file.
@@ -123,7 +103,7 @@ When you click this button on a file, blame information will be displayed inline
- The commit message
- The timestamp of when it was changed
-
+
Using blame makes it easy to answer questions like:
@@ -141,11 +121,9 @@ The Open in CodeHost button allows you to quickly view the file in its native co
For example, if you are viewing a file from a GitHub repository in Sourcegraph, clicking Open in CodeHost will open `GitHub.com` in a new tab with that file displayed.
-### Copy Link
-
-The Copy Link action allows you to easily copy a permanent link to the exact line range you are viewing in Sourcegraph. When you click this button, the link is copied to your clipboard. You can then paste the link in any text field or document.
+### Permalink
-
+The Permalink action allows you to easily copy a link to the exact line range you are viewing in Sourcegraph. When you click this button, the link is copied to your clipboard. You can then paste the link in any text field or document.
### Raw download
diff --git a/docs/code-navigation/index.mdx b/docs/code-navigation/index.mdx
index feb874099..83444757b 100644
--- a/docs/code-navigation/index.mdx
+++ b/docs/code-navigation/index.mdx
@@ -68,9 +68,9 @@ Code Navigation helps you with the following tasks:
| **Feature** | **Description** |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [Popover](/code-navigation/features#popover) | Quickly view a symbol's type signature and documentation without switching to another source file |
+| [Hover](/code-navigation/features#hover) | Quickly view a symbol's type signature and documentation without switching to another source file |
| [Go to definition](/code-navigation/features#go-to-definition) | Click the button or symbol name, navigates you to the symbol's definition |
-| [Find references](/code-navigation/features#find-references) | Selecting it in the popover lists all references, definitions, and implementations at the bottom, including precise and search-based results |
+| [Find references](/code-navigation/features#find-references) | Selecting it in the hover lists all references, definitions, and implementations at the bottom, including precise and search-based results |
| [Find implementations](/code-navigation/features#find-implementations) | Click to go to a symbol's interface definition or, at the interface, see all implementations across repositories, including interfaces implemented by a struct |
| [Perform an action](/code-navigation/features#perform-an-action) | When browsing code, you can perform a couple of actions like open in code host, raw download and view blame. |
diff --git a/docs/code-navigation/rockskip.mdx b/docs/code-navigation/rockskip.mdx
index 8c4d1c7eb..85a4ea0b9 100644
--- a/docs/code-navigation/rockskip.mdx
+++ b/docs/code-navigation/rockskip.mdx
@@ -8,9 +8,9 @@ Rockskip is an alternative symbol indexing and query engine for the symbol servi

-
+
-If you regularly see the above error or slow hover popovers (when not using precise navigation), it probably means that the default implementation (which copies SQLite DBs for each commit) is not fast enough and that Rockskip might help.
+If you regularly see the above error or slow hovers (when not using precise navigation), it probably means that the default implementation (which copies SQLite DBs for each commit) is not fast enough and that Rockskip might help.
A very rough way to gauge if Rockskip will help is if your repository has a 2GB+ `.git` directory, 50K+ commits, or 50K+ files in the working tree.
@@ -78,7 +78,7 @@ For all deployments, make sure that:
**Step 3:** Wait for indexing to complete. You can check the status as before by refreshing the page, opening the symbols sidebar, and looking at the error message. If you are interested in more technical details about the status, see the [instructions below](#how-do-i-check-the-indexing-status).
-**Step 4:** Open the symbols sidebar again and the symbols should appear quickly. Hover popovers and jump-to-definition via search-based code navigation should also respond quickly.
+**Step 4:** Open the symbols sidebar again and the symbols should appear quickly. Hovers and jump-to-definition via search-based code navigation should also respond quickly.
That's it! New commits will be indexed automatically when users visit them.
diff --git a/docs/self-hosted/executors/deploy-executors-terraform.mdx b/docs/self-hosted/executors/deploy-executors-terraform.mdx
index dab9ed0ac..dbb2b6bbc 100644
--- a/docs/self-hosted/executors/deploy-executors-terraform.mdx
+++ b/docs/self-hosted/executors/deploy-executors-terraform.mdx
@@ -281,7 +281,7 @@ you@sourcegraph-executor-h0rv:~$ curl
- Try setting a higher update frequency: `PRECISE_CODE_INTEL_AUTO_INDEXING_TASK_INTERVAL=10s`
- Try setting a lower delay: `PRECISE_CODE_INTEL_AUTO_INDEXING_REPOSITORY_PROCESS_DELAY=10s`
7. Once you have a completed indexing job, click **Uploads** and check to see that an index has been uploaded.
-8. Once the index has been uploaded, you should see the **`PRECISE`** badge in the hover popover! 🎉
+8. Once the index has been uploaded, you should see the **`PRECISE`** badge in the hover! 🎉
## Auto-scaling
From 6a9f509ae2791815483897678cc0184c3f0edff6 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 19 Mar 2026 15:55:52 -0700
Subject: [PATCH 050/217] jaeger docs update (#1698)
Updates to the jaeger instructions for self hosted customers on helm
Associated to
https://github.com/sourcegraph/deploy-sourcegraph-helm/pull/841
---
docs/self-hosted/deploy/kubernetes/index.mdx | 31 ++++++++++++++++++++
docs/self-hosted/observability/tracing.mdx | 2 ++
2 files changed, 33 insertions(+)
diff --git a/docs/self-hosted/deploy/kubernetes/index.mdx b/docs/self-hosted/deploy/kubernetes/index.mdx
index 57ebb7320..da0f0e54b 100644
--- a/docs/self-hosted/deploy/kubernetes/index.mdx
+++ b/docs/self-hosted/deploy/kubernetes/index.mdx
@@ -395,6 +395,37 @@ jaeger:
enabled: true
```
+#### Customize Jaeger configuration
+
+Starting with Sourcegraph 7.1.0, the bundled Jaeger instance uses an [OpenTelemetry Collector-style YAML configuration](https://www.jaegertracing.io/docs/2.16/configuration/) instead of CLI flags. Common settings are exposed through the `jaeger.config` Helm value.
+
+You can override these settings in your Helm values override file. For example, to increase the maximum number of in-memory traces:
+
+```yaml
+jaeger:
+ enabled: true
+ config:
+ maxTraces: 50000
+```
+
+Or using `--set` on the command line:
+
+```bash
+helm upgrade sourcegraph sourcegraph/sourcegraph \
+ --set jaeger.config.maxTraces=50000
+```
+
+The available configuration options are:
+
+| Value | Default | Description |
+| --- | --- | --- |
+| `jaeger.config.maxTraces` | `20000` | Maximum number of traces stored in memory |
+| `jaeger.config.logLevel` | `info` | Log level (`debug`, `info`, `warn`, `error`) |
+| `jaeger.config.samplingDefaultProbability` | `1.0` | Default sampling probability (0.0–1.0) returned to services that query Jaeger for sampling config |
+| `jaeger.config.existingConfigMap` | `""` | Name of a pre-existing ConfigMap containing a `jaeger-config.yaml` key. When set, the chart skips creating its own ConfigMap and uses yours instead |
+
+For advanced customization beyond these options, set `jaeger.config.existingConfigMap` to the name of your own ConfigMap containing a full `jaeger-config.yaml` key. See the [Jaeger v2 configuration reference](https://www.jaegertracing.io/docs/2.16/configuration/) for all available options.
+
#### Configure OpenTelemetry Collector to use an external tracing backend
To configure the bundled otel-collector to export traces to an external OTEL-compatible backend, you you can customize the otel-collector's config file directly in your Helm values `override.yaml` file.
diff --git a/docs/self-hosted/observability/tracing.mdx b/docs/self-hosted/observability/tracing.mdx
index ed0cefcb3..9fb8af414 100644
--- a/docs/self-hosted/observability/tracing.mdx
+++ b/docs/self-hosted/observability/tracing.mdx
@@ -20,6 +20,8 @@ To deploy our bundled Jaeger backend, follow the instructions for your deploymen
- [Kubernetes with Kustomize](/self-hosted/deploy/kubernetes/configure#deploy-the-bundled-opentelemetry-collector-and-jaeger)
- [Docker Compose](/self-hosted/deploy/docker-compose/configuration#deploy-the-bundled-jaeger)
+For Helm deployments, you can also [customize the Jaeger configuration](/self-hosted/deploy/kubernetes#customize-jaeger-configuration) (e.g., `max_traces`, sampling, log level) directly through Helm values.
+
Then configure your Site Configuration:
1. Ensure your `externalURL` is configured
From 14ea7fbfe01d1753b20ed7941a03458e06a014ea Mon Sep 17 00:00:00 2001
From: Michael Bahr <1830132+bahrmichael@users.noreply.github.com>
Date: Fri, 20 Mar 2026 11:14:17 +0100
Subject: [PATCH 051/217] docs(batch-changes): clarify default-branch behavior
for repositoriesMatchingQuery (#1702)
This PR updates the docs/descriptions to clarify that SSBC doesn't read
the branch from the repositoriesMatchingQuery field. While src-cli may
still support this behavior, I think the right path forward is to
reflect what SSBC can do.
See
https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/24222
and
https://github.com/sourcegraph/sourcegraph-public-snapshot/pull/28168
for implementation details.
Co-authored-by: Amp
---
docs/batch-changes/batch-spec-yaml-reference.mdx | 8 ++++++--
docs/batch-changes/faq.mdx | 6 ++++++
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/docs/batch-changes/batch-spec-yaml-reference.mdx b/docs/batch-changes/batch-spec-yaml-reference.mdx
index 5a28ebdfd..b4176fbda 100644
--- a/docs/batch-changes/batch-spec-yaml-reference.mdx
+++ b/docs/batch-changes/batch-spec-yaml-reference.mdx
@@ -68,7 +68,9 @@ description: |
## `on`
-The set of repositories (and branches) on which the batch change would run. It's specified as a list of search queries (that match repositories) and specific repositories.
+The set of repositories on which the batch change would run. It's specified as a list of search queries (that match repositories) and specific repositories.
+
+Repositories matched by [`on.repositoriesMatchingQuery`](#onrepositoriesmatchingquery) run on each repository's default branch unless overridden by a more specific [`on.repository`](#onrepository) entry that sets `branch` or `branches`.
### Examples
@@ -80,7 +82,9 @@ on:
## `on.repositoriesMatchingQuery`
-A Sourcegraph search query that matches a set of repositories (and branches). Each matched repository branch is added to the list of repositories on which the batch change will run.
+A Sourcegraph search query that matches a set of repositories. Each matched repository is added to the list of repositories on which the batch change will run.
+
+Matched repositories run on their default branch. Branch selectors in the search query are used to find repositories, but do not set the target branch for the batch change. To target non-default branches, add explicit [`on.repository`](#onrepository) entries with `branch` or `branches`.
Your search query should answer the question, "Where do I want to run this batch change?". Search result matches for things like commits, symbols, or file owners will be ignored.
diff --git a/docs/batch-changes/faq.mdx b/docs/batch-changes/faq.mdx
index 06d53b8a4..452759d61 100644
--- a/docs/batch-changes/faq.mdx
+++ b/docs/batch-changes/faq.mdx
@@ -194,6 +194,12 @@ Sourcegraph search shows you results on any repositories that you have read acce
This disparity most often stems from needing write access to one or more of the repositories where your search query returns results. Consider asking an admin to set up a [global service account token](/batch-changes/configuring-credentials#global-service-account-tokens) if your batch change must update all matching repositories.
+## Why does `repositoriesMatchingQuery` with `repo:...@branch` still run on the default branch?
+
+`on.repositoriesMatchingQuery` selects repositories to include in the batch change. For server-side batch changes, each matched repository runs on its default branch unless a more specific `on.repository` entry sets `branch` or `branches`.
+
+If you need to target non-default branches, add explicit `on.repository` entries with `branch` or `branches`.
+
## Why is my batch change preview hanging?
When working with `src,` there are occurrences where applying your batch spec might get stuck on a particular step. More so in the `Determining workspace type` step. The `Determining workspace type` is a simple step that decides if bind or volume modes should be used based on the command line flags and the OS and architecture.
From 0125779448bbd6795c4bf9c13755b8d5a3a51ea5 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Fri, 20 Mar 2026 10:33:33 -0700
Subject: [PATCH 052/217] remove amp from SLA doc as well as mention of 24x7
SLA (#1705)
---
docs/sla/index.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/sla/index.mdx b/docs/sla/index.mdx
index 597a33bb3..1e7e79e3d 100644
--- a/docs/sla/index.mdx
+++ b/docs/sla/index.mdx
@@ -17,7 +17,7 @@ While we always strive to respond to your issues as quickly as possible, our SLA
The following policy applies to both our cloud-based (managed instance) and on-premise/self-hosted Sourcegraph customers:
-## For Sourcegraph Enterprise & Amp Enterprise Premium plans
+## For Sourcegraph Enterprise plans
| Severity level | Description | Response time | Support availability |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -------------------- |
@@ -26,7 +26,7 @@ The following policy applies to both our cloud-based (managed instance) and on-p
| 2 | Medium impact: Core features are unavailable or somewhat slowed; workaround exists | Within eight business hours of identifying the issue | 24x5 (Monday-Friday) |
| 3 | Minimal impact: Questions or clarifications regarding features, documentation, or deployments | Within two business days of identifying the issue | 24x5 (Monday-Friday) |
-> NOTE: Premium support with enhanced SLAs can be added to your Enterprise plans as an add-on. Our business hours, defined as Sunday 2 PM PST to Friday 5 PM PST, align with our 24x5 support coverage.
+> NOTE: Our business hours, defined as Sunday 2 PM PST to Friday 5 PM PST, align with our 24x5 support coverage.
### All other paid plans
From 3655d5e8e1794cc6134872c4fa805ebe39e1d73f Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Fri, 20 Mar 2026 11:32:41 -0700
Subject: [PATCH 053/217] telemetry: document eventsQueuedForExport (#1699)
Closes
https://linear.app/sourcegraph/issue/SVC-2147/v2t-better-advertise-export-privacy-guarantees
---
docs/admin/telemetry/index.mdx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/docs/admin/telemetry/index.mdx b/docs/admin/telemetry/index.mdx
index cb9c1996f..eaa2e9140 100644
--- a/docs/admin/telemetry/index.mdx
+++ b/docs/admin/telemetry/index.mdx
@@ -22,7 +22,7 @@ Some of the measures we take to ensure privacy and data security include:
3. For all other properties, we use a well-defined data structure (available in the [Telemetry protocol reference](/admin/telemetry/protocol)) to ensure that we never export sensitive data. Changes to this data structure and data collection implementations are carefully monitored and reviewed.
4. Data is encrypted while in transit from each Sourcegraph instance to Sourcegraph.
-Recently exported events can be retrieved via the [debug console](/api/graphql) for review.
+Exported events can be retrieved via the [debug console](/api/graphql) for review.
You can find the API console at any time by going to **Settings**, and then clicking **Debug console** from the left sidebar, or by visiting it directly at `/debug/console`. Use the following query:
```gql
@@ -33,6 +33,12 @@ query {
payload
}
}
+ # Added in https://sourcegraph.com/changelog/releases/7.0.2178
+ eventsQueuedForExport(first: 5) {
+ nodes {
+ payload
+ }
+ }
}
}
```
From 96978a1a042eaeebbcfac332379a7c138d774a77 Mon Sep 17 00:00:00 2001
From: Travis Lyons
Date: Wed, 25 Mar 2026 16:14:02 -0400
Subject: [PATCH 054/217] mcp: simplify MCP documentation (#1712)
move client-integrations to a separate page:
- reduce the amount of content on the MCP landing page as more clients
are added
remove 'example usage'
- these were raw MCP tool call schemas, not particularly relevant to how
a user will interact with MCP via an agent
made 'getting started' the first section on the MCP page
---
docs/api/mcp/client-integrations.mdx | 283 ++++++++++++++++++++
docs/api/mcp/index.mdx | 381 ++-------------------------
src/data/navigation.ts | 5 +-
3 files changed, 316 insertions(+), 353 deletions(-)
create mode 100644 docs/api/mcp/client-integrations.mdx
diff --git a/docs/api/mcp/client-integrations.mdx b/docs/api/mcp/client-integrations.mdx
new file mode 100644
index 000000000..ad95ce6e2
--- /dev/null
+++ b/docs/api/mcp/client-integrations.mdx
@@ -0,0 +1,283 @@
+# Client Integrations
+
+
+ Set up the Sourcegraph MCP server with your preferred AI coding tool or IDE.
+
+
+
+ Supported on [Enterprise](/pricing/plans/enterprise) plans.
+
+
+## Supported Clients
+
+- [Amp](#amp)
+- [Claude Code](#claude-code)
+- [Google Gemini Code Assist](#google-gemini-code-assist)
+- [VS Code](#vs-code)
+ - [Cursor](#cursor)
+ - [Antigravity](#antigravity)
+ - [Windsurf](#windsurf)
+- [OpenCode](#opencode)
+
+### Amp
+
+You can add the Sourcegraph MCP server to [Amp](https://ampcode.com) in two ways:
+
+#### Option 1: VSCode settings.json
+
+1. Open VSCode's `settings.json` file.
+2. Add the following configuration:
+
+ ```json
+ {
+ "amp.mcpServers": {
+ "sourcegraph": {
+ "url": "https://your-sourcegraph-instance.com/.api/mcp",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN"
+ }
+ }
+ }
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+4. Restart VS Code to apply the new configuration.
+
+#### Option 2: Amp CLI
+
+Run the following command in your terminal:
+
+```bash
+amp mcp add sourcegraph --header "Authorization=token YOUR_ACCESS_TOKEN" https://sourcegraph.sourcegraph.com/.api/mcp
+```
+
+
+ Replace `sourcegraph.sourcegraph.com` with your Sourcegraph instance URL and
+ set `YOUR_ACCESS_TOKEN` environment variable to your access token.
+
+
+### Claude Code
+
+You can add the Sourcegraph MCP server to [Claude Code](https://claude.ai/code) in two ways:
+
+#### Option 1: Project-scoped server (via .mcp.json file)
+
+1. Create a `.mcp.json` file in your project root if it doesn't exist.
+2. Add the following configuration:
+
+ ```json
+ {
+ "mcpServers": {
+ "sourcegraph": {
+ "type": "http",
+ "url": "https://your-sourcegraph-instance.com/.api/mcp",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN"
+ }
+ }
+ }
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+4. Restart Claude Code to apply the new configuration.
+
+#### Option 2: Locally-scoped server (via CLI command)
+
+You can also add the Sourcegraph MCP server as a locally-scoped server, which is only available to you in the current project:
+
+1. Run the following command in your terminal:
+
+ ```bash
+ claude mcp add --transport http sourcegraph https://your-sourcegraph-instance.com/.api/mcp \
+ --header "Authorization: token YOUR_ACCESS_TOKEN"
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+Locally-scoped servers take precedence over project-scoped servers with the same name and are stored in your project-specific user settings.
+
+### Google Gemini Code Assist
+
+You can add the Sourcegraph MCP server to Google Gemini Code Assist by configuring the `.gemini/settings.json` file:
+
+1. Open or create the configuration file at `~/.gemini/settings.json` (or the equivalent path on your system).
+2. Add the following configuration:
+
+ ```json
+ {
+ "mcpServers": {
+ "sourcegraph": {
+ "httpUrl": "https://your-sourcegraph-instance.com/.api/mcp",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN"
+ }
+ }
+ }
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+4. Restart Gemini Code Assist to apply the new configuration.
+
+### VS Code
+
+You can add the Sourcegraph MCP server to VS Code in one of two ways:
+
+#### Option 1: `code` CLI
+
+1. Run the following command to add the MCP server to the global configuration
+
+```bash
+code --add-mcp "{ \"name\": \"sourcegraph\", \"type\": \"remote\", \"url\": \"https://your-sourcegraph-instance.com/.api/mcp\" }"
+```
+
+2. Launch or restart VS Code to apply the new configuration.
+
+#### Option 2: VSCode `mcp.json`
+
+1. Create `.vscode/mcp.json` in your project.
+2. Add the following configuration:
+
+ ```json
+ {
+ "servers": {
+ "sourcegraph": {
+ "type": "http",
+ "url": "https://your-sourcegraph-instance.com/.api/mcp"
+ }
+ },
+ "inputs": []
+ }
+ ```
+
+3. Save the configuration file.
+4. Restart VS Code to apply the new configuration.
+
+#### Cursor
+
+1. Open or create the MCP configuration file at `~/.cursor/mcp.json` (or the equivalent path on your system).
+2. Add the following:
+
+ ```json
+ {
+ "mcpServers": {
+ "sourcegraph": {
+ "url": "https://your-sourcegraph-instance.com/.api/mcp",
+ "type": "http",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN"
+ }
+ }
+ }
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+4. Restart Cursor to apply the new configuration.
+
+#### Antigravity
+
+1. Create `.vscode/mcp.json` (Antigravity uses `.vscode` for configs) in your project.
+2. Add the following:
+
+ ```json
+ {
+ "servers": {
+ "sourcegraph": {
+ "url": "https://your-sourcegraph-instance.com/.api/mcp",
+ "type": "http",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN"
+ }
+ }
+ },
+ "inputs": []
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+#### Windsurf
+
+1. Create `~/.codeium/windsurf/mcp_config.json`.
+2. Add the following:
+
+ ```json
+ {
+ "mcpServers": {
+ "sourcegraph": {
+ "serverUrl": "https://your-sourcegraph-instance.com/.api/mcp",
+ "headers": {
+ "Authorization": "token YOUR_ACCESS_TOKEN",
+ "Content-Type": "application/json"
+ }
+ }
+ }
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+
+### OpenCode
+
+You can add the Sourcegraph MCP server to OpenCode by configuring it in your MCP settings file:
+
+1. Open or create the MCP configuration file at `~/.config/opencode/opencode.jsonc` (or the equivalent path on your system).
+2. Add the following configuration:
+
+ ```json
+ {
+ "mcp": {
+ "sourcegraph": {
+ "type": "remote",
+ "url": "https://your-sourcegraph-instance.com/.api/mcp",
+ "oauth": false,
+ "headers": {
+ "Authorization": "token {env:YOUR_ACCESS_TOKEN}"
+ }
+ }
+ },
+ "$schema": "https://opencode.ai/config.json"
+ }
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL and `YOUR_ACCESS_TOKEN` with your access token.
+
+
+3. Save the configuration file.
+4. Restart OpenCode to apply the changes.
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index f45ae0b1e..507b05dad 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -15,37 +15,39 @@ seoPriority: 1.0
The Sourcegraph Model Context Protocol (MCP) Server provides AI agents and applications with programmatic access to your Sourcegraph instance's code search, navigation, and analysis capabilities through a standardized interface.
-## Server Endpoints
-
-The MCP server provides different tool suites for various use cases:
-
-| Endpoint | Description |
-|----------|-------------|
-| `/.api/mcp` | Full suite of Sourcegraph tools |
-| `/.api/mcp/deepsearch` | Deep Search agent |
-
-Example URL:
-
-```
-https://your-sourcegraph-instance.com/.api/mcp
-```
-
## Getting Started
MCP clients that support OAuth can connect directly—just point them at your Sourcegraph instance and authenticate through your browser:
**[Amp](https://ampcode.com/)**
+
```bash
amp mcp add sg https://sourcegraph.example.com/.api/mcp
```
**[Claude Code](https://www.claude.com/product/claude-code)**
+
```bash
claude mcp add --transport http sg https://sourcegraph.example.com/.api/mcp
```
This works similarly for other MCP-compatible agents. See [Client Integration](#client-integration) for detailed setup instructions for each client.
+## Server Endpoints
+
+The MCP server provides different tool suites for various use cases:
+
+| Endpoint | Description |
+| ---------------------- | ------------------------------- |
+| `/.api/mcp` | Full suite of Sourcegraph tools |
+| `/.api/mcp/deepsearch` | Deep Search agent |
+
+Example URL:
+
+```
+https://your-sourcegraph-instance.com/.api/mcp
+```
+
## Authentication
The MCP server supports OAuth 2.0 and access token authentication.
@@ -102,297 +104,17 @@ To disable DCR, set the following site configuration:
### Access Tokens
-Alternatively, include an access token in the Authorization header:
+Alternatively, include a [Sourcegraph access token](/cli/how-tos/creating-an-access-token) in the Authorization header:
```
Authorization: token YOUR_ACCESS_TOKEN
```
-Access tokens can use the `mcp` scope to restrict access to MCP endpoints only.
-
-## Client Integration
-
-The Sourcegraph MCP server can be integrated with various AI tools and IDEs that support the Model Context Protocol.
-
-### Supported Clients
-
-- [Amp](#amp)
-- [Claude Code](#claude-code)
-- [Google Gemini Code Assist](#google-gemini-code-assist)
-- [VS Code](#vs-code)
- - [Cursor](#cursor)
- - [Antigravity](#antigravity)
- - [Windsurf](#windsurf)
-- [OpenCode](#opencode)
-
-### Amp
-
-
- To create an access token, visit [Creating an access
- token](/cli/how-tos/creating-an-access-token).
-
-
-You can add the Sourcegraph MCP server to [Amp](https://ampcode.com) in two ways:
-
-#### Option 1: VSCode settings.json
-
-1. Open VSCode's `settings.json` file.
-2. Add the following configuration:
-
- ```json
- {
- "amp.mcpServers": {
- "sourcegraph": {
- "url": "https://your-sourcegraph-instance.com/.api/mcp",
- "headers": {
- "Authorization": "token YOUR_ACCESS_TOKEN"
- }
- }
- }
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-3. Save the configuration file.
-4. Restart VS Code to apply the new configuration.
-
-#### Option 2: Amp CLI
-
-Run the following command in your terminal:
-
-```bash
-amp mcp add sourcegraph --header "Authorization=token YOUR_ACCESS_TOKEN" https://sourcegraph.sourcegraph.com/.api/mcp
-```
-
- Replace `sourcegraph.sourcegraph.com` with your Sourcegraph instance URL and
- set `YOUR_ACCESS_TOKEN` environment variable to your access token.
+ Access tokens can use the `mcp` scope to restrict access to MCP endpoints
+ only.
-### Claude Code
-
-You can add the Sourcegraph MCP server to [Claude Code](https://claude.ai/code) in two ways:
-
-#### Option 1: Project-scoped server (via .mcp.json file)
-
-1. Create a `.mcp.json` file in your project root if it doesn't exist.
-2. Add the following configuration:
-
- ```json
- {
- "mcpServers": {
- "sourcegraph": {
- "type": "http",
- "url": "https://your-sourcegraph-instance.com/.api/mcp",
- "headers": {
- "Authorization": "token YOUR_ACCESS_TOKEN"
- }
- }
- }
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-3. Save the configuration file.
-4. Restart Claude Code to apply the new configuration.
-
-#### Option 2: Locally-scoped server (via CLI command)
-
-You can also add the Sourcegraph MCP server as a locally-scoped server, which is only available to you in the current project:
-
-1. Run the following command in your terminal:
-
- ```bash
- claude mcp add --transport http sourcegraph https://your-sourcegraph-instance.com/.api/mcp \
- --header "Authorization: token YOUR_ACCESS_TOKEN"
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-Locally-scoped servers take precedence over project-scoped servers with the same name and are stored in your project-specific user settings.
-
-### Google Gemini Code Assist
-
-You can add the Sourcegraph MCP server to Google Gemini Code Assist by configuring the `.gemini/settings.json` file:
-
-1. Open or create the configuration file at `~/.gemini/settings.json` (or the equivalent path on your system).
-2. Add the following configuration:
-
- ```json
- {
- "mcpServers": {
- "sourcegraph": {
- "httpUrl": "https://your-sourcegraph-instance.com/.api/mcp",
- "headers": {
- "Authorization": "token YOUR_ACCESS_TOKEN"
- }
- }
- }
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-3. Save the configuration file.
-4. Restart Gemini Code Assist to apply the new configuration.
-
-### VS Code
-
-You can add the Sourcegraph MCP server to VS Code in one of two ways:
-
-#### Option 1: `code` CLI
-
-1. Run the following command to add the MCP server to the global configuration
-
-```bash
-code --add-mcp "{ \"name\": \"sourcegraph\", \"type\": \"remote\", \"url\": \"https://your-sourcegraph-instance.com/.api/mcp\" }"
-```
-
-2. Launch or restart VS Code to apply the new configuration.
-
-#### Option 2: VSCode `mcp.json`
-
-1. Create `.vscode/mcp.json` in your project.
-2. Add the following configuration:
-
- ```json
- {
- "servers": {
- "sourcegraph": {
- "type": "http",
- "url": "https://your-sourcegraph-instance.com/.api/mcp",
- }
- },
- "inputs": []
- }
- ```
-
-3. Save the configuration file.
-4. Restart VS Code to apply the new configuration.
-
-#### Cursor
-
-1. Open or create the MCP configuration file at `~/.cursor/mcp.json` (or the equivalent path on your system).
-2. Add the following:
-
- ```json
- {
- "mcpServers": {
- "sourcegraph": {
- "url": "https://your-sourcegraph-instance.com/.api/mcp",
- "type": "http",
- "headers": {
- "Authorization": "token YOUR_ACCESS_TOKEN"
- }
- }
- }
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-3. Save the configuration file.
-4. Restart Cursor to apply the new configuration.
-
-#### Antigravity
-
-1. Create `.vscode/mcp.json` (Antigravity uses `.vscode` for configs) in your project.
-2. Add the following:
-
- ```json
- {
- "servers": {
- "sourcegraph": {
- "url": "https://your-sourcegraph-instance.com/.api/mcp",
- "type": "http",
- "headers": {
- "Authorization": "token YOUR_ACCESS_TOKEN"
- }
- }
- },
- "inputs": []
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-#### Windsurf
-
-1. Create `~/.codeium/windsurf/mcp_config.json`.
-2. Add the following:
-
- ```json
- {
- "mcpServers": {
- "sourcegraph": {
- "serverUrl": "https://your-sourcegraph-instance.com/.api/mcp",
- "headers": {
- "Authorization": "token YOUR_ACCESS_TOKEN",
- "Content-Type": "application/json"
- }
- }
- }
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-3. Save the configuration file.
-
-### OpenCode
-
-You can add the Sourcegraph MCP server to OpenCode by configuring it in your MCP settings file:
-
-1. Open or create the MCP configuration file at `~/.config/opencode/opencode.jsonc` (or the equivalent path on your system).
-2. Add the following configuration:
-
- ```json
- {
- "mcp": {
- "sourcegraph": {
- "type": "remote",
- "url": "https://your-sourcegraph-instance.com/.api/mcp",
- "oauth": false,
- "headers": {
- "Authorization": "token {env:YOUR_ACCESS_TOKEN}"
- }
- }
- },
- "$schema": "https://opencode.ai/config.json"
- }
- ```
-
-
- Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
- URL and `YOUR_ACCESS_TOKEN` with your access token.
-
-
-3. Save the configuration file.
-4. Restart OpenCode to apply the changes.
-
## Available Tools
@@ -558,7 +280,11 @@ Find repositories where a contributor has made commits.
### Deep Search
- Admins can disable the `deepsearch` tool on the default and v1 MCP endpoints by setting the environment variable `SRC_MCP_DISABLE_DEEPSEARCH_TOOL=true` on the Sourcegraph instance. This does not affect `deepsearch_read` or the dedicated `/deepsearch` endpoint. This is a temporary measure available in 7.0 and will be replaced by a proper tool allowlist in a future release.
+ Admins can disable the `deepsearch` tool on the default and v1 MCP endpoints
+ by setting the environment variable `SRC_MCP_DISABLE_DEEPSEARCH_TOOL=true`
+ on the Sourcegraph instance. This does not affect `deepsearch_read` or the
+ dedicated `/deepsearch` endpoint. This is a temporary measure available in
+ 7.0 and will be replaced by a proper tool allowlist in a future release.
### `deepsearch`
@@ -567,7 +293,7 @@ Create a new Deep Search conversation to answer complex questions about your cod
**Parameters:**
- - `question` - The question to research using Deep Search (required). Should be detailed and specific about what you want to understand.
+- `question` - The question to research using Deep Search (required). Should be detailed and specific about what you want to understand.
**Use cases:** Comprehensive analysis of complex technical questions, multi-step research across one or many remote codebases, detailed explanations with supporting evidence, questions that require combining information from multiple sources
@@ -577,61 +303,12 @@ Read a Deep Search conversation and return the markdown content of the questions
**Parameters:**
-- `identifier` - The Deep Search conversation identifier (required). Can be:
- - A full Sourcegraph Deep Search URL (e.g., `https://sourcegraph.com/deepsearch/abc123` or `https://sourcegraph.com/deepsearch/shared/abc123`)
- - A read token (e.g., `abc123-def456-...`)
+- `identifier` - The Deep Search conversation identifier (required). Can be:
+ - A full Sourcegraph Deep Search URL (e.g., `https://sourcegraph.com/deepsearch/abc123` or `https://sourcegraph.com/deepsearch/shared/abc123`)
+ - A read token (e.g., `abc123-def456-...`)
**Use cases:** Reading or re-opening Deep Search results, summarizing existing answers, using past Deep Search as context for new questions
-## Usage Examples
-
-### Finding Authentication Code
-
-```json
-{
- "method": "tools/call",
- "params": {
- "name": "nls_search",
- "arguments": {
- "query": "authentication login user"
- }
- }
-}
-```
-
-### Reading a Specific File
-
-```json
-{
- "method": "tools/call",
- "params": {
- "name": "read_file",
- "arguments": {
- "repo": "github.com/myorg/myrepo",
- "path": "src/auth/login.go",
- "startLine": 1,
- "endLine": 50
- }
- }
-}
-```
-
-### Finding Recent Changes
-
-```json
-{
- "method": "tools/call",
- "params": {
- "name": "commit_search",
- "arguments": {
- "repos": ["github.com/myorg/myrepo"],
- "messageTerms": ["bug fix"],
- "after": "1 week ago"
- }
- }
-}
-```
-
## Best Practices
1. **Repository Scoping:** Use `list_repos` first to find relevant repositories for better performance
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index 3da1dab81..10157fc93 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -472,7 +472,10 @@ export const navigation: NavigationItem[] = [
},
{
title: 'MCP Server',
- href: '/api/mcp'
+ href: '/api/mcp',
+ sections: [
+ {title: 'Client Integrations', href: '/api/mcp/client-integrations'}
+ ]
}
]
},
From 0b7cfb68b4afbab36ca96cea4022914b4b50021b Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Wed, 25 Mar 2026 14:34:30 -0700
Subject: [PATCH 055/217] chore: remove mention of TA in analytics instructions
(#1700)
---
docs/analytics/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/analytics/index.mdx b/docs/analytics/index.mdx
index 3fc28b3b5..21d39528c 100644
--- a/docs/analytics/index.mdx
+++ b/docs/analytics/index.mdx
@@ -25,7 +25,7 @@ To get started, follow our [enablement instructions](#enablement-instructions).
To enable Sourcegraph Analytics for self-hosted or Cloud instances:
- Create an account on [Sourcegraph Accounts](https://accounts.sourcegraph.com/), or find the email address associated with your existing account.
-- Contact your Sourcegraph Technical Advisor or point of contact (or email us at support@sourcegraph.com if you don't know your contact), provide them with the email address you used to register above and ask for access to Sourcegraph Analytics.
+- Contact your Sourcegraph Customer Success Manager or point of contact (or email us at support@sourcegraph.com if you don't know your contact), provide them with the email address you used to register above and ask for access to Sourcegraph Analytics.
- They will validate your account and link it to your Sourcegraph Enterprise instance's usage metrics.
- Sign in to [Sourcegraph Analytics](https://analytics.sourcegraph.com).
From 5729c50061156be89689b0b05797665e5573c95d Mon Sep 17 00:00:00 2001
From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com>
Date: Thu, 26 Mar 2026 02:53:05 +0100
Subject: [PATCH 056/217] Fix markdown table formatting in incoming webhooks
doc (#1713)
Fixes the code host compatibility table in
`docs/admin/webhooks/incoming.mdx` to use proper markdown table syntax
with pipe delimiters.
| Before | After |
|---|---|
| | |
---
docs/admin/webhooks/incoming.mdx | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/docs/admin/webhooks/incoming.mdx b/docs/admin/webhooks/incoming.mdx
index 19fbdaba7..da5d3e194 100644
--- a/docs/admin/webhooks/incoming.mdx
+++ b/docs/admin/webhooks/incoming.mdx
@@ -10,14 +10,13 @@ Webhooks currently serve three purposes for reacting to external events:
See the table below for code host compatibility:
- Code host | Code push | [Batch changes](/batch-changes) | User permissions
-
------------------------------ | :----------------------------------------------: | :-------: | :--------------:
-GitHub | 🟢 | 🟢 | 🟢
-GitLab | 🟢 | 🟢 | 🔴
-Bitbucket Server / Datacenter | 🟢 | 🟢 | 🔴
-Bitbucket Cloud | 🟢 | 🟢 | 🔴
-Azure DevOps | 🔴 | 🟢 | 🔴
+| Code host | Code push | [Batch changes](/batch-changes) | User permissions |
+| ----------------------------- | --------- | ------------------------------- | ---------------- |
+| GitHub | 🟢 | 🟢 | 🟢 |
+| GitLab | 🟢 | 🟢 | 🔴 |
+| Bitbucket Server / Datacenter | 🟢 | 🟢 | 🔴 |
+| Bitbucket Cloud | 🟢 | 🟢 | 🔴 |
+| Azure DevOps | 🔴 | 🟢 | 🔴 |
To receive webhooks both Sourcegraph and the code host need to be configured. To configure Sourcegraph, [add an incoming webhook](#adding-an-incoming-webhook). Then [configure webhooks on your code host](#configuring-webhooks-on-the-code-host)
@@ -40,7 +39,7 @@ Before adding an incoming webhook you should ensure that you have at least one [
The incoming webhook will be configured to accept events from a specific code host based on its type and URN.
-1. Navigate to **Site Admin > Configuration > Incoming webhooks**
+1. Navigate to **Site Admin > Integrations > Incoming webhooks**

2. Click **+ Create webhook**

From 44721cf68f43910c3a2611cf9713fb88f3eafdb3 Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Thu, 26 Mar 2026 13:08:50 -0700
Subject: [PATCH 057/217] Remove $USER parameter from user settings URL
examples (#1715)
- Updated /users/$USER/settings/security to /users/settings/security
- Updated /users/$USER/settings/permissions to
/users/settings/permissions
- Added consistent clarification that URLs redirect to your settings
---
docs/admin/permissions/syncing.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/admin/permissions/syncing.mdx b/docs/admin/permissions/syncing.mdx
index e4861e6a0..5b9ea6e51 100644
--- a/docs/admin/permissions/syncing.mdx
+++ b/docs/admin/permissions/syncing.mdx
@@ -89,7 +89,7 @@ identifiers from code host to repoIDs on Sourcegraph side.
> identifier cannot be matched and repository permissions cannot be enforced.
This is the main reason to require users to connect to their code host. This
-can be done on the Account security settings page: `/users/$USER/settings/security`.
+can be done on the Account security settings page: `/settings/security` - redirects to your settings.
### Entities that do not exist on Sourcegraph
@@ -121,7 +121,7 @@ The state of user or repository permissions can be checked directly in the Sourc
**User permissions**
1. Click on your avatar in top right corner of the page
-1. Navigate to **Settings > Permissions** (Or URL path `/users/$USER/settings/permissions`)
+1. Navigate to **Settings > Permissions** (Or URL path `/settings/permissions` - redirects to your settings)
1. The permissions page should look similar to: 
**Repository permissions**
From a5d80e5e2b269dddbd87299075c10d2cee36176d Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Fri, 27 Mar 2026 12:59:42 -0700
Subject: [PATCH 058/217] Batch changes: add link to tracking existing
changesets and improve subtitle (#1720)
add link to tracking existing changesets and improve subtitle
---
docs/batch-changes/index.mdx | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/docs/batch-changes/index.mdx b/docs/batch-changes/index.mdx
index 453d607f3..1c22134d4 100644
--- a/docs/batch-changes/index.mdx
+++ b/docs/batch-changes/index.mdx
@@ -9,8 +9,7 @@ seoPriority: 1.0
- This section is about Batch Changes, which helps you automate and ship
- large-scale code changes across many repositories and code hosts.
+ Learn how to automate and ship large-scale code changes across many repositories and code hosts.
Batch Changes helps you ship large-scale code changes across many repositories and code hosts. You can create pull requests on all affected repositories, and it tracks their progress until they're all merged. You can also preview the changes and update them at any time.
@@ -29,7 +28,7 @@ Batch Changes helps you ship large-scale code changes across many repositories a
/>
-## Get Started
+## Getting Started
Date: Fri, 27 Mar 2026 23:07:30 +0200
Subject: [PATCH 059/217] Hardcode sitemap base URL to sourcegraph.com/docs
(#1718)
Replace dynamic host detection with hardcoded base URL for the sitemap.
All sitemap entries should always point to the production docs site.
---
src/app/robots.ts | 19 ++-----------------
src/app/sitemap.ts | 7 +------
2 files changed, 3 insertions(+), 23 deletions(-)
diff --git a/src/app/robots.ts b/src/app/robots.ts
index 0e985d9c0..35d3bdba1 100644
--- a/src/app/robots.ts
+++ b/src/app/robots.ts
@@ -1,26 +1,11 @@
import {MetadataRoute} from 'next';
-import {headers} from 'next/headers';
export default async function robots(): Promise {
- const headersList = await headers();
- const host = headersList.get('host') || 'sourcegraph.com';
- const protocol = host.includes('localhost') ? 'http' : 'https';
- const docsPath = host === 'sourcegraph.com' ? '/docs' : '';
- const baseUrl = `${protocol}://${host}${docsPath}`;
-
- const vercelEnv = process.env.VERCEL_ENV;
- // Only allow robots for the latest version (and local dev), the versioned
- // historic docs pages should not be crawled by search engines.
- const allowRobots =
- (vercelEnv === 'production' && host === 'sourcegraph.com') ||
- vercelEnv === undefined;
-
return {
rules: {
userAgent: '*',
- allow: allowRobots ? '/' : undefined,
- disallow: allowRobots ? undefined : '/'
+ allow: '/'
},
- sitemap: allowRobots ? `${baseUrl}/sitemap.xml` : undefined
+ sitemap: 'https://sourcegraph.com/docs/sitemap.xml'
};
}
diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts
index 313e72902..618ceb52f 100644
--- a/src/app/sitemap.ts
+++ b/src/app/sitemap.ts
@@ -1,13 +1,8 @@
import {MetadataRoute} from 'next';
-import {headers} from 'next/headers';
import {allPosts} from 'contentlayer/generated';
export default async function sitemap(): Promise {
- const headersList = await headers();
- const host = headersList.get('host') || 'sourcegraph.com';
- const protocol = host.includes('localhost') ? 'http' : 'https';
- const docsPath = host === 'sourcegraph.com' ? '/docs' : '';
- const baseUrl = `${protocol}://${host}${docsPath}`;
+ const baseUrl = 'https://sourcegraph.com/docs';
const links: MetadataRoute.Sitemap = [
{
From 828467412bf09b13ef6735f09a4d1a3cd185fde5 Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Mon, 30 Mar 2026 05:10:53 -0700
Subject: [PATCH 060/217] Update configuring-credentials: add OAuth support,
auth method matrix (#1722)
---
.../batch-changes/configuring-credentials.mdx | 39 ++++++++++++-------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/docs/batch-changes/configuring-credentials.mdx b/docs/batch-changes/configuring-credentials.mdx
index 684245b12..996ec5c48 100644
--- a/docs/batch-changes/configuring-credentials.mdx
+++ b/docs/batch-changes/configuring-credentials.mdx
@@ -1,8 +1,7 @@
# Configuring Credentials
- Learn how to configure access tokens for code hosts when creating
- changesets.
+ Learn how to configure credentials for code hosts when creating changesets.
Interacting with a code host (such as creating, updating, or syncing changesets) is made possible by configuring credentials for that code host. Sourcegraph uses these credentials to manage changesets on your behalf and with your specific permissions.
@@ -12,14 +11,30 @@ Interacting with a code host (such as creating, updating, or syncing changesets)
- Sourcegraph instance with repositories in it. Read more in the [Quickstart](/batch-changes/quickstart) guide on how to set up a Sourcegraph instance.
- Account on the code host with access to the repositories you wish to target with your batch changes.
-## Types of credentials used by Batch Changes
+## Supported authentication methods
+
+The following authentication methods are supported:
-Batch Changes can use access tokens for all code hosts, and [GitHub apps (experimental)](#github-apps) for GitHub code hosts.
+| **Code Host** | **Personal Access Token** | **Fine-Grained Access Token** | **GitHub App** | **OAuth** |
+| -------------------------------- | :-----------------------: | :---------------------------: | :------------: | :-------: |
+| GitHub | ✅ | ✅ | ✅ (experimental) | ❌ |
+| GitHub Enterprise | ✅ | ✅ | ✅ (experimental) | ❌ |
+| GitLab | ✅ | ❌ | ❌ | ✅ |
+| Bitbucket Server / Data Center | ✅ | ❌ | ❌ | ✅ |
+| Bitbucket Cloud | ✅ | ❌ | ❌ | ✅ |
+| Azure DevOps | ✅ | ❌ | ❌ | ❌ |
+| Gerrit | ✅ | ❌ | ❌ | ❌ |
-Two types of credentials can be configured to use with Batch Changes:
+## Types of credentials used by Batch Changes
+
+Credentials can be configured at two levels:
1. **User Credential** - A credential set by an individual Batch Changes user for their personal code host user account.
-2. **Global Service Credential** (Configurable by admins only) - A credential that can be used by any Batch Changes user who does not have a personal credential configured. These are also required for [importing changesets](/batch-changes/tracking-existing-changesets) and syncing changeset state from the code host when webhooks are not configured. Although currently importing changesets is not supported without a global credential, if you’re concerned about individual user permissions, using a global credential is not recommended.
+2. **Global Service Credential** (Configurable by admins only) - A credential that can be used by any Batch Changes user who does not have a personal credential configured. If you’re concerned about individual user permissions, using a global credential is not recommended.
+
+
+ A global credential is required for [importing changesets](/batch-changes/tracking-existing-changesets) and is used as a fallback for syncing imported changeset state when webhooks are not configured.
+
Different credentials are used for different types of operations, as shown in the table below.
@@ -33,20 +48,14 @@ Different credentials are used for different types of operations, as shown in th
| Publishing a changeset | 🟢 | 🟡 |
| Updating a changeset | 🟢 | 🟡 |
| Closing a changeset | 🟢 | 🟡 |
+| Syncing a changeset | 🟢 | 🟡 |
| Importing a changeset | 🔴 | 🟢 |
-| Syncing a changeset | 🔴 | 🟢 |
-When creating a changeset on a code host, the author of the changeset will reflect the credential used (e.g., on GitHub, the user will be the pull request author). This is why a user credential is preferred for most operations.
+The credential used determines who appears as the pull request or merge request author on the code host. This is separate from the git commit author, which is set by the batch spec or local `git config` when running `src batch [apply|preview]`.
## Personal access tokens
-Personal access tokens are not strictly required if a global access token has also been configured, but users should add one if they want Sourcegraph to create changesets under their name.
-
-
- Commit author is determined by your spec file or local `git config` at the
- time of running `src batch [apply|preview]`, completely independent from
- code host credentials.
-
+Personal access tokens are not strictly required if a global credential has also been configured, but users should add one if they want changesets to be created under their name on the code host.
### Adding personal access token
From 2f783b6678369a0ef5263fe1258715a8d8af42c9 Mon Sep 17 00:00:00 2001
From: Jan Hartman
Date: Mon, 30 Mar 2026 16:33:46 +0200
Subject: [PATCH 061/217] feat: Add query assist page (#1725)
I decided to make this quite prominent, happy to adjust.
---
docs/code-search/features.mdx | 26 +++++++------
docs/code-search/index.mdx | 1 +
docs/code-search/query-assist.mdx | 63 +++++++++++++++++++++++++++++++
src/data/navigation.ts | 1 +
4 files changed, 80 insertions(+), 11 deletions(-)
create mode 100644 docs/code-search/query-assist.mdx
diff --git a/docs/code-search/features.mdx b/docs/code-search/features.mdx
index e1bf04fab..b86a4d8f3 100644
--- a/docs/code-search/features.mdx
+++ b/docs/code-search/features.mdx
@@ -15,6 +15,10 @@
/>
+## Query assist
+
+[Query assist](/code-search/query-assist) lets you describe what you're looking for in plain natural language. A custom-trained large language model translates your input into a precise Sourcegraph search query, so you can search effectively without memorizing the entire query syntax.
+
## Powerful, flexible queries
Sourcegraph code search performs full-text searches and supports both regular expression and exact queries. By default, Sourcegraph searches across all your repositories. Our search query syntax allows for advanced queries, such as searching over any branch or commit, narrowing searches by programming language or file pattern, and more.
@@ -71,9 +75,9 @@ You can exclude files and directories from search by adding the file `.sourcegra
The Sourcegraph search language supports [RE2](https://golang.org/s/re2syntax) syntax. If you're used to tools like Perl which uses [PCRE syntax](https://www.pcre.org/original/doc/html/pcresyntax.html), you may notice that there are some features that are missing from RE2 like backreferences and lookarounds. We choose to use RE2 for a few reasons:
-- It makes it possible to build [worst-case linear](https://swtch.com/~rsc/regexp/regexp1.html) evaluation engines, which is very desirable for building a production-ready regex search engine.
-- It's well-supported in Go, allowing us to take advantage of a rich ecosystem (notably including [Zoekt](https://github.com/sourcegraph/zoekt))
-- Our API and tooling makes it straightforward to use Sourcegraph with other tools that provide facilities not built in to the search language.
+- It makes it possible to build [worst-case linear](https://swtch.com/~rsc/regexp/regexp1.html) evaluation engines, which is very desirable for building a production-ready regex search engine.
+- It's well-supported in Go, allowing us to take advantage of a rich ecosystem (notably including [Zoekt](https://github.com/sourcegraph/zoekt))
+- Our API and tooling makes it straightforward to use Sourcegraph with other tools that provide facilities not built in to the search language.
As an example of how you can use Sourcegraph tooling with other tools, we can use `jq` (which supports Perl regexes) along with `src` to post-filter search results. In this case, we want to use backreferences to find go functions that take a single pointer argument and return a non-pointer of the same type as the input.
@@ -100,17 +104,17 @@ Users on Sourcegraph instance `v5.9.0` or more get the improved and new Code Sea
You get the following improvements:
-- **In-line diff view**: Easily compare commits and see how a file changed over time, all in-line
-- **Revamped code navigation**: Quickly find a list of references of a given symbol, or immediately jump to the definition
-- **Reworked fuzzy finder ⌘K**: Find files and symbols quickly and easily with our whole new fuzzy finder
-- **File actions**: Like open in editor and open on code host
+- **In-line diff view**: Easily compare commits and see how a file changed over time, all in-line
+- **Revamped code navigation**: Quickly find a list of references of a given symbol, or immediately jump to the definition
+- **Reworked fuzzy finder ⌘K**: Find files and symbols quickly and easily with our whole new fuzzy finder
+- **File actions**: Like open in editor and open on code host
## Personalized search ranking
Sourcegraph Enterprise users can get more personalized and better-ranked search results in the search bar for their codebases. With this feature, you get:
-- Improved ranking for keyword searches like "data router". This capability is enabled by default and cannot be configured
-- Personalized ranking, specifically boosted results from repos you recently contributed to. This is controlled by the setting `experimentalFeatures.boostRelevantRepositories`
+- Improved ranking for keyword searches like "data router". This capability is enabled by default and cannot be configured
+- Personalized ranking, specifically boosted results from repos you recently contributed to. This is controlled by the setting `experimentalFeatures.boostRelevantRepositories`
These boosted results from your recently contributed repositories make finding the code you care about easier.
@@ -142,5 +146,5 @@ This file picker is useful when comparing branches with thousands of changed fil
## Other search tips
-- When viewing a file or directory, press the `y` key to expand the URL to its canonical form (with the full 40-character Git commit SHA).
-- To share a link to multi-line range in a file, click on the starting line number and shift-click on the ending line number (in the left-hand gutter).
+- When viewing a file or directory, press the `y` key to expand the URL to its canonical form (with the full 40-character Git commit SHA).
+- To share a link to multi-line range in a file, click on the starting line number and shift-click on the ending line number (in the left-hand gutter).
diff --git a/docs/code-search/index.mdx b/docs/code-search/index.mdx
index 406a87558..35ee97cc6 100644
--- a/docs/code-search/index.mdx
+++ b/docs/code-search/index.mdx
@@ -88,6 +88,7 @@ Sourcegraph's Code Search empowers you to:
Code Search main features include:
+- Use [query assist](/code-search/query-assist) to search with natural language
- Use regular expressions and keyword queries to perform full-text searches
- Search any branch and commit, with no indexing required
- Search [commit diffs](/code-search/features#commit-diff-search) and [commit messages](/code-search/features#commit-message-search) to see how code has changed
diff --git a/docs/code-search/query-assist.mdx b/docs/code-search/query-assist.mdx
new file mode 100644
index 000000000..ee9c0cb2e
--- /dev/null
+++ b/docs/code-search/query-assist.mdx
@@ -0,0 +1,63 @@
+# Query assist
+
+
+ Search your code using natural language with query assist.
+
- Learn about some of the most commonly asked questions about Sourcegraph.
+ Learn about some of the most commonly asked questions about Sourcegraph
+ pricing.
-## What's the difference between Free, Enterprise Starter, and Enterprise plans?
-
-Free is best for individuals working on hobby projects with public code search.
-
-Enterprise Starter is for growing organizations who want Sourcegraph's search experience hosted on our cloud.
-
-Enterprise is for organizations that want AI and search across the SDLC with enterprise-level security, scalability, and flexible deployment.
+To learn more about pricing, refer to our [official pricing page](https://sourcegraph.com/pricing).
## What forms of support are available for paid plans?
Email and web portal support is available to both Enterprise Starter and Enterprise customers, and you can [read more about our SLAs](/sla). Premium support with enhanced SLAs is also available as an add-on for Enterprise customers.
-## Can I upgrade or downgrade my plan?
-
-To upgrade to Enterprise, please [contact our Sales team](https://sourcegraph.com/contact/request-info).
-
-## What's the difference between "flexible LLM options" and "bring your own LLM key"?
-
-Flexible LLM options: Enterprise users with Cody enabled can select from multiple options to use for chat.
-
-Bring your own LLM key: Enterprise customers can optionally provide their own LLM API key for supported LLMs (including for LLM services such as Azure OpenAI and Amazon Bedrock). In this scenario, customers pay for their own LLM consumption, and we will provide a pricing discount with your plan.
-
## Does Sourcegraph use my code to improve the models used by other people?
For Enterprise customers, Sourcegraph will not train on your company's data unless your instance admin enables fine-tuning, which would customize an existing model exclusively for your use.
-## How are active users counted and billed for Cody?
-
-This only applies to Cody Enterprise contracts.
-
-A billable user is one who is signed in to their Enterprise account and actively interacts with the product (e.g., they see suggested autocompletions, run commands or chat with Cody, start new discussions, clear chat history, or copy text from chats, change settings, and more). Simply having Cody installed is not enough to be considered a billable user.
-
## How are active users calculated for Sourcegraph Code Search and Code Intelligence Platform?
A billable active Code Search or Code Intelligence Platform user is signed into and accesses Sourcegraph. This includes but is not limited to:
-- Visiting the Sourcegraph web application or using a browser extension, editor extension, or other client while signed in
-- Conducting a search in the Sourcegraph UI or extension
-- Hovering and navigating code in the Sourcegraph UI or extension
-- Viewing a file or repository in Sourcegraph
-- Creating, viewing, or receiving a code monitor
-- Creating, viewing, modifying, or applying a batch change
-- Creating, viewing, or modifying a code insight
-
+- Visiting the Sourcegraph web application or using a browser extension, editor extension, or other client while signed in
+- Conducting a search in the Sourcegraph UI or extension
+- Hovering and navigating code in the Sourcegraph UI or extension
+- Viewing a file or repository in Sourcegraph
+- Creating, viewing, or receiving a code monitor
+- Creating, viewing, modifying, or applying a batch change
+- Creating, viewing, or modifying a code insight
## How is this measured in the product?
@@ -59,44 +37,14 @@ User counts and usage metrics are in [Sourcegraph Analytics](../analytics).
Sourcegraph has security and reliability controls built for the most demanding enterprises. To learn more, see our [Security page](https://sourcegraph.netlify.app/security).
-## What if I want AI or Code Search Enterprise only?
-
-You can purchase Enterprise plans for AI or Code Search only. [Contact us](https://sourcegraph.com/contact/request-info) to learn more.
+## Enterprise Starter
-## Which code hosts is the Enterprise Starter plan compatible with?
+See [our Enterprise Starter documentation](/pricing/plans/enterprise-starter).
-The Enterprise Starter plan is currently compatible with GitHub. Its limit for indexing is 100 repositories for search and context.
+## Cody
-## What are the limits of the Enterprise starter plan?
+### How are active users counted and billed for Cody?
-The Enterprise Starter plan supports up to 50 developers and, alongside a limit of 100 repositories for search and context, also includes 5GB of storage. Adding additional seats gives you 1GB of additional storage per seat, for a maximum total of 10GB.
-
-## Billing FAQs for Enterprise Starter
-
-## How do I cancel subscription renewal?
-
-In the **Workspace settings > Billing** page, you can cancel the subscription and continue having access to your workspace until the end of your current billing period (that is indicated in the UI).
-
-## How do I cancel subscription and delete my workspace immediately?
-
-On the **Workspace settings > General settings** page, you can delete your workspace. This will immediately remove access and cancel your subscription.
-
-## How is the subscription renewal dates determined?
-
-Your subscription renewals are scheduled to happen on the same day of the month. On shorter months (e.g., day 31 on April, which only has 30 days), the last day of the month will be the subscription renewal day instead.
-
-## How do I access my invoices?
-
-You can access your invoices via the **Workspace settings > Billing** page by clicking the **View invoices** button, which takes you to the Stripe Customer Portal. Note that invoices are not emailed every month.
-
-## How do I pay my invoice if my subscription is past due?
-
-After updating or resolving your payment method issue that occurred during the automatic subscription renewal, you may do one of the following to pay the invoice for your past-due subscription:
-
-1. Wait for our system to re-attempt the charge for the invoice. It usually takes up to 24 hours. If it does not happen after 24 hours, please contact [Support](support@sourcegraph.com) to resolve the issue.
-1. In the **Workspace settings > Billing** page, click the **View invoices** button, which takes you to the Stripe Customer Portal. Then, pay the invoice there. Our system will reconcile your payment within 24 hours. If it does not reconcile after 24 hours, please contact [Support](support@sourcegraph.com) to resolve the issue.
-1. Contact [Support](support@sourcegraph.com) to request re-attempt the charge for the invoice using the payment method on file.
-
-## Are there any refunds for the subscription?
+This only applies to Cody Enterprise contracts.
-We don't offer refunds, but if you have any queries regarding the Enterprise Starter, please write to support@sourcegraph.com, and we'll help resolve the issue.
+A billable user is one who is signed in to their Enterprise account and actively interacts with the product (e.g., they see suggested autocompletions, run commands or chat with Cody, start new discussions, clear chat history, or copy text from chats, change settings, and more). Simply having Cody installed is not enough to be considered a billable user.
diff --git a/docs/pricing/plan-comparison.mdx b/docs/pricing/plan-comparison.mdx
deleted file mode 100644
index f6a6eb904..000000000
--- a/docs/pricing/plan-comparison.mdx
+++ /dev/null
@@ -1,43 +0,0 @@
----
-seoPriority: 1.0
----
-
-# Sourcegraph Pricing Plan Comparison
-
-
- This page lists a detailed comparison of the features available in each
- plan.
-
- Learn about the Enterprise Starter plan tailored for individuals and teams
- wanting private code indexing and search to leverage the Sourcegraph
- platform better.
-
-
The Enterprise Starter plan offers a multi-tenant Sourcegraph instance designed for individuals and teams. It provides the core features of a traditional Sourcegraph instance but with a simplified management experience. This plan provides a fully managed version of Sourcegraph through a self-serve flow.
-## Team seats
+
+ **Sourcegraph Enterprise** is our recommended experience. Visit [Sourcegraph
+ pricing](https://sourcegraph.com/pricing) to learn more.
+
-The Enterprise Starter plan is priced at **$19 per month per seat**. You can add or remove team members at any time.
+To sign up, visit [workspaces.sourcegraph.com](https://workspaces.sourcegraph.com).
## Enterprise Starter team roles
The Enterprise Starter plan includes the following team-level roles:
-- **Admin**: Has full access to the workspace, including the ability to manage repos, users, billing, and settings
-- **Member**: Can access repositories in the workspace and use the supported features
+- **Admin**: Has full access to the workspace, including the ability to manage repos, users, billing, and settings
+- **Member**: Can access repositories in the workspace and use the supported features
## Billing
@@ -25,8 +22,6 @@ Workspaces on the Enterprise Starter plan are billed monthly based on the number
If you fail to make the payment after the grace period, your workspace will be deleted, and you will not be able to recover your data.
-Please also see [FAQs](/pricing/faqs) for more FAQs, including how to downgrade Enterprise Starter.
-
## Features supported
The Enterprise Starter plan supports a variety of search-based features like:
@@ -41,21 +36,21 @@ The Enterprise Starter plan supports a variety of search-based features like:
Sourcegraph Enterprise Starter offers the following limits:
-- Max 500 users per workspace
-- Max 100 repos per workspace
-- Starts with 25 GB of storage
-- 5 GB storage per seat added
-- 50 GB max total storage
+- Max 500 users per workspace
+- Max 100 repos per workspace
+- Starts with 25 GB of storage
+- 5 GB storage per seat added
+- 50 GB max total storage
## Workspace settings
After creating a new workspace, you can switch views between your personal and workspace accounts. You can configure different **Workspace settings**. These include options for:
-- **General Settings**: Helps you configure how your workspace is described or accessed with options like workspace name, URL, and deleting the workspace
-- **Users**: Manage permissions, assign seats, or invite new users
-- **Billing**: Manage your monthly billing cycle for all your purchased seats
-- **Repository Management**: Add, remove, and view the status of your connected repositories
-- **User settings**: Navigates you to your personal account's settings
+- **General Settings**: Helps you configure how your workspace is described or accessed with options like workspace name, URL, and deleting the workspace
+- **Users**: Manage permissions, assign seats, or invite new users
+- **Billing**: Manage your monthly billing cycle for all your purchased seats
+- **Repository Management**: Add, remove, and view the status of your connected repositories
+- **User settings**: Navigates you to your personal account's settings

@@ -75,25 +70,59 @@ From the Repository Management settings, workspace admins can configure various
**Repository permissions**:
-- **GitHub** provides repository-level permissions that are reflected in Sourcegraph.
-- **GitLab.com** and **Bitbucket Cloud** repositories are accessible to all workspace members regardless of the member's permissions on the external code host.
+- **GitHub** provides repository-level permissions that are reflected in Sourcegraph.
+- **GitLab.com** and **Bitbucket Cloud** repositories are accessible to all workspace members regardless of the member's permissions on the external code host.

From here, you can:
-- Use the public code search to add and index open source repos in your workspace
-- Add multiple organizations to index private repos
+- Use the public code search to add and index open source repos in your workspace
+- Add multiple organizations to index private repos
When you add a new organization, you must authorize access and permission for all repositories or selected ones. To index a repository from your organization,
-- Click and select it from the repository list
-- Next, from the search bar, type the repo name you are looking for
-- Click it to add the repository to your workspace
-- The status of the repos will change to **TO BE ADDED** in the right sidebar with a **Save Changes** button
-- Next, the repo gets a **QUEUED** status, and it takes some time to process
-- Finally, it gets indexed with a **CLONED** status
+- Click and select it from the repository list
+- Next, from the search bar, type the repo name you are looking for
+- Click it to add the repository to your workspace
+- The status of the repos will change to **TO BE ADDED** in the right sidebar with a **Save Changes** button
+- Next, the repo gets a **QUEUED** status, and it takes some time to process
+- Finally, it gets indexed with a **CLONED** status
As you add more repos, you get logs for the number of repos added, storage used, and their status. To remove any repo from your workspace, click the repo name that changes the repo status **TO BE REMOVED**. Click the **Save Changes** button to confirm it.

+
+## FAQ
+
+### What are the limits of the Enterprise starter plan?
+
+Limits applied to Enterprise Starter workspaces are outlined [here](https://workspaces.sourcegraph.com/plan).
+
+### How do I cancel subscription renewal?
+
+In the **Workspace settings > Billing** page, you can cancel the subscription and continue having access to your workspace until the end of your current billing period (that is indicated in the UI).
+
+### How do I cancel subscription and delete my workspace immediately?
+
+On the **Workspace settings > General settings** page, you can delete your workspace. This will immediately remove access and cancel your subscription.
+
+### How are subscription renewal dates determined?
+
+Your subscription renewals are scheduled to happen on the same day of the month. On shorter months (e.g., day 31 on April, which only has 30 days), the last day of the month will be the subscription renewal day instead.
+
+### How do I access my invoices?
+
+You can access your invoices via the **Workspace settings > Billing** page by clicking the **View invoices** button, which takes you to the Stripe Customer Portal. Note that invoices are not emailed every month.
+
+### How do I pay my invoice if my subscription is past due?
+
+After updating or resolving your payment method issue that occurred during the automatic subscription renewal, you may do one of the following to pay the invoice for your past-due subscription:
+
+1. Wait for our system to re-attempt the charge for the invoice. It usually takes up to 24 hours. If it does not happen after 24 hours, please contact [Support](support@sourcegraph.com) to resolve the issue.
+1. In the **Workspace settings > Billing** page, click the **View invoices** button, which takes you to the Stripe Customer Portal. Then, pay the invoice there. Our system will reconcile your payment within 24 hours. If it does not reconcile after 24 hours, please contact [Support](support@sourcegraph.com) to resolve the issue.
+1. Contact [Support](support@sourcegraph.com) to request re-attempt the charge for the invoice using the payment method on file.
+
+### Are there any refunds for the subscription?
+
+We don't offer refunds, but if you have any queries regarding the Enterprise Starter, please write to support@sourcegraph.com, and we'll help resolve the issue.
diff --git a/docs/pricing/plans/enterprise.mdx b/docs/pricing/plans/enterprise.mdx
index 4e804caef..2603b8c04 100644
--- a/docs/pricing/plans/enterprise.mdx
+++ b/docs/pricing/plans/enterprise.mdx
@@ -1,21 +1,5 @@
# Enterprise
-
- Learn about the Sourcegraph's Enterprise plan and the features included.
-
+Sourcegraph Enterprise is the recommended Sourcegraph experience with enterprise-level security, scalability, and flexibility.
-Sourcegraph offers multiple Enterprise plan options, including Enterprise Dedicated Cloud (default) and Enterprise Self Hosted (on-request) for organizations and enterprises that need search with enterprise-level security, scalability, and flexibility.
-
-## Features breakdown
-
-Here's a detailed breakdown of features included in the different Enterprise plan options.
-
-| **Feature** | **Enterprise Dedicated Cloud** | **Enterprise Self Hosted** |
-| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Description** | - Search with enterprise-level security, scalability, and flexibility | - Search with enterprise-level security, scalability, and flexibility |
-| **Price** | - $59/user/month - 25+ devs | - $59/user/month - Contact Sales |
-| **AI features** | - Deep Search | - Deep Search |
-| **Code Search features** | - Everything in Enterprise Starter, plus: - Batch Changes - Code Insights - Code Navigation | - Everything in Enterprise Starter, plus: - Batch Changes - Code Insights - Code Navigation |
-| **Deployment types** | - Single-tenant Coud | - Self- Hosted |
-| **Compatibility** | - Everything in Enterprise Starter, plus: - Enterprise admin and security features - All major code hosts - Guardrails (Deprecated) - Context Filters | - Everything in Enterprise Starter, plus: - Enterprise admin and security features - All major code hosts - Guardrails (Deprecated) - Context Filters |
-| **Support** | - 24x5 support with options like: - TA support - Premium Support Offerings - Forward Deployed Engineer (FDE) | - Enterprise support with options like: - Dedicated TA support - Premium Support Offerings - Forward Deployed Engineer (FDE) |
+Visit [sourcegraph.com/pricing](https://sourcegraph.com/pricing) for the latest Enterprise plan information, pricing, and feature details.
diff --git a/docs/pricing/plans/free.mdx b/docs/pricing/plans/free.mdx
deleted file mode 100644
index b9f26abb8..000000000
--- a/docs/pricing/plans/free.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
-# Free
-
-
- Learn about the Sourcegraph's Free plan and the features included.
-
-
-Sourcegraph's Free plan is designed for hobbyists, and light usage is aimed at users with personal projects and small-scale applications.
-
-## Pricing and billing cycle
-
-There is no billing cycle, as it's free to use and supports one user per account. You can upgrade to our Enterprise Starter plan for more advanced features.
-
-## Free vs. Enterprise Starter comparison
-
-The Enterprise Starter plan provides extended usage limits and advanced features compared to the Free plan. Here's a side-by-side comparison of the two:
-
-| **Feature** | **Free** | **Enterprise Starter** |
-| ------------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| **Description** | - Public Code Search for hobbyists or light usage | - Code Search for growing organizations hosted on our cloud |
-| **Price** | - $0/month - 1 user | - $19/user/month - Up to 50 devs |
-| **Code Search features** | N/A | - Code Search - Symbol Search |
-| **Deployment types** | - Multi-tenant Coud | - Multi-tenant Cloud - Private Workspace - Privately indexed code (100 repos) |
-| **Compatibility** | - All popular coding languages Natural language search - All major code hosts | - All popular coding languages Natural language search - Code hosted on GitHub |
-| **Support** | - Community support only | - 9x5 Support |
-
-## Moving to Enterprise Starter plan
-
-From your Sourcegraph dashboard, you can upgrade to the Enterprise Starter by clicking the **Create workspace for my team** button. Enter your workspace name and URL, and choose the number of seats. You can start with a single seat and add more later from the **Users** settings section.
-
-Click the **Create workspace** button to navigate to the payment page. Here, you can view your subscription details and enter your payment details for a successful transaction.
diff --git a/docs/pricing/plans/index.mdx b/docs/pricing/plans/index.mdx
deleted file mode 100644
index 8ca2f2e38..000000000
--- a/docs/pricing/plans/index.mdx
+++ /dev/null
@@ -1,34 +0,0 @@
----
-seoPriority: 1.0
----
-
-# Sourcegraph Pricing Plans
-
-
- Sourcegraph offers three different pricing plans based on your needs.
-
-
-{' '}
-
-
-
-
-
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index e0a3ffdd5..16e4fb9e6 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -490,7 +490,10 @@ export const navigation: NavigationItem[] = [
title: 'Sourcegraph MCP server',
href: '/api/mcp',
sections: [
- {title: 'Client integrations', href: '/api/mcp/client-integrations'}
+ {
+ title: 'Client integrations',
+ href: '/api/mcp/client-integrations'
+ }
]
}
]
@@ -605,23 +608,11 @@ export const navigation: NavigationItem[] = [
separator: 'Pricing',
topics: [
{
- title: 'Sourcegraph pricing plans',
- href: '/pricing/plans',
- sections: [
- {title: 'Free', href: '/pricing/plans/free'},
- {
- title: 'Enterprise Starter',
- href: '/pricing/plans/enterprise-starter'
- },
- {title: 'Enterprise', href: '/pricing/plans/enterprise'}
- ]
- },
- {
- title: 'Sourcegraph pricing plan comparison',
- href: '/pricing/plan-comparison'
+ title: 'Sourcegraph pricing',
+ href: 'https://sourcegraph.com/pricing'
},
{
- title: 'FAQs',
+ title: 'Pricing FAQs',
href: '/pricing/faqs'
}
]
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index a8ce3c4d1..8a2948dd9 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -5465,9 +5465,19 @@ const redirectsData = [
},
//Pricing redirects
+ {
+ source: '/pricing',
+ destination: 'https://sourcegraph.com/pricing',
+ permanent: true
+ },
{
source: '/pricing/free',
- destination: '/pricing/plans/free',
+ destination: 'https://sourcegraph.com/pricing',
+ permanent: true
+ },
+ {
+ source: '/pricing/plans/free',
+ destination: 'https://sourcegraph.com/pricing',
permanent: true
},
{
@@ -5480,6 +5490,11 @@ const redirectsData = [
destination: '/pricing/plans/enterprise',
permanent: true
},
+ {
+ source: '/pricing/plan-comparison',
+ destination: 'https://sourcegraph.com/pricing',
+ permanent: true
+ },
{
source: '/pricing/billing-faqs',
destination: '/pricing/faqs',
@@ -5489,7 +5504,12 @@ const redirectsData = [
// Admin pricing docs redirects
{
source: '/admin/pricing',
- destination: '/pricing/plans',
+ destination: 'https://sourcegraph.com/pricing',
+ permanent: true
+ },
+ {
+ source: '/pricing/plans',
+ destination: 'https://sourcegraph.com/pricing',
permanent: true
},
From 4f49443599663541bb9ae2e86ff509257e0f5619 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Mon, 30 Mar 2026 23:51:53 +0200
Subject: [PATCH 064/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(2026-03-30/11-57-12)=20(#1?=
=?UTF-8?q?724)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
Co-authored-by: Robert Lin
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 2 +-
docs/admin/config/site-config.mdx | 10 +-
docs/admin/repo/perforce.mdx | 2 +-
.../telemetry/private-metadata-allowlist.mdx | 1 +
docs/cli/references/index.mdx | 4 +-
docs/cli/references/sbom.mdx | 6 +-
docs/cli/references/signature.mdx | 6 +-
docs/cody/capabilities/supported-models.mdx | 15 +-
docs/self-hosted/observability/alerts.mdx | 146 +-
docs/self-hosted/observability/dashboards.mdx | 3126 +++++------------
20 files changed, 959 insertions(+), 2379 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 45bb54f32..92975a892 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 08f4c56e2..a3b676c21 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -65,7 +65,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 8349f8ef6..6e28423cf 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 01f1bd272..4b32be04a 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 651b5093a..9fd9f2825 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 777eedc88..93826d807 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index a72589c14..0f844657f 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index d085e26ed..c3e945707 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index cb0ee85c5..38903208f 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 5e05fdfaa..49461a8f0 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index b0347f255..3073d85c5 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 36d8d9fe5..b2c318347 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
@@ -448,6 +448,9 @@ All site configuration options and their default values are shown below.
// DEPRECATED: Configure maxRepos in search.limits
"maxReposToSearch": -1,
+ // Enable/disable MCP API endpoints under `/.api/mcp`. When disabled, MCP endpoints return 404.
+ "mcp.enabled": true,
+
"modelConfiguration": null,
// Notifications received from Sourcegraph.com to display in Sourcegraph.
@@ -648,7 +651,8 @@ All site configuration options and their default values are shown below.
"tls.external": null,
- // The channel on which to automatically check for Sourcegraph updates.
+ // ⚠️ DEPRECATED: DEPRECATED: This setting has no effect.
+ // DEPRECATED: This setting has no effect.
// Valid options: "release", "none"
// Other example values:
// - "none"
@@ -737,7 +741,7 @@ All site configuration options and their default values are shown below.
// When enabled, users are required to connect at least one external account to their Sourcegraph account. Site admins are exempt from this requirement.
"auth.enforceExternalAccountConnection": false,
- // Enables OAuth 2.0 Dynamic Client Registration (RFC 7591) for the Sourcegraph identity provider. When enabled, OAuth clients can self-register programmatically instead of requiring manual pre-configuration. Required for MCP clients and other applications that use dynamic registration for authorization.
+ // Enables OAuth 2.0 Dynamic Client Registration (RFC 7591) for the Sourcegraph identity provider. When enabled, OAuth clients can self-register programmatically instead of requiring manual pre-configuration. This is used for MCP clients; if `mcp.enabled` is `false`, this setting is treated as `false`.
"auth.idpDynamicClientRegistrationEnabled": true,
// The config options for account lockout
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 55a6d31e4..ce80f19b1 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-06T20:59:17Z */}
+{/* Last updated: 2026-03-30T11:57:12Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry/private-metadata-allowlist.mdx b/docs/admin/telemetry/private-metadata-allowlist.mdx
index a887e247f..609fe90f9 100644
--- a/docs/admin/telemetry/private-metadata-allowlist.mdx
+++ b/docs/admin/telemetry/private-metadata-allowlist.mdx
@@ -33,4 +33,5 @@ To learn more, refer to the [telemetry documentation](https://sourcegraph.com/do
| `cody.modelSelector` | _(all)_ | `modelId` — High-cardinality model identifier; helpful for determining the model selected in the model selector. `modelProvider` — High-cardinality model provider; helpful for determining the model selected in the model selector. |
| `cody.smart-apply.context` | `applied` | `model` — High-cardinality model identifier; helpful for determining the model that was selected. |
| `deepsearch` | `search.toolcall` | `toolName` — High-cardinality tool name; helpful for determining which tools are being used during deep search. `toolId` — High-cardinality tool identifier; helpful for determining which tools are being used during deep search. `model` — High-cardinality model identifier; helpful for determining which models are being used during deep search. |
+| `admin.users` | `delete` | `userIDs` — Numeric identifiers of users being deleted; needed for audit and analytics of admin user management actions. |
| `externalApi` | `request` | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
\ No newline at end of file
diff --git a/docs/cli/references/index.mdx b/docs/cli/references/index.mdx
index c511872ba..5f606371d 100644
--- a/docs/cli/references/index.mdx
+++ b/docs/cli/references/index.mdx
@@ -15,11 +15,11 @@
* [`lsp`](references/lsp)
* [`orgs`](references/orgs)
* [`repos`](references/repos)
-* [`sbom` (deprecated)](references/sbom)
+* [`sbom`](references/sbom)
* [`search`](references/search)
* [`search-jobs`](references/search-jobs)
* [`serve-git`](references/serve-git)
-* [`signature` (deprecated)](references/signature)
+* [`signature`](references/signature)
* [`snapshot`](references/snapshot)
* [`teams`](references/teams)
* [`users`](references/users)
diff --git a/docs/cli/references/sbom.mdx b/docs/cli/references/sbom.mdx
index e3750cf6a..76dd910b3 100644
--- a/docs/cli/references/sbom.mdx
+++ b/docs/cli/references/sbom.mdx
@@ -1,13 +1,11 @@
# `src sbom`
-
-**Deprecated:** SBOMs are no longer generated for Sourcegraph releases after version 7.0.2852.
-
+
## Usage
```
-'src sbom' fetches and verifies SBOM (Software Bill of Materials) data for Sourcegraph containers for releases 5.9.0 through 7.0.2852.
+'src sbom' fetches and verifies SBOM (Software Bill of Materials) data for Sourcegraph containers.
Usage:
diff --git a/docs/cli/references/signature.mdx b/docs/cli/references/signature.mdx
index b050db010..a335f9ca9 100644
--- a/docs/cli/references/signature.mdx
+++ b/docs/cli/references/signature.mdx
@@ -1,13 +1,11 @@
# `src signature`
-
-**Deprecated:** Container signatures are no longer published for Sourcegraph releases after version 7.0.2852.
-
+
## Usage
```
-'src signature' verifies published signatures for Sourcegraph containers for releases 5.11.4013 through 7.0.2852.
+'src signature' verifies published signatures for Sourcegraph containers.
Usage:
diff --git a/docs/cody/capabilities/supported-models.mdx b/docs/cody/capabilities/supported-models.mdx
index 8d4f8b97c..a323b0d56 100644
--- a/docs/cody/capabilities/supported-models.mdx
+++ b/docs/cody/capabilities/supported-models.mdx
@@ -16,6 +16,7 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| :----------- | :-------- | :--------- | :----------------- |
| Anthropic | [Claude Opus 4.6](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Sonnet 4.6](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Sonnet 4.6 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Sonnet 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Sonnet 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Opus 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
@@ -24,9 +25,12 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| Anthropic | [Claude Haiku 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
| Google | [Gemini 2.5 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-flash) | ✅ | ✅ |
| Google | [Gemini 2.5 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-pro) | ✅ | ✅ |
-| Google | [Gemini 3 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro) | ✅ (experimental) | ❌ |
-| Google | [Gemini 3 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash) | ✅ (experimental) | ❌ |
-| Google | [Gemini 3.1 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-pro) | ✅ (experimental) | ❌ |
+| Google | [Gemini 3 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash) | ✅ | ❌ |
+| Google | [Gemini 3.1 Flash Lite](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-flash-lite) | ✅ | ❌ |
+| Google | [Gemini 3.1 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-pro) | ✅ (beta) | ❌ |
+| OpenAI | [GPT-5.4](https://developers.openai.com/api/docs/models/gpt-5.4) | ✅ | ✅ |
+| OpenAI | [GPT-5.4 mini](https://developers.openai.com/api/docs/models/gpt-5.4-mini) | ✅ | ✅ |
+| OpenAI | [GPT-5.4 nano](https://developers.openai.com/api/docs/models/gpt-5.4-nano) | ✅ | ✅ |
| OpenAI | [GPT-5.2](https://platform.openai.com/docs/models/gpt-5.2) | ✅ | ✅ |
| OpenAI | [GPT-5.1](https://platform.openai.com/docs/models/gpt-5.1) | ✅ | ✅ |
| OpenAI | [GPT-5](https://platform.openai.com/docs/models/gpt-5) | ✅ | ✅ |
@@ -55,11 +59,12 @@ Cody uses a set of models for autocomplete which are suited for the low latency
| Anthropic | [Claude Haiku 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ |
| Fireworks.ai | StarCoder | ✅ |
| Fireworks.ai | DeepSeek V2 Lite Base | ✅ |
-| Fireworks.ai | AutoEdits Fireworks Default | ✅ (experimental) |
+| Fireworks.ai | AutoEdits Fireworks Default | ✅ (beta) |
| Fireworks.ai | Autoedits DeepSeek Coder V2 | ✅ (beta) |
| Fireworks.ai | Autoedits DeepSeek Coder V2 | ✅ (beta) |
| Fireworks.ai | Autoedits DeepSeek Coder V2 | ✅ (beta) |
| Fireworks.ai | Autoedits Long Suggestion V4 Warm Start SFT | ✅ (beta) |
+| Fireworks.ai | NLS Query Translator | ✅ |
| OpenAI | [GPT-4.1-nano](https://platform.openai.com/docs/models/gpt-4.1-nano) | ✅ |
@@ -69,7 +74,7 @@ Cody uses a set of models for autocomplete which are suited for the low latency
| **Provider** | **Model** | **Status** |
| :----------- | :-------- | :--------- |
| Fireworks.ai | Smart Apply Qwen Default | ✅ |
-| Fireworks.ai | Smart Apply Qwen 32B V1 | ✅ (experimental) |
+| Fireworks.ai | Smart Apply Qwen 32B V1 | ✅ (beta) |
## Default Models
diff --git a/docs/self-hosted/observability/alerts.mdx b/docs/self-hosted/observability/alerts.mdx
index d857b648f..1909109c1 100644
--- a/docs/self-hosted/observability/alerts.mdx
+++ b/docs/self-hosted/observability/alerts.mdx
@@ -1386,37 +1386,6 @@ Generated query for critical alert: `min(((src_gitserver_disk_space_available /
-## gitserver: cpu_throttling_time
-
-
container CPU throttling time %
-
-**Descriptions**
-
-- warning gitserver: 75%+ container CPU throttling time % for 2m0s
-
-**Next steps**
-
-- - Consider increasing the CPU limit for the container.
-- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-cpu_throttling_time).
-- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
-
-```json
-"observability.silenceAlerts": [
- "warning_gitserver_cpu_throttling_time"
-]
-```
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Generated query for warning alert: `max((sum by (container_label_io_kubernetes_pod_name) ((rate(container_cpu_cfs_throttled_periods_total{container_label_io_kubernetes_container_name="gitserver"\}[5m]) / rate(container_cpu_cfs_periods_total\{container_label_io_kubernetes_container_name="gitserver"}[5m])) * 100)) >= 75)`
-
-
-
-
-
## gitserver: echo_command_duration_test
rate of git command corruption retry attempts over 5m
+
CPU usage
**Descriptions**
-- warning gitserver: 0.1reqps+ rate of git command corruption retry attempts over 5m for 5m0s
+- warning gitserver: 95%+ CPU usage for 10m0s
**Next steps**
-- Investigate the underlying cause of corruption errors in git commands.
-- Check disk health and I/O performance.
-- Monitor for patterns in specific git operations that trigger retries.
-- Consider adjusting retry configuration if retries are too frequent.
-- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-git_command_retry_attempts_rate).
+- Consider increasing CPU limits or scaling out.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#gitserver-cpu_usage_percentage).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
```json
"observability.silenceAlerts": [
- "warning_gitserver_git_command_retry_attempts_rate"
+ "warning_gitserver_cpu_usage_percentage"
]
```
@@ -1541,31 +1507,29 @@ Generated query for warning alert: `max((sum(src_gitserver_clone_queue)) >= 2
Technical details
-Generated query for warning alert: `max((sum(rate(src_gitserver_retry_attempts_total[5m]))) >= 0.1)`
+Generated query for warning alert: `max((cadvisor_container_cpu_usage_percentage_total{name=~"^gitserver.*"}) >= 95)`
-## gitserver: goroutine_error_rate
+## gitserver: memory_rss
-
error rate for periodic goroutine executions
+
memory (RSS)
**Descriptions**
-- warning gitserver: 0.01reqps+ error rate for periodic goroutine executions for 15m0s
+- warning gitserver: 90%+ memory (RSS) for 10m0s
**Next steps**
-- Check service logs for error details related to the failing periodic routine
-- Check if the routine depends on external services that may be unavailable
-- Look for recent changes to the routine`s code or configuration
-- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-goroutine_error_rate).
+- Consider increasing memory limits or scaling out.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-memory_rss).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
```json
"observability.silenceAlerts": [
- "warning_gitserver_goroutine_error_rate"
+ "warning_gitserver_memory_rss"
]
```
@@ -1574,31 +1538,29 @@ Generated query for warning alert: `max((sum(rate(src_gitserver_retry_attempts_t
Technical details
-Generated query for warning alert: `max((sum by (name, job_name) (rate(src_periodic_goroutine_errors_total{job=~".*gitserver.*"}[5m]))) >= 0.01)`
+Generated query for warning alert: `max((max by (name) (container_memory_rss{name=~"^gitserver.*"\} / container_spec_memory_limit_bytes\{name=~"^gitserver.*"}) * 100) >= 90)`
-## gitserver: goroutine_error_percentage
+## gitserver: cpu_throttling_time
-
percentage of periodic goroutine executions that result in errors
+
container CPU throttling time %
**Descriptions**
-- warning gitserver: 5%+ percentage of periodic goroutine executions that result in errors
+- warning gitserver: 75%+ container CPU throttling time % for 2m0s
**Next steps**
-- Check service logs for error details related to the failing periodic routine
-- Check if the routine depends on external services that may be unavailable
-- Consider temporarily disabling the routine if it`s non-critical and causing cascading issues
-- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-goroutine_error_percentage).
+- Consider increasing the CPU limit for the container.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-cpu_throttling_time).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
```json
"observability.silenceAlerts": [
- "warning_gitserver_goroutine_error_percentage"
+ "warning_gitserver_cpu_throttling_time"
]
```
@@ -1607,29 +1569,32 @@ Generated query for warning alert: `max((sum by (name, job_name) (rate(src_perio
Technical details
-Generated query for warning alert: `max((sum by (name, job_name) (rate(src_periodic_goroutine_errors_total{job=~".*gitserver.*"\}[5m])) / sum by (name, job_name) (rate(src_periodic_goroutine_total\{job=~".*gitserver.*"}[5m]) > 0) * 100) >= 5)`
+Generated query for warning alert: `max((sum by (container_label_io_kubernetes_pod_name) ((rate(container_cpu_cfs_throttled_periods_total{container_label_io_kubernetes_container_name="gitserver"\}[5m]) / rate(container_cpu_cfs_periods_total\{container_label_io_kubernetes_container_name="gitserver"}[5m])) * 100)) >= 75)`
-## gitserver: cpu_usage_percentage
+## gitserver: git_command_retry_attempts_rate
-
CPU usage
+
rate of git command corruption retry attempts over 5m
**Descriptions**
-- warning gitserver: 95%+ CPU usage for 10m0s
+- warning gitserver: 0.1reqps+ rate of git command corruption retry attempts over 5m for 5m0s
**Next steps**
-- Consider increasing CPU limits or scaling out.
-- Learn more about the related dashboard panel in the [dashboards reference](dashboards#gitserver-cpu_usage_percentage).
+- Investigate the underlying cause of corruption errors in git commands.
+- Check disk health and I/O performance.
+- Monitor for patterns in specific git operations that trigger retries.
+- Consider adjusting retry configuration if retries are too frequent.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-git_command_retry_attempts_rate).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
```json
"observability.silenceAlerts": [
- "warning_gitserver_cpu_usage_percentage"
+ "warning_gitserver_git_command_retry_attempts_rate"
]
```
@@ -1638,29 +1603,31 @@ Generated query for warning alert: `max((sum by (name, job_name) (rate(src_perio
Technical details
-Generated query for warning alert: `max((cadvisor_container_cpu_usage_percentage_total{name=~"^gitserver.*"}) >= 95)`
+Generated query for warning alert: `max((sum(rate(src_gitserver_retry_attempts_total[5m]))) >= 0.1)`
-## gitserver: memory_rss
+## gitserver: goroutine_error_rate
-
memory (RSS)
+
error rate for periodic goroutine executions
**Descriptions**
-- warning gitserver: 90%+ memory (RSS) for 10m0s
+- warning gitserver: 0.01reqps+ error rate for periodic goroutine executions for 15m0s
**Next steps**
-- Consider increasing memory limits or scaling out.
-- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-memory_rss).
+- Check service logs for error details related to the failing periodic routine
+- Check if the routine depends on external services that may be unavailable
+- Look for recent changes to the routine`s code or configuration
+- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-goroutine_error_rate).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
```json
"observability.silenceAlerts": [
- "warning_gitserver_memory_rss"
+ "warning_gitserver_goroutine_error_rate"
]
```
@@ -1669,7 +1636,40 @@ Generated query for warning alert: `max((cadvisor_container_cpu_usage_percentage
Technical details
-Generated query for warning alert: `max((max by (name) (container_memory_rss{name=~"^gitserver.*"\} / container_spec_memory_limit_bytes\{name=~"^gitserver.*"}) * 100) >= 90)`
+Generated query for warning alert: `max((sum by (name, job_name) (rate(src_periodic_goroutine_errors_total{job=~".*gitserver.*"}[5m]))) >= 0.01)`
+
+
+
+
+
+## gitserver: goroutine_error_percentage
+
+
percentage of periodic goroutine executions that result in errors
+
+**Descriptions**
+
+- warning gitserver: 5%+ percentage of periodic goroutine executions that result in errors
+
+**Next steps**
+
+- Check service logs for error details related to the failing periodic routine
+- Check if the routine depends on external services that may be unavailable
+- Consider temporarily disabling the routine if it`s non-critical and causing cascading issues
+- More help interpreting this metric is available in the [dashboards reference](dashboards#gitserver-goroutine_error_percentage).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_gitserver_goroutine_error_percentage"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum by (name, job_name) (rate(src_periodic_goroutine_errors_total{job=~".*gitserver.*"\}[5m])) / sum by (name, job_name) (rate(src_periodic_goroutine_total\{job=~".*gitserver.*"}[5m]) > 0) * 100) >= 5)`
diff --git a/docs/self-hosted/observability/dashboards.mdx b/docs/self-hosted/observability/dashboards.mdx
index dce0c86d8..0e5a20306 100644
--- a/docs/self-hosted/observability/dashboards.mdx
+++ b/docs/self-hosted/observability/dashboards.mdx
@@ -4993,7 +4993,7 @@ max by (name) (container_memory_working_set_bytes{name=~"^(frontend|sourcegraph-
Memory (RSS)
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
Refer to the [alerts reference](alerts#frontend-memory_rss) for 1 alert related to this panel.
@@ -6025,66 +6025,22 @@ Query:
-#### gitserver: cpu_throttling_time
-
-
Container CPU throttling time %
-
-- A high value indicates that the container is spending too much time waiting for CPU cycles.
-
-Refer to the [alerts reference](alerts#gitserver-cpu_throttling_time) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100010` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (container_label_io_kubernetes_pod_name) ((rate(container_cpu_cfs_throttled_periods_total{container_label_io_kubernetes_container_name="gitserver", container_label_io_kubernetes_pod_name=~`${shard:regex}`}[5m]) / rate(container_cpu_cfs_periods_total{container_label_io_kubernetes_container_name="gitserver", container_label_io_kubernetes_pod_name=~`${shard:regex}`}[5m])) * 100)
-```
-
-
-
-
-#### gitserver: cpu_usage_seconds
-
-
Cpu usage seconds
-
-- This value should not exceed 75% of the CPU limit over a longer period of time.
- - We cannot alert on this as we don`t know the resource allocation.
-
- - If this value is high for a longer time, consider increasing the CPU limit for the container.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100011` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (container_label_io_kubernetes_pod_name) (rate(container_cpu_usage_seconds_total{container_label_io_kubernetes_container_name="gitserver", container_label_io_kubernetes_pod_name=~`${shard:regex}`}[5m]))
-```
-
+#### gitserver: high_memory_git_commands
-
+
Number of git commands that exceeded the threshold for high memory usage
-#### gitserver: memory_major_page_faults
+This graph tracks the number of git subcommands that gitserver ran that exceeded the threshold for high memory usage.
+This graph in itself is not an alert, but it is used to learn about the memory usage of gitserver.
-
Gitserver page faults
+If gitserver frequently serves requests where the status code is KILLED, this graph might help to correlate that
+with the high memory usage.
-The number of major page faults in a 5 minute window for gitserver. If this number increases significantly, it indicates that more git API calls need to load data from disk. There may not be enough memory to efficiently support the amount of API requests served concurrently.
+This graph spiking is not a problem necessarily. But when subcommands or the whole gitserver service are getting
+OOM killed and this graph shows spikes, increasing the memory might be useful.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100020` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100010` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6094,28 +6050,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10002
Query:
```
-rate(container_memory_failures_total{failure_type="pgmajfault", name=~"^gitserver.*"}[5m])
+sort_desc(sum(sum_over_time(src_gitserver_exec_high_memory_usage_count{instance=~`${shard:regex}`}[2m])) by (cmd))
```
-#### gitserver: high_memory_git_commands
-
-
Number of git commands that exceeded the threshold for high memory usage
-
-This graph tracks the number of git subcommands that gitserver ran that exceeded the threshold for high memory usage.
-This graph in itself is not an alert, but it is used to learn about the memory usage of gitserver.
+#### gitserver: running_git_commands
-If gitserver frequently serves requests where the status code is KILLED, this graph might help to correlate that
-with the high memory usage.
+
Git commands running on each gitserver instance
-This graph spiking is not a problem necessarily. But when subcommands or the whole gitserver service are getting
-OOM killed and this graph shows spikes, increasing the memory might be useful.
+A high value signals load.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100021` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100011` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6125,21 +6074,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10002
Query:
```
-sort_desc(sum(sum_over_time(src_gitserver_exec_high_memory_usage_count{instance=~`${shard:regex}`}[2m])) by (cmd))
+sum by (instance, cmd) (src_gitserver_exec_running{instance=~`${shard:regex}`})
```
-#### gitserver: running_git_commands
+#### gitserver: git_commands_received
-
Git commands running on each gitserver instance
+
Rate of git commands received
-A high value signals load.
+per second rate per command
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100030` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100012` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6149,21 +6098,22 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10003
Query:
```
-sum by (instance, cmd) (src_gitserver_exec_running{instance=~`${shard:regex}`})
+sum by (cmd) (rate(src_gitserver_exec_duration_seconds_count{instance=~`${shard:regex}`}[5m]))
```
-#### gitserver: git_commands_received
+#### gitserver: git_command_cpu_usage_seconds_by_scope
-
Rate of git commands received
+
Git command CPU usage seconds by requester scope
-per second rate per command
+CPU time consumed by git subcommands, grouped by propagated requester scope and CPU kind.
+Use this to identify high-CPU callers and whether time is spent in user or system CPU.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100031` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100013` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6173,7 +6123,7 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10003
Query:
```
-sum by (cmd) (rate(src_gitserver_exec_duration_seconds_count{instance=~`${shard:regex}`}[5m]))
+topk(20, sum by (scope, kind) (rate(src_gitserver_exec_cpu_seconds_total{instance=~`${shard:regex}`}[5m])))
```
@@ -6187,7 +6137,7 @@ sum by (cmd) (rate(src_gitserver_exec_duration_seconds_count{instance=~`${shard:
Refer to the [alerts reference](alerts#gitserver-echo_command_duration_test) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100040` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100020` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6213,7 +6163,7 @@ by recloning repositories, but this may take a while depending on repo size.
Refer to the [alerts reference](alerts#gitserver-repo_corrupted) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100041` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100021` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6235,7 +6185,7 @@ sum(rate(src_gitserver_repo_corrupted[5m]))
Refer to the [alerts reference](alerts#gitserver-repository_clone_queue_size) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100050` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100030` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6261,7 +6211,7 @@ It does not indicate any problems with the instance, but can give a good indicat
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100051` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100031` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6277,15 +6227,26 @@ sum by (job, instance) (src_gitserver_client_concurrent_requests)
-### Git Server: Gitservice for internal cloning
+### Git Server: Gitserver (CPU, Memory)
-#### gitserver: gitservice_request_duration
+Gitserver leverages memory mapping to optimize file reads: it is generally expected to consume all the memory provided to it, if it can. When it finds data that is not available in memory yet, this causes a 'page fault', and the data is loaded into memory from disk.
-
95th percentile gitservice request duration per shard
+A trend to watch out for: when something in-application happens to take a lot of memory, and active file previously used nearly all remaining memory, then:
-A high value means any internal service trying to clone a repo from gitserver is slowed down.
+1. 'Memory (RSS)' goes up, due to in-application usage
+2. 'Memory usage (Active file)' goes down, as file data held in memory is evicted
+3. 'Page faults' go up, as less data is held in memory (and with that, IOPS, disk read throughput, ...)
-This panel has no related alerts.
+This can also happen without 'Memory (RSS)' increasing, if the provisioned memory is insufficent to start with.
+A small degree of this is behaviour generally expected, but if it happens significantly or causes user-noticeable impact, it's likely gitserver could benefit from more memory. Look for more user-facing metrics to make a final determination on appropriate resource allocation.
+
+_See https://en.wikipedia.org/wiki/Memory-mapped_file and the related articles for more information about memory maps._
+
+#### gitserver: cpu_usage_percentage
+
+
CPU usage
+
+Refer to the [alerts reference](alerts#gitserver-cpu_usage_percentage) for 1 alert related to this panel.
To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100100` on your Sourcegraph instance.
@@ -6297,17 +6258,17 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10010
Query:
```
-histogram_quantile(0.95, sum(rate(src_gitserver_gitservice_duration_seconds_bucket{instance=~`${shard:regex}`}[5m])) by (le, gitservice))
+cadvisor_container_cpu_usage_percentage_total{name=~"^gitserver.*"}
```
-#### gitserver: gitservice_request_rate
+#### gitserver: memory_usage_percentage
-
Gitservice request rate per shard
+
Memory usage percentage (total)
-Per shard gitservice request rate
+An estimate for the active memory in use, which includes anonymous memory, file memory, and kernel memory. Some of this memory is reclaimable, so high usage does not necessarily indicate memory pressure.
This panel has no related alerts.
@@ -6321,17 +6282,17 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10010
Query:
```
-sum(rate(src_gitserver_gitservice_duration_seconds_count{instance=~`${shard:regex}`}[5m])) by (gitservice)
+cadvisor_container_memory_usage_percentage_total{name=~"^gitserver.*"}
```
-#### gitserver: gitservice_requests_running
+#### gitserver: memory_working_set_bytes
-
Gitservice requests running per shard
+
Memory usage bytes (total)
-Per shard gitservice requests running
+An estimate for the active memory in use in bytes, which includes anonymous memory, file memory, and kernel memory. Some of this memory is reclaimable, so high usage does not necessarily indicate memory pressure.
This panel has no related alerts.
@@ -6345,23 +6306,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10010
Query:
```
-sum(src_gitserver_gitservice_running{instance=~`${shard:regex}`}) by (gitservice)
+max by (name) (container_memory_working_set_bytes{name=~"^gitserver.*"})
```
-### Git Server: Gitserver cleanup jobs
-
-#### gitserver: janitor_tasks_total
+#### gitserver: memory_rss
-
Total housekeeping tasks by type and status
+
Memory (RSS)
-The rate of housekeeping tasks performed in repositories, broken down by task type and success/failure status
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#gitserver-memory_rss) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100110` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6371,21 +6330,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10020
Query:
```
-sum(rate(src_gitserver_janitor_tasks_total{instance=~`${shard:regex}`}[5m])) by (housekeeping_task, status)
+max(container_memory_rss{name=~"^gitserver.*"} / container_spec_memory_limit_bytes{name=~"^gitserver.*"}) by (name) * 100.0
```
-#### gitserver: p90_janitor_tasks_latency_success_over_5m
+#### gitserver: memory_total_active_file
-
90th percentile latency of successful tasks by type over 5m
+
Memory usage (active file)
-The 90th percentile latency of successful housekeeping tasks, broken down by task type
+This metric shows the total active file-backed memory currently in use by the application. Some of it may be reclaimable, so high usage does not necessarily indicate memory pressure.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100111` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6395,21 +6354,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10021
Query:
```
-histogram_quantile(0.90, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="success"}[5m])) by (le, housekeeping_task))
+max(container_memory_total_active_file_bytes{name=~"^gitserver.*"} / container_spec_memory_limit_bytes{name=~"^gitserver.*"}) by (name) * 100.0
```
-#### gitserver: p95_janitor_tasks_latency_success_over_5m
+#### gitserver: memory_kernel_usage
-
95th percentile latency of successful tasks by type over 5m
+
Memory usage (kernel)
-The 95th percentile latency of successful housekeeping tasks, broken down by task type
+The kernel usage metric shows the amount of memory used by the kernel on behalf of the application. Some of it may be reclaimable, so high usage does not necessarily indicate memory pressure.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100112` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6419,21 +6378,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10021
Query:
```
-histogram_quantile(0.95, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="success"}[5m])) by (le, housekeeping_task))
+max(container_memory_kernel_usage{name=~"^gitserver.*"} / container_spec_memory_limit_bytes{name=~"^gitserver.*"}) by (name) * 100.0
```
-#### gitserver: p99_janitor_tasks_latency_success_over_5m
+#### gitserver: memory_major_page_faults
-
99th percentile latency of successful tasks by type over 5m
+
Gitserver page faults
-The 99th percentile latency of successful housekeeping tasks, broken down by task type
+The number of major page faults in a 5 minute window for gitserver. If this number increases significantly, it indicates that more git API calls need to load data from disk. There may not be enough memory to efficiently support the amount of API requests served concurrently.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100120` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6443,21 +6402,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10021
Query:
```
-histogram_quantile(0.99, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="success"}[5m])) by (le, housekeeping_task))
+rate(container_memory_failures_total{failure_type="pgmajfault", name=~"^gitserver.*"}[5m])
```
-#### gitserver: p90_janitor_tasks_latency_failure_over_5m
+#### gitserver: cpu_throttling_time
-
90th percentile latency of failed tasks by type over 5m
+
Container CPU throttling time %
-The 90th percentile latency of failed housekeeping tasks, broken down by task type
+A high value indicates that the container is spending too much time waiting for CPU cycles.
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#gitserver-cpu_throttling_time) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100220` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100130` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6467,21 +6426,23 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10022
Query:
```
-histogram_quantile(0.90, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="failure"}[5m])) by (le, housekeeping_task))
+sum by (container_label_io_kubernetes_pod_name) ((rate(container_cpu_cfs_throttled_periods_total{container_label_io_kubernetes_container_name="gitserver", container_label_io_kubernetes_pod_name=~`${shard:regex}`}[5m]) / rate(container_cpu_cfs_periods_total{container_label_io_kubernetes_container_name="gitserver", container_label_io_kubernetes_pod_name=~`${shard:regex}`}[5m])) * 100)
```
-#### gitserver: p95_janitor_tasks_latency_failure_over_5m
+#### gitserver: cpu_usage_seconds
-
95th percentile latency of failed tasks by type over 5m
+
Cpu usage seconds
-The 95th percentile latency of failed housekeeping tasks, broken down by task type
+- This value should not exceed 75% of the CPU limit over a longer period of time.
+- We cannot alert on this as we don`t know the resource allocation.
+- If this value is high for a longer time, consider increasing the CPU limit for the container.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100221` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100131` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6491,21 +6452,23 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10022
Query:
```
-histogram_quantile(0.95, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="failure"}[5m])) by (le, housekeeping_task))
+sum by (container_label_io_kubernetes_pod_name) (rate(container_cpu_usage_seconds_total{container_label_io_kubernetes_container_name="gitserver", container_label_io_kubernetes_pod_name=~`${shard:regex}`}[5m]))
```
-#### gitserver: p99_janitor_tasks_latency_failure_over_5m
+### Git Server: Gitservice for internal cloning
-
99th percentile latency of failed tasks by type over 5m
+#### gitserver: gitservice_request_duration
-The 99th percentile latency of failed housekeeping tasks, broken down by task type
+
95th percentile gitservice request duration per shard
+
+A high value means any internal service trying to clone a repo from gitserver is slowed down.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100222` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100200` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6515,21 +6478,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10022
Query:
```
-histogram_quantile(0.99, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="failure"}[5m])) by (le, housekeeping_task))
+histogram_quantile(0.95, sum(rate(src_gitserver_gitservice_duration_seconds_bucket{instance=~`${shard:regex}`}[5m])) by (le, gitservice))
```
-#### gitserver: pruned_files_total_over_5m
+#### gitserver: gitservice_request_rate
-
Files pruned by type over 5m
+
Gitservice request rate per shard
-The rate of files pruned during cleanup, broken down by file type
+Per shard gitservice request rate
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100230` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100201` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6539,21 +6502,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10023
Query:
```
-sum(rate(src_gitserver_janitor_pruned_files_total{instance=~`${shard:regex}`}[5m])) by (filetype)
+sum(rate(src_gitserver_gitservice_duration_seconds_count{instance=~`${shard:regex}`}[5m])) by (gitservice)
```
-#### gitserver: data_structure_count_over_5m
+#### gitserver: gitservice_requests_running
-
Data structure counts over 5m
+
Gitservice requests running per shard
-The count distribution of various Git data structures in repositories
+Per shard gitservice requests running
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100240` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100202` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6563,21 +6526,23 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10024
Query:
```
-histogram_quantile(0.95, sum(rate(src_gitserver_janitor_data_structure_count_bucket{instance=~`${shard:regex}`}[5m])) by (le, data_structure))
+sum(src_gitserver_gitservice_running{instance=~`${shard:regex}`}) by (gitservice)
```
-#### gitserver: janitor_data_structure_size
+### Git Server: Gitserver cleanup jobs
-
Data structure sizes
+#### gitserver: janitor_tasks_total
-The size distribution of various Git data structures in repositories
+
Total housekeeping tasks by type and status
+
+The rate of housekeeping tasks performed in repositories, broken down by task type and success/failure status
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100250` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100300` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6587,21 +6552,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10025
Query:
```
-histogram_quantile(0.95, sum(rate(src_gitserver_janitor_data_structure_size_bucket{instance=~`${shard:regex}`}[5m])) by (le, data_structure))
+sum(rate(src_gitserver_janitor_tasks_total{instance=~`${shard:regex}`}[5m])) by (housekeeping_task, status)
```
-#### gitserver: janitor_time_since_optimization
+#### gitserver: p90_janitor_tasks_latency_success_over_5m
-
Time since last optimization
+
90th percentile latency of successful tasks by type over 5m
-The time elapsed since last optimization of various Git data structures
+The 90th percentile latency of successful housekeeping tasks, broken down by task type
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100260` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100310` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6611,21 +6576,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10026
Query:
```
-histogram_quantile(0.95, sum(rate(src_gitserver_janitor_time_since_last_optimization_seconds_bucket{instance=~`${shard:regex}`}[5m])) by (le, data_structure))
+histogram_quantile(0.90, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="success"}[5m])) by (le, housekeeping_task))
```
-#### gitserver: janitor_data_structure_existence
+#### gitserver: p95_janitor_tasks_latency_success_over_5m
-
Data structure existence
+
95th percentile latency of successful tasks by type over 5m
-The rate at which data structures are reported to exist in repositories
+The 95th percentile latency of successful housekeeping tasks, broken down by task type
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100270` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100311` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6635,25 +6600,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10027
Query:
```
-sum(rate(src_gitserver_janitor_data_structure_existence_total{instance=~`${shard:regex}`, exists="true"}[5m])) by (data_structure)
+histogram_quantile(0.95, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="success"}[5m])) by (le, housekeeping_task))
```
-### Git Server: Git Command Corruption Retries
-
-#### gitserver: git_command_retry_attempts_rate
+#### gitserver: p99_janitor_tasks_latency_success_over_5m
-
Rate of git command corruption retry attempts over 5m
+
99th percentile latency of successful tasks by type over 5m
-The rate of git command retry attempts due to corruption detection.
-A non-zero value indicates that gitserver is detecting potential corruption and attempting retries.
-This metric helps track how often the retry mechanism is triggered.
+The 99th percentile latency of successful housekeeping tasks, broken down by task type
-Refer to the [alerts reference](alerts#gitserver-git_command_retry_attempts_rate) for 1 alert related to this panel.
+This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100300` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100312` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6663,22 +6624,242 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10030
Query:
```
-sum(rate(src_gitserver_retry_attempts_total{instance=~`${shard:regex}`}[5m]))
+histogram_quantile(0.99, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="success"}[5m])) by (le, housekeeping_task))
```
-#### gitserver: git_command_retry_success_rate
+#### gitserver: p90_janitor_tasks_latency_failure_over_5m
-
Rate of successful git command corruption retries over 5m
+
90th percentile latency of failed tasks by type over 5m
+
+The 90th percentile latency of failed housekeeping tasks, broken down by task type
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100320` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="failure"}[5m])) by (le, housekeeping_task))
+```
+
+
+
+
+#### gitserver: p95_janitor_tasks_latency_failure_over_5m
+
+
95th percentile latency of failed tasks by type over 5m
+
+The 95th percentile latency of failed housekeeping tasks, broken down by task type
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100321` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="failure"}[5m])) by (le, housekeeping_task))
+```
+
+
+
+
+#### gitserver: p99_janitor_tasks_latency_failure_over_5m
+
+
99th percentile latency of failed tasks by type over 5m
+
+The 99th percentile latency of failed housekeeping tasks, broken down by task type
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100322` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum(rate(src_gitserver_janitor_tasks_latency_bucket{instance=~`${shard:regex}`, status="failure"}[5m])) by (le, housekeeping_task))
+```
+
+
+
+
+#### gitserver: pruned_files_total_over_5m
+
+
Files pruned by type over 5m
+
+The rate of files pruned during cleanup, broken down by file type
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100330` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_gitserver_janitor_pruned_files_total{instance=~`${shard:regex}`}[5m])) by (filetype)
+```
+
+
+
+
+#### gitserver: data_structure_count_over_5m
+
+
Data structure counts over 5m
+
+The count distribution of various Git data structures in repositories
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100340` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum(rate(src_gitserver_janitor_data_structure_count_bucket{instance=~`${shard:regex}`}[5m])) by (le, data_structure))
+```
+
+
+
+
+#### gitserver: janitor_data_structure_size
+
+
Data structure sizes
+
+The size distribution of various Git data structures in repositories
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100350` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum(rate(src_gitserver_janitor_data_structure_size_bucket{instance=~`${shard:regex}`}[5m])) by (le, data_structure))
+```
+
+
+
+
+#### gitserver: janitor_time_since_optimization
+
+
Time since last optimization
+
+The time elapsed since last optimization of various Git data structures
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100360` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum(rate(src_gitserver_janitor_time_since_last_optimization_seconds_bucket{instance=~`${shard:regex}`}[5m])) by (le, data_structure))
+```
+
+
+
+
+#### gitserver: janitor_data_structure_existence
+
+
Data structure existence
+
+The rate at which data structures are reported to exist in repositories
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100370` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_gitserver_janitor_data_structure_existence_total{instance=~`${shard:regex}`, exists="true"}[5m])) by (data_structure)
+```
+
+
+
+
+### Git Server: Git Command Corruption Retries
+
+#### gitserver: git_command_retry_attempts_rate
+
+
Rate of git command corruption retry attempts over 5m
+
+The rate of git command retry attempts due to corruption detection.
+A non-zero value indicates that gitserver is detecting potential corruption and attempting retries.
+This metric helps track how often the retry mechanism is triggered.
+
+Refer to the [alerts reference](alerts#gitserver-git_command_retry_attempts_rate) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100400` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_gitserver_retry_attempts_total{instance=~`${shard:regex}`}[5m]))
+```
+
+
+
+
+#### gitserver: git_command_retry_success_rate
+
+
Rate of successful git command corruption retries over 5m
The rate of git commands that succeeded after retry attempts.
This indicates how effective the retry mechanism is at resolving transient corruption issues.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100301` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100401` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6703,7 +6884,7 @@ These failures will result in repository corruption marking and potential reclon
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100310` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100410` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6729,7 +6910,7 @@ Common causes include network issues, permission changes, or concurrent reposito
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100311` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100411` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6755,7 +6936,7 @@ A low ratio may indicate persistent corruption issues requiring investigation.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100312` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100412` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6782,7 +6963,7 @@ A value of 0 indicates the routine isn`t running currently, it awaits it`s next
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100400` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100500` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -6807,7 +6988,7 @@ A low or zero value could indicate that a routine is stalled or encountering err
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100401` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100501` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -6832,7 +7013,7 @@ A sustained high error rate may indicate a problem with the routine`s configurat
Refer to the [alerts reference](alerts#gitserver-goroutine_error_rate) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100410` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100510` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6857,7 +7038,7 @@ A value above 5% indicates that a significant portion of routine executions are
Refer to the [alerts reference](alerts#gitserver-goroutine_error_percentage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100411` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100511` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -6882,7 +7063,7 @@ Longer durations might indicate increased load or processing time.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100420` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100520` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -6907,7 +7088,7 @@ This represents how long a complete loop iteration takes before sleeping for the
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100421` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100521` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -6932,7 +7113,7 @@ Higher values indicate that tenant processing is taking longer and may affect ov
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100430` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100530` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -6957,7 +7138,7 @@ Consistently high values might indicate problematic tenants or inefficient proce
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100431` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100531` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -6982,7 +7163,7 @@ Unexpected changes can indicate tenant configuration issues or scaling events.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100440` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100540` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -7007,7 +7188,7 @@ A healthy routine should maintain a consistent processing rate.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100441` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100541` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -7032,7 +7213,7 @@ Consistent errors indicate problems with specific tenants.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100450` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100550` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -7057,7 +7238,7 @@ Values above 5% indicate significant tenant processing problems.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100451` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100551` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -7073,15 +7254,17 @@ Query:
-### Git Server: Gitserver (CPU, Memory)
+### Git Server: Network I/O pod metrics (only available on Kubernetes)
-#### gitserver: cpu_usage_percentage
+#### gitserver: network_sent_bytes_aggregate
-
CPU usage
+
Transmission rate over 5m (aggregate)
-Refer to the [alerts reference](alerts#gitserver-cpu_usage_percentage) for 1 alert related to this panel.
+The rate of bytes sent over the network across all pods
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100500` on your Sourcegraph instance.
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100600` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -7091,21 +7274,21 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10050
Query:
```
-cadvisor_container_cpu_usage_percentage_total{name=~"^gitserver.*"}
+sum(rate(container_network_transmit_bytes_total{container_label_io_kubernetes_pod_name=~`.*gitserver.*`}[5m]))
```
-#### gitserver: memory_usage_percentage
+#### gitserver: network_received_packets_per_instance
-
Memory usage percentage (total)
+
Transmission rate over 5m (per instance)
-An estimate for the active memory in use, which includes anonymous memory, file memory, and kernel memory. Some of this memory is reclaimable, so high usage does not necessarily indicate memory pressure.
+The amount of bytes sent over the network by individual pods
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100501` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100601` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -7115,161 +7298,15 @@ To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=10050
Query:
```
-cadvisor_container_memory_usage_percentage_total{name=~"^gitserver.*"}
+sum by (container_label_io_kubernetes_pod_name) (rate(container_network_transmit_bytes_total{container_label_io_kubernetes_pod_name=~`${instance:regex}`}[5m]))
```
-#### gitserver: memory_working_set_bytes
+#### gitserver: network_received_bytes_aggregate
-
Memory usage bytes (total)
-
-An estimate for the active memory in use in bytes, which includes anonymous memory, file memory, and kernel memory. Some of this memory is reclaimable, so high usage does not necessarily indicate memory pressure.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100502` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-max by (name) (container_memory_working_set_bytes{name=~"^gitserver.*"})
-```
-
-
-
-
-#### gitserver: memory_rss
-
-
Memory (RSS)
-
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
-
-Refer to the [alerts reference](alerts#gitserver-memory_rss) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100510` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-max(container_memory_rss{name=~"^gitserver.*"} / container_spec_memory_limit_bytes{name=~"^gitserver.*"}) by (name) * 100.0
-```
-
-
-
-
-#### gitserver: memory_total_active_file
-
-
Memory usage (active file)
-
-This metric shows the total active file-backed memory currently in use by the application. Some of it may be reclaimable, so high usage does not necessarily indicate memory pressure.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100511` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-max(container_memory_total_active_file_bytes{name=~"^gitserver.*"} / container_spec_memory_limit_bytes{name=~"^gitserver.*"}) by (name) * 100.0
-```
-
-
-
-
-#### gitserver: memory_kernel_usage
-
-
Memory usage (kernel)
-
-The kernel usage metric shows the amount of memory used by the kernel on behalf of the application. Some of it may be reclaimable, so high usage does not necessarily indicate memory pressure.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100512` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-max(container_memory_kernel_usage{name=~"^gitserver.*"} / container_spec_memory_limit_bytes{name=~"^gitserver.*"}) by (name) * 100.0
-```
-
-
-
-
-### Git Server: Network I/O pod metrics (only available on Kubernetes)
-
-#### gitserver: network_sent_bytes_aggregate
-
-
Transmission rate over 5m (aggregate)
-
-The rate of bytes sent over the network across all pods
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100600` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(rate(container_network_transmit_bytes_total{container_label_io_kubernetes_pod_name=~`.*gitserver.*`}[5m]))
-```
-
-
-
-
-#### gitserver: network_received_packets_per_instance
-
-
Transmission rate over 5m (per instance)
-
-The amount of bytes sent over the network by individual pods
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100601` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (container_label_io_kubernetes_pod_name) (rate(container_network_transmit_bytes_total{container_label_io_kubernetes_pod_name=~`${instance:regex}`}[5m]))
-```
-
-
-
-
-#### gitserver: network_received_bytes_aggregate
-
-
Receive rate over 5m (aggregate)
+
Receive rate over 5m (aggregate)
The amount of bytes received from the network across pods
@@ -17584,7 +17621,7 @@ max by (name) (container_memory_working_set_bytes{name=~"^worker.*"})
Memory (RSS)
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
Refer to the [alerts reference](alerts#worker-memory_rss) for 1 alert related to this panel.
@@ -21287,7 +21324,7 @@ max by (name) (container_memory_working_set_bytes{name=~"^searcher.*"})
Memory (RSS)
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
Refer to the [alerts reference](alerts#searcher-memory_rss) for 1 alert related to this panel.
@@ -21815,7 +21852,7 @@ max by (name) (container_memory_working_set_bytes{name=~"^syntect-server.*"})
Memory (RSS)
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
Refer to the [alerts reference](alerts#syntect-server-memory_rss) for 1 alert related to this panel.
@@ -22369,7 +22406,7 @@ max by (name) (container_memory_working_set_bytes{name=~"^zoekt-indexserver.*"})
Memory (RSS)
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
Refer to the [alerts reference](alerts#zoekt-memory_rss) for 1 alert related to this panel.
@@ -22439,6 +22476,19 @@ max(container_memory_kernel_usage{name=~"^zoekt-indexserver.*"} / container_spec
### Zoekt: Zoekt-webserver (CPU, Memory)
+Zoekt web server leverages memory mapping to optimize file reads: it is generally expected to consume all the memory provided to it, if it can. When it finds data that is not available in memory yet, this causes a 'page fault', and the data is loaded into memory from disk.
+
+A trend to watch out for: when something in-application happens to take a lot of memory, and active file previously used nearly all remaining memory, then:
+
+1. 'Memory (RSS)' goes up, due to in-application usage
+2. 'Memory usage (Active file)' goes down, as file data held in memory is evicted
+3. 'Page faults' go up, as less data is held in memory (and with that, IOPS, disk read throughput, ...)
+
+This can also happen without 'Memory (RSS)' increasing, if the provisioned memory is insufficent to start with.
+A small degree of this is behaviour generally expected, but if it happens significantly or causes user-noticeable impact, it's likely zoekt web server could benefit from more memory. Look for more user-facing metrics to make a final determination on appropriate resource allocation.
+
+_See https://en.wikipedia.org/wiki/Memory-mapped_file and the related articles for more information about memory maps._
+
#### zoekt: cpu_usage_percentage
CPU usage
@@ -22513,7 +22563,7 @@ max by (name) (container_memory_working_set_bytes{name=~"^zoekt-webserver.*"})
Memory (RSS)
-The total anonymous memory in use by the application, which includes Go stack and heap. This memory is is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS because to match the cadvisor name, but `anonymous` is more accurate."
+The total anonymous memory in use by the application, which includes Go stack and heap. This memory is non-reclaimable, and high usage may trigger OOM kills. Note: the metric is named RSS to match the cadvisor name, but "anonymous" is more accurate.
Refer to the [alerts reference](alerts#zoekt-memory_rss) for 1 alert related to this panel.
@@ -31886,1547 +31936,7 @@ This panel has no related alerts.
To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101011` on your Sourcegraph instance.
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_hard_deleter_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_hard_deleter_errors_total
-
-
Job invocation operation errors every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101012` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_hard_deleter_error_rate
-
-
Job invocation operation error rate over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101013` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_hard_deleter_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
-```
-
-
-
-
-### Code Intelligence > Uploads: Codeintel: Uploads > Janitor task > Codeintel uploads janitor audit logs
-
-#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_records_scanned_total
-
-
Records scanned every 5m
-
-The number of candidate records considered for cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101100` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_janitor_audit_logs_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_records_altered_total
-
-
Records altered every 5m
-
-The number of candidate records altered as part of cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101101` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_janitor_audit_logs_records_altered_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_total
-
-
Job invocation operations every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101110` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_99th_percentile_duration
-
-
99th percentile successful job invocation operation duration over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101111` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_audit_logs_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_errors_total
-
-
Job invocation operation errors every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101112` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_error_rate
-
-
Job invocation operation error rate over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101113` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
-```
-
-
-
-
-### Code Intelligence > Uploads: Codeintel: Uploads > Janitor task > Codeintel uploads janitor scip documents
-
-#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_records_scanned_total
-
-
Records scanned every 5m
-
-The number of candidate records considered for cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101200` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_janitor_scip_documents_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_records_altered_total
-
-
Records altered every 5m
-
-The number of candidate records altered as part of cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101201` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_janitor_scip_documents_records_altered_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_total
-
-
Job invocation operations every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101210` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_99th_percentile_duration
-
-
99th percentile successful job invocation operation duration over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101211` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_scip_documents_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_errors_total
-
-
Job invocation operation errors every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101212` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_error_rate
-
-
Job invocation operation error rate over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101213` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
-```
-
-
-
-
-### Code Intelligence > Uploads: Codeintel: Uploads > Reconciler task > Codeintel uploads reconciler scip metadata
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_records_scanned_total
-
-
Records scanned every 5m
-
-The number of candidate records considered for cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101300` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_reconciler_scip_metadata_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_records_altered_total
-
-
Records altered every 5m
-
-The number of candidate records altered as part of cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101301` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_reconciler_scip_metadata_records_altered_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_total
-
-
Job invocation operations every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101310` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_99th_percentile_duration
-
-
99th percentile successful job invocation operation duration over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101311` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_reconciler_scip_metadata_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_errors_total
-
-
Job invocation operation errors every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101312` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_error_rate
-
-
Job invocation operation error rate over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101313` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
-```
-
-
-
-
-### Code Intelligence > Uploads: Codeintel: Uploads > Reconciler task > Codeintel uploads reconciler scip data
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_records_scanned_total
-
-
Records scanned every 5m
-
-The number of candidate records considered for cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101400` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_reconciler_scip_data_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_records_altered_total
-
-
Records altered every 5m
-
-The number of candidate records altered as part of cleanup.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101401` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_codeintel_uploads_reconciler_scip_data_records_altered_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_total
-
-
Job invocation operations every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101410` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_99th_percentile_duration
-
-
99th percentile successful job invocation operation duration over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101411` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_reconciler_scip_data_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_errors_total
-
-
Job invocation operation errors every 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101412` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job=~"^${source:regex}.*"}[5m]))
-```
-
-
-
-
-#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_error_rate
-
-
Job invocation operation error rate over 5m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101413` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
-```
-
-
-
-
-## Telemetry
-
-
Monitoring telemetry services in Sourcegraph.
-
-To see this dashboard, visit `/-/debug/grafana/d/telemetry/telemetry` on your Sourcegraph instance.
-
-### Telemetry: Telemetry Gateway Exporter: Events export and queue metrics
-
-#### telemetry: telemetry_gateway_exporter_queue_size
-
-
Telemetry event payloads pending export
-
-The number of events queued to be exported.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100000` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(src_telemetrygatewayexporter_queue_size)
-```
-
-
-
-
-#### telemetry: telemetry_gateway_exporter_queue_growth
-
-
Rate of growth of events export queue over 30m
-
-A positive value indicates the queue is growing.
-
-Refer to the [alerts reference](alerts#telemetry-telemetry_gateway_exporter_queue_growth) for 2 alerts related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100001` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-max(deriv(src_telemetrygatewayexporter_queue_size[30m]))
-```
-
-
-
-
-#### telemetry: src_telemetrygatewayexporter_exported_events
-
-
Events exported from queue per hour
-
-The number of events being exported.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100010` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-max(increase(src_telemetrygatewayexporter_exported_events[1h]))
-```
-
-
-
-
-#### telemetry: telemetry_gateway_exporter_batch_size
-
-
Number of events exported per batch over 30m
-
-The number of events exported in each batch. The largest bucket is the maximum number of events exported per batch.
-If the distribution trends to the maximum bucket, then events export throughput is at or approaching saturation - try increasing `TELEMETRY_GATEWAY_EXPORTER_EXPORT_BATCH_SIZE` or decreasing `TELEMETRY_GATEWAY_EXPORTER_EXPORT_INTERVAL`.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100011` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (le) (rate(src_telemetrygatewayexporter_batch_size_bucket[30m]))
-```
-
-
-
-
-### Telemetry: Telemetry Gateway Exporter: Events export job operations
-
-#### telemetry: telemetrygatewayexporter_exporter_total
-
-
Events exporter operations every 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100100` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_exporter_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_exporter_99th_percentile_duration
-
-
Aggregate successful events exporter operation duration distribution over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100101` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (le)(rate(src_telemetrygatewayexporter_exporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_exporter_errors_total
-
-
Events exporter operation errors every 30m
-
-Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_exporter_errors_total) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100102` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_exporter_errors_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_exporter_error_rate
-
-
Events exporter operation error rate over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100103` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_exporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_exporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_exporter_errors_total{job=~"^worker.*"}[30m]))) * 100
-```
-
-
-
-
-### Telemetry: Telemetry Gateway Exporter: Events export queue cleanup job operations
-
-#### telemetry: telemetrygatewayexporter_queue_cleanup_total
-
-
Events export queue cleanup operations every 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100200` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_queue_cleanup_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_queue_cleanup_99th_percentile_duration
-
-
Aggregate successful events export queue cleanup operation duration distribution over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100201` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (le)(rate(src_telemetrygatewayexporter_queue_cleanup_duration_seconds_bucket{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_queue_cleanup_errors_total
-
-
Events export queue cleanup operation errors every 30m
-
-Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_queue_cleanup_errors_total) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100202` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_queue_cleanup_error_rate
-
-
Events export queue cleanup operation error rate over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100203` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_queue_cleanup_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))) * 100
-```
-
-
-
-
-### Telemetry: Telemetry Gateway Exporter: Events export queue metrics reporting job operations
-
-#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_total
-
-
Events export backlog metrics reporting operations every 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100300` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_99th_percentile_duration
-
-
Aggregate successful events export backlog metrics reporting operation duration distribution over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100301` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (le)(rate(src_telemetrygatewayexporter_queue_metrics_reporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_errors_total
-
-
Events export backlog metrics reporting operation errors every 30m
-
-Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_queue_metrics_reporter_errors_total) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100302` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_error_rate
-
-
Events export backlog metrics reporting operation error rate over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100303` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))) * 100
-```
-
-
-
-
-### Telemetry: Telemetry persistence
-
-#### telemetry: telemetry_v2_export_queue_write_failures
-
-
Failed writes to events export queue over 5m
-
-Telemetry V2 writes send events into the `telemetry_events_export_queue` for the exporter to periodically export.
-
-Refer to the [alerts reference](alerts#telemetry-telemetry_v2_export_queue_write_failures) for 2 alerts related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100400` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-(sum(increase(src_telemetry_export_store_queued_events{failed="true"}[5m])) / sum(increase(src_telemetry_export_store_queued_events[5m]))) * 100
-```
-
-
-
-
-#### telemetry: telemetry_v2_event_logs_write_failures
-
-
Failed write V2 events to V1 'event_logs' over 5m
-
-Telemetry V2 writes also attempt to `tee` events into the legacy V1 events format in the `event_logs` database table for long-term local persistence.
-
-Refer to the [alerts reference](alerts#telemetry-telemetry_v2_event_logs_write_failures) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100401` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-(sum(increase(src_telemetry_teestore_v1_events{failed="true"}[5m])) / sum(increase(src_telemetry_teestore_v1_events[5m]))) * 100
-```
-
-
-
-
-### Telemetry: Telemetry Gateway Exporter: (off by default) User metadata export job operations
-
-#### telemetry: telemetrygatewayexporter_usermetadata_exporter_total
-
-
(off by default) user metadata exporter operations every 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100500` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_usermetadata_exporter_99th_percentile_duration
-
-
Aggregate successful (off by default) user metadata exporter operation duration distribution over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100501` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (le)(rate(src_telemetrygatewayexporter_usermetadata_exporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_usermetadata_exporter_errors_total
-
-
(off by default) user metadata exporter operation errors every 30m
-
-Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_usermetadata_exporter_errors_total) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100502` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job=~"^worker.*"}[30m]))
-```
-
-
-
-
-#### telemetry: telemetrygatewayexporter_usermetadata_exporter_error_rate
-
-
(off by default) user metadata exporter operation error rate over 30m
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100503` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Services team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job=~"^worker.*"}[30m]))) * 100
-```
-
-
-
-
-## OpenTelemetry Collector
-
-
The OpenTelemetry collector ingests OpenTelemetry data from Sourcegraph and exports it to the configured backends.
-
-To see this dashboard, visit `/-/debug/grafana/d/otel-collector/otel-collector` on your Sourcegraph instance.
-
-### OpenTelemetry Collector: Receivers
-
-#### otel-collector: otel_span_receive_rate
-
-
Spans received per receiver per minute
-
-Shows the rate of spans accepted by the configured reveiver
-
-A Trace is a collection of spans and a span represents a unit of work or operation. Spans are the building blocks of Traces.
-The spans have only been accepted by the receiver, which means they still have to move through the configured pipeline to be exported.
-For more information on tracing and configuration of a OpenTelemetry receiver see https://opentelemetry.io/docs/collector/configuration/#receivers.
-
-See the Exporters section see spans that have made it through the pipeline and are exported.
-
-Depending the configured processors, received spans might be dropped and not exported. For more information on configuring processors see
-https://opentelemetry.io/docs/collector/configuration/#processors.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100000` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (receiver) (rate(otelcol_receiver_accepted_spans[1m]))
-```
-
-
-
-
-#### otel-collector: otel_span_refused
-
-
Spans refused per receiver
-
-
-
-Refer to the [alerts reference](alerts#otel-collector-otel_span_refused) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100001` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (receiver) (rate(otelcol_receiver_refused_spans[1m]))
-```
-
-
-
-
-### OpenTelemetry Collector: Exporters
-
-#### otel-collector: otel_span_export_rate
-
-
Spans exported per exporter per minute
-
-Shows the rate of spans being sent by the exporter
-
-A Trace is a collection of spans. A Span represents a unit of work or operation. Spans are the building blocks of Traces.
-The rate of spans here indicates spans that have made it through the configured pipeline and have been sent to the configured export destination.
-
-For more information on configuring a exporter for the OpenTelemetry collector see https://opentelemetry.io/docs/collector/configuration/#exporters.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100100` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (exporter) (rate(otelcol_exporter_sent_spans[1m]))
-```
-
-
-
-
-#### otel-collector: otel_span_export_failures
-
-
Span export failures by exporter
-
-Shows the rate of spans failed to be sent by the configured reveiver. A number higher than 0 for a long period can indicate a problem with the exporter configuration or with the service that is being exported too
-
-For more information on configuring a exporter for the OpenTelemetry collector see https://opentelemetry.io/docs/collector/configuration/#exporters.
-
-Refer to the [alerts reference](alerts#otel-collector-otel_span_export_failures) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100101` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (exporter) (rate(otelcol_exporter_send_failed_spans[1m]))
-```
-
-
-
-
-### OpenTelemetry Collector: Queue Length
-
-#### otel-collector: otelcol_exporter_queue_capacity
-
-
Exporter queue capacity
-
-Shows the the capacity of the retry queue (in batches).
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100200` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (exporter) (rate(otelcol_exporter_queue_capacity{job=~"^.*"}[1m]))
-```
-
-
-
-
-#### otel-collector: otelcol_exporter_queue_size
-
-
Exporter queue size
-
-Shows the current size of retry queue
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100201` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (exporter) (rate(otelcol_exporter_queue_size{job=~"^.*"}[1m]))
-```
-
-
-
-
-#### otel-collector: otelcol_exporter_enqueue_failed_spans
-
-
Exporter enqueue failed spans
-
-Shows the rate of spans failed to be enqueued by the configured exporter. A number higher than 0 for a long period can indicate a problem with the exporter configuration
-
-Refer to the [alerts reference](alerts#otel-collector-otelcol_exporter_enqueue_failed_spans) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100202` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (exporter) (rate(otelcol_exporter_enqueue_failed_spans{job=~"^.*"}[1m]))
-```
-
-
-
-
-### OpenTelemetry Collector: Processors
-
-#### otel-collector: otelcol_processor_dropped_spans
-
-
Spans dropped per processor per minute
-
-Shows the rate of spans dropped by the configured processor
-
-Refer to the [alerts reference](alerts#otel-collector-otelcol_processor_dropped_spans) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100300` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (processor) (rate(otelcol_processor_dropped_spans[1m]))
-```
-
-
-
-
-### OpenTelemetry Collector: Collector resource usage
-
-#### otel-collector: otel_cpu_usage
-
-
Cpu usage of the collector
-
-Shows CPU usage as reported by the OpenTelemetry collector.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100400` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (job) (rate(otelcol_process_cpu_seconds{job=~"^.*"}[1m]))
-```
-
-
-
-
-#### otel-collector: otel_memory_resident_set_size
-
-
Memory allocated to the otel collector
-
-Shows the allocated memory Resident Set Size (RSS) as reported by the OpenTelemetry collector.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100401` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (job) (rate(otelcol_process_memory_rss{job=~"^.*"}[1m]))
-```
-
-
-
-
-#### otel-collector: otel_memory_usage
-
-
Memory used by the collector
-
-Shows how much memory is being used by the otel collector.
-
-* High memory usage might indicate thad the configured pipeline is keeping a lot of spans in memory for processing
-* Spans failing to be sent and the exporter is configured to retry
-* A high batch count by using a batch processor
-
-For more information on configuring processors for the OpenTelemetry collector see https://opentelemetry.io/docs/collector/configuration/#processors.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100402` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by (job) (rate(otelcol_process_runtime_total_alloc_bytes{job=~"^.*"}[1m]))
-```
-
-
-
-
-### OpenTelemetry Collector: Container monitoring (not available on server)
-
-#### otel-collector: container_missing
-
-
Container missing
-
-This value is the number of times a container has not been seen for more than one minute. If you observe this
-value change independent of deployment events (such as an upgrade), it could indicate pods are being OOM killed or terminated for some other reasons.
-
-- **Kubernetes:**
- - Determine if the pod was OOM killed using `kubectl describe pod otel-collector` (look for `OOMKilled: true`) and, if so, consider increasing the memory limit in the relevant `Deployment.yaml`.
- - Check the logs before the container restarted to see if there are `panic:` messages or similar using `kubectl logs -p otel-collector`.
-- **Docker Compose:**
- - Determine if the pod was OOM killed using `docker inspect -f '\{\{json .State\}\}' otel-collector` (look for `"OOMKilled":true`) and, if so, consider increasing the memory limit of the otel-collector container in `docker-compose.yml`.
- - Check the logs before the container restarted to see if there are `panic:` messages or similar using `docker logs otel-collector` (note this will include logs from the previous and currently running container).
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100500` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-count by(name) ((time() - container_last_seen{name=~"^otel-collector.*"}) > 60)
-```
-
-
-
-
-#### otel-collector: container_cpu_usage
-
-
Container cpu usage total (1m average) across all cores by instance
-
-Refer to the [alerts reference](alerts#otel-collector-container_cpu_usage) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100501` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-cadvisor_container_cpu_usage_percentage_total{name=~"^otel-collector.*"}
-```
-
-
-
-
-#### otel-collector: container_memory_usage
-
-
Container memory usage by instance
-
-Refer to the [alerts reference](alerts#otel-collector-container_memory_usage) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100502` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-cadvisor_container_memory_usage_percentage_total{name=~"^otel-collector.*"}
-```
-
-
-
-
-#### otel-collector: fs_io_operations
-
-
Filesystem reads and writes rate by instance over 1h
-
-This value indicates the number of filesystem read and write operations by containers of this service.
-When extremely high, this can indicate a resource usage problem, or can cause problems with the service itself, especially if high values or spikes correlate with \{\{CONTAINER_NAME\}\} issues.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100503` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
-
-
-Technical details
-
-Query:
-
-```
-sum by(name) (rate(container_fs_reads_total{name=~"^otel-collector.*"}[1h]) + rate(container_fs_writes_total{name=~"^otel-collector.*"}[1h]))
-```
-
-
-
-
-### OpenTelemetry Collector: Kubernetes monitoring (only available on Kubernetes)
-
-#### otel-collector: pods_available_percentage
-
-
Percentage pods available
-
-Refer to the [alerts reference](alerts#otel-collector-pods_available_percentage) for 1 alert related to this panel.
-
-To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100600` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Platform team.*
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33434,30 +31944,21 @@ To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewP
Query:
```
-sum by(app) (up{app=~".*otel-collector"}) / count by (app) (up{app=~".*otel-collector"}) * 100
+histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_hard_deleter_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
```
-## Completions
-
-
Cody chat and code completions.
-
-To see this dashboard, visit `/-/debug/grafana/d/completions/completions` on your Sourcegraph instance.
-
-### Completions: Completions requests
-
-#### completions: api_request_rate
-
-
Rate of completions API requests
+#### codeintel-uploads: codeintel_uploads_hard_deleter_errors_total
-Rate (QPS) of requests to cody chat and code completion endpoints.
+
Job invocation operation errors every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100000` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101012` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33465,24 +31966,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-sum by (code)(irate(src_http_request_duration_seconds_count{route=~"^cody.completions.*"}[5m]))
+sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${source:regex}.*"}[5m]))
```
-### Completions: Chat completions
-
-#### completions: chat_completions_p99_stream_duration
-
-
Stream: total time (p99)
+#### codeintel-uploads: codeintel_uploads_hard_deleter_error_rate
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+
Job invocation operation error rate over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100100` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101013` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33490,22 +31988,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_stream_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_hard_deleter_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
```
-#### completions: chat_completions_p95_stream_duration
+### Code Intelligence > Uploads: Codeintel: Uploads > Janitor task > Codeintel uploads janitor audit logs
+
+#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_records_scanned_total
-
Stream: total time (p95)
+
Records scanned every 5m
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100101` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101100` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33513,22 +32014,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_stream_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_codeintel_uploads_janitor_audit_logs_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p75_stream_duration
+#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_records_altered_total
-
Stream: total time (p75)
+
Records altered every 5m
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100102` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101101` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33536,22 +32038,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_stream_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_codeintel_uploads_janitor_audit_logs_records_altered_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p50_stream_duration
-
-
Stream: total time (p50)
+#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_total
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+
Job invocation operations every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100103` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101110` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33559,22 +32060,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_stream_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p99_non_stream_overhead_duration
-
-
Non-stream overhead (p99)
+#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_99th_percentile_duration
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
99th percentile successful job invocation operation duration over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100110` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101111` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33582,22 +32082,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_audit_logs_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
```
-#### completions: chat_completions_p95_non_stream_overhead_duration
-
-
Non-stream overhead (p95)
+#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_errors_total
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
Job invocation operation errors every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100111` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101112` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33605,22 +32104,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p75_non_stream_overhead_duration
-
-
Non-stream overhead (p75)
+#### codeintel-uploads: codeintel_uploads_janitor_audit_logs_error_rate
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
Job invocation operation error rate over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100112` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101113` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33628,22 +32126,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
```
-#### completions: chat_completions_p50_non_stream_overhead_duration
+### Code Intelligence > Uploads: Codeintel: Uploads > Janitor task > Codeintel uploads janitor scip documents
+
+#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_records_scanned_total
-
Non-stream overhead (p50)
+
Records scanned every 5m
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100113` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101200` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33651,22 +32152,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum(increase(src_codeintel_uploads_janitor_scip_documents_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p99_stream_first_event_duration
+#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_records_altered_total
-
Stream: time to first event (p99)
+
Records altered every 5m
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100120` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101201` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33674,22 +32176,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_codeintel_uploads_janitor_scip_documents_records_altered_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p95_stream_first_event_duration
-
-
Stream: time to first event (p95)
+#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_total
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+
Job invocation operations every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100121` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101210` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33697,22 +32198,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p75_stream_first_event_duration
-
-
Stream: time to first event (p75)
+#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_99th_percentile_duration
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+
99th percentile successful job invocation operation duration over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100122` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101211` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33720,22 +32220,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_scip_documents_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
```
-#### completions: chat_completions_p50_stream_first_event_duration
-
-
Stream: time to first event (p50)
+#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_errors_total
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+
Job invocation operation errors every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100123` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101212` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33743,22 +32242,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p99_upstream_roundtrip_duration
-
-
Stream: first byte sent -> received (p99)
+#### codeintel-uploads: codeintel_uploads_janitor_scip_documents_error_rate
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+
Job invocation operation error rate over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100130` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101213` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33766,22 +32264,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
```
-#### completions: chat_completions_p95_upstream_roundtrip_duration
+### Code Intelligence > Uploads: Codeintel: Uploads > Reconciler task > Codeintel uploads reconciler scip metadata
+
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_records_scanned_total
-
Stream: first byte sent -> received (p95)
+
Records scanned every 5m
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100131` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101300` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33789,22 +32290,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum(increase(src_codeintel_uploads_reconciler_scip_metadata_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p75_upstream_roundtrip_duration
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_records_altered_total
-
Stream: first byte sent -> received (p75)
+
Records altered every 5m
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100132` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101301` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33812,22 +32314,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum(increase(src_codeintel_uploads_reconciler_scip_metadata_records_altered_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p50_upstream_roundtrip_duration
-
-
Stream: first byte sent -> received (p50)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_total
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+
Job invocation operations every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100133` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101310` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33835,22 +32336,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="chat_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p99_http_connect_total
-
-
Stream: HTTP connect: total (p99)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_99th_percentile_duration
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+
99th percentile successful job invocation operation duration over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100140` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101311` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33858,22 +32358,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_reconciler_scip_metadata_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
```
-#### completions: chat_completions_p95_http_connect_total
-
-
Stream: HTTP connect: total (p95)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_errors_total
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+
Job invocation operation errors every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100141` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101312` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33881,22 +32380,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p75_http_connect_total
-
-
Stream: HTTP connect: total (p75)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_metadata_error_rate
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+
Job invocation operation error rate over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100142` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101313` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33904,22 +32402,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
```
-#### completions: chat_completions_p50_http_connect_total
+### Code Intelligence > Uploads: Codeintel: Uploads > Reconciler task > Codeintel uploads reconciler scip data
+
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_records_scanned_total
-
Stream: HTTP connect: total (p50)
+
Records scanned every 5m
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100143` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101400` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33927,22 +32428,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum(increase(src_codeintel_uploads_reconciler_scip_data_records_scanned_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p99_http_connect_dns
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_records_altered_total
-
Stream: HTTP connect: dns (p99)
+
Records altered every 5m
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100150` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101401` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33950,22 +32452,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum(increase(src_codeintel_uploads_reconciler_scip_data_records_altered_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p95_http_connect_dns
-
-
Stream: HTTP connect: dns (p95)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_total
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+
Job invocation operations every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100151` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101410` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33973,22 +32474,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p75_http_connect_dns
-
-
Stream: HTTP connect: dns (p75)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_99th_percentile_duration
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+
99th percentile successful job invocation operation duration over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100152` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101411` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -33996,22 +32496,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_reconciler_scip_data_duration_seconds_bucket{job=~"^${source:regex}.*"}[5m])))
```
-#### completions: chat_completions_p50_http_connect_dns
-
-
Stream: HTTP connect: dns (p50)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_errors_total
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+
Job invocation operation errors every 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100153` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101412` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -34019,22 +32518,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job=~"^${source:regex}.*"}[5m]))
```
-#### completions: chat_completions_p99_http_connect_tls
-
-
Stream: HTTP connect: tls (p99)
+#### codeintel-uploads: codeintel_uploads_reconciler_scip_data_error_rate
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+
Job invocation operation error rate over 5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100160` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101413` on your Sourcegraph instance.
+*Managed by the Sourcegraph Code Understanding team.*Technical details
@@ -34042,22 +32540,31 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job=~"^${source:regex}.*"}[5m])) / (sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_total{job=~"^${source:regex}.*"}[5m])) + sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job=~"^${source:regex}.*"}[5m]))) * 100
```
-#### completions: chat_completions_p95_http_connect_tls
+## Telemetry
+
+
Monitoring telemetry services in Sourcegraph.
+
+To see this dashboard, visit `/-/debug/grafana/d/telemetry/telemetry` on your Sourcegraph instance.
+
+### Telemetry: Telemetry Gateway Exporter: Events export and queue metrics
+
+#### telemetry: telemetry_gateway_exporter_queue_size
-
Stream: HTTP connect: tls (p95)
+
Telemetry event payloads pending export
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+The number of events queued to be exported.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100161` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100000` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34065,22 +32572,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum(src_telemetrygatewayexporter_queue_size)
```
-#### completions: chat_completions_p75_http_connect_tls
+#### telemetry: telemetry_gateway_exporter_queue_growth
-
Stream: HTTP connect: tls (p75)
+
Rate of growth of events export queue over 30m
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+A positive value indicates the queue is growing.
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#telemetry-telemetry_gateway_exporter_queue_growth) for 2 alerts related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100162` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100001` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34088,22 +32596,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+max(deriv(src_telemetrygatewayexporter_queue_size[30m]))
```
-#### completions: chat_completions_p50_http_connect_tls
+#### telemetry: src_telemetrygatewayexporter_exported_events
-
Stream: HTTP connect: tls (p50)
+
Events exported from queue per hour
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+The number of events being exported.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100163` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100010` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34111,22 +32620,24 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+max(increase(src_telemetrygatewayexporter_exported_events[1h]))
```
-#### completions: chat_completions_p99_http_connect_dial
+#### telemetry: telemetry_gateway_exporter_batch_size
-
Stream: HTTP connect: dial (p99)
+
Number of events exported per batch over 30m
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+The number of events exported in each batch. The largest bucket is the maximum number of events exported per batch.
+If the distribution trends to the maximum bucket, then events export throughput is at or approaching saturation - try increasing `TELEMETRY_GATEWAY_EXPORTER_EXPORT_BATCH_SIZE` or decreasing `TELEMETRY_GATEWAY_EXPORTER_EXPORT_INTERVAL`.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100170` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100011` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34134,22 +32645,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (le) (rate(src_telemetrygatewayexporter_batch_size_bucket[30m]))
```
-#### completions: chat_completions_p95_http_connect_dial
+### Telemetry: Telemetry Gateway Exporter: Events export job operations
-
Stream: HTTP connect: dial (p95)
+#### telemetry: telemetrygatewayexporter_exporter_total
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+
Events exporter operations every 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100171` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100100` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34157,22 +32669,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum(increase(src_telemetrygatewayexporter_exporter_total{job=~"^worker.*"}[30m]))
```
-#### completions: chat_completions_p75_http_connect_dial
-
-
Stream: HTTP connect: dial (p75)
+#### telemetry: telemetrygatewayexporter_exporter_99th_percentile_duration
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+
Aggregate successful events exporter operation duration distribution over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100172` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100101` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34180,22 +32691,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (le)(rate(src_telemetrygatewayexporter_exporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
```
-#### completions: chat_completions_p50_http_connect_dial
-
-
Stream: HTTP connect: dial (p50)
+#### telemetry: telemetrygatewayexporter_exporter_errors_total
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+
Events exporter operation errors every 30m
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_exporter_errors_total) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100173` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100102` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34203,24 +32713,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum(increase(src_telemetrygatewayexporter_exporter_errors_total{job=~"^worker.*"}[30m]))
```
-### Completions: Code completions
-
-#### completions: code_completions_p99_stream_duration
-
-
Stream: total time (p99)
+#### telemetry: telemetrygatewayexporter_exporter_error_rate
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+
Events exporter operation error rate over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100103` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34228,22 +32735,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_stream_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_telemetrygatewayexporter_exporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_exporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_exporter_errors_total{job=~"^worker.*"}[30m]))) * 100
```
-#### completions: code_completions_p95_stream_duration
+### Telemetry: Telemetry Gateway Exporter: Events export queue cleanup job operations
-
Stream: total time (p95)
+#### telemetry: telemetrygatewayexporter_queue_cleanup_total
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+
Events export queue cleanup operations every 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100201` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100200` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34251,22 +32759,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_stream_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_telemetrygatewayexporter_queue_cleanup_total{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p75_stream_duration
-
-
Stream: total time (p75)
+#### telemetry: telemetrygatewayexporter_queue_cleanup_99th_percentile_duration
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+
Aggregate successful events export queue cleanup operation duration distribution over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100202` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100201` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34274,22 +32781,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_stream_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum by (le)(rate(src_telemetrygatewayexporter_queue_cleanup_duration_seconds_bucket{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p50_stream_duration
-
-
Stream: total time (p50)
+#### telemetry: telemetrygatewayexporter_queue_cleanup_errors_total
-Time spent on the Stream() invocation, i.e. how long results take to connect, stream results, and finish streaming.
+
Events export queue cleanup operation errors every 30m
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_queue_cleanup_errors_total) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100203` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100202` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34297,22 +32803,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_stream_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_telemetrygatewayexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p99_non_stream_overhead_duration
-
-
Non-stream overhead (p99)
+#### telemetry: telemetrygatewayexporter_queue_cleanup_error_rate
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
Events export queue cleanup operation error rate over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100203` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34320,22 +32825,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum(increase(src_telemetrygatewayexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_queue_cleanup_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))) * 100
```
-#### completions: code_completions_p95_non_stream_overhead_duration
+### Telemetry: Telemetry Gateway Exporter: Events export queue metrics reporting job operations
-
Non-stream overhead (p95)
+#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_total
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
Events export backlog metrics reporting operations every 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100300` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34343,22 +32849,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_total{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p75_non_stream_overhead_duration
-
-
Non-stream overhead (p75)
+#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_99th_percentile_duration
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
Aggregate successful events export backlog metrics reporting operation duration distribution over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100301` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34366,22 +32871,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum by (le)(rate(src_telemetrygatewayexporter_queue_metrics_reporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p50_non_stream_overhead_duration
-
-
Non-stream overhead (p50)
+#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_errors_total
-Time between Go HTTP handler invocation and Stream() invocation, overhead of e.g. request validation, routing to gateway/other, model resolution, error reporting/tracing, guardrails, etc.
+
Events export backlog metrics reporting operation errors every 30m
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_queue_metrics_reporter_errors_total) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100213` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100302` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34389,22 +32893,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_handler_overhead_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le,model))
+sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p99_stream_first_event_duration
-
-
Stream: time to first event (p99)
+#### telemetry: telemetrygatewayexporter_queue_metrics_reporter_error_rate
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+
Events export backlog metrics reporting operation error rate over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100220` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100303` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34412,22 +32915,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))) * 100
```
-#### completions: code_completions_p95_stream_first_event_duration
+### Telemetry: Telemetry persistence
-
Stream: time to first event (p95)
+#### telemetry: telemetry_v2_export_queue_write_failures
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+
Failed writes to events export queue over 5m
-This panel has no related alerts.
+Telemetry V2 writes send events into the `telemetry_events_export_queue` for the exporter to periodically export.
+
+Refer to the [alerts reference](alerts#telemetry-telemetry_v2_export_queue_write_failures) for 2 alerts related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100221` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100400` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34435,22 +32941,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+(sum(increase(src_telemetry_export_store_queued_events{failed="true"}[5m])) / sum(increase(src_telemetry_export_store_queued_events[5m]))) * 100
```
-#### completions: code_completions_p75_stream_first_event_duration
+#### telemetry: telemetry_v2_event_logs_write_failures
-
Stream: time to first event (p75)
+
Failed write V2 events to V1 'event_logs' over 5m
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+Telemetry V2 writes also attempt to `tee` events into the legacy V1 events format in the `event_logs` database table for long-term local persistence.
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#telemetry-telemetry_v2_event_logs_write_failures) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100222` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100401` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34458,22 +32965,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+(sum(increase(src_telemetry_teestore_v1_events{failed="true"}[5m])) / sum(increase(src_telemetry_teestore_v1_events[5m]))) * 100
```
-#### completions: code_completions_p50_stream_first_event_duration
+### Telemetry: Telemetry Gateway Exporter: (off by default) User metadata export job operations
-
Stream: time to first event (p50)
+#### telemetry: telemetrygatewayexporter_usermetadata_exporter_total
-Time between calling Stream(), the client connecting to the server etc. and actually getting the first streaming event back.
+
(off by default) user metadata exporter operations every 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100223` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100500` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34481,22 +32989,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_stream_first_event_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, model))
+sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_total{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p99_upstream_roundtrip_duration
-
-
Stream: first byte sent -> received (p99)
+#### telemetry: telemetrygatewayexporter_usermetadata_exporter_99th_percentile_duration
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+
Aggregate successful (off by default) user metadata exporter operation duration distribution over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100230` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100501` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34504,22 +33011,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum by (le)(rate(src_telemetrygatewayexporter_usermetadata_exporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p95_upstream_roundtrip_duration
-
-
Stream: first byte sent -> received (p95)
+#### telemetry: telemetrygatewayexporter_usermetadata_exporter_errors_total
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+
(off by default) user metadata exporter operation errors every 30m
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#telemetry-telemetrygatewayexporter_usermetadata_exporter_errors_total) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100231` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100502` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34527,22 +33033,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job=~"^worker.*"}[30m]))
```
-#### completions: code_completions_p75_upstream_roundtrip_duration
-
-
Stream: first byte sent -> received (p75)
+#### telemetry: telemetrygatewayexporter_usermetadata_exporter_error_rate
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+
(off by default) user metadata exporter operation error rate over 30m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100232` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/telemetry/telemetry?viewPanel=100503` on your Sourcegraph instance.
+*Managed by the Sourcegraph Services team.*Technical details
@@ -34550,22 +33055,40 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job=~"^worker.*"}[30m]))) * 100
```
-#### completions: code_completions_p50_upstream_roundtrip_duration
+## OpenTelemetry Collector
+
+
The OpenTelemetry collector ingests OpenTelemetry data from Sourcegraph and exports it to the configured backends.
+
+To see this dashboard, visit `/-/debug/grafana/d/otel-collector/otel-collector` on your Sourcegraph instance.
+
+### OpenTelemetry Collector: Receivers
+
+#### otel-collector: otel_span_receive_rate
+
+
Spans received per receiver per minute
+
+Shows the rate of spans accepted by the configured reveiver
+
+A Trace is a collection of spans and a span represents a unit of work or operation. Spans are the building blocks of Traces.
+The spans have only been accepted by the receiver, which means they still have to move through the configured pipeline to be exported.
+For more information on tracing and configuration of a OpenTelemetry receiver see https://opentelemetry.io/docs/collector/configuration/#receivers.
-
Stream: first byte sent -> received (p50)
+See the Exporters section see spans that have made it through the pipeline and are exported.
-Time between sending the first byte to the upstream, and then getting the first byte back from the upstream.
+Depending the configured processors, received spans might be dropped and not exported. For more information on configuring processors see
+https://opentelemetry.io/docs/collector/configuration/#processors.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100233` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100000` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34573,22 +33096,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_roundtrip_duration_seconds_bucket{feature="code_completions",model=~'${model}'}[$sampling_duration])) by (le, provider))
+sum by (receiver) (rate(otelcol_receiver_accepted_spans[1m]))
```
-#### completions: code_completions_p99_http_connect_total
+#### otel-collector: otel_span_refused
+
+
Spans refused per receiver
-
Stream: HTTP connect: total (p99)
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#otel-collector-otel_span_refused) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100240` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100001` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34596,22 +33120,30 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum by (receiver) (rate(otelcol_receiver_refused_spans[1m]))
```
-#### completions: code_completions_p95_http_connect_total
+### OpenTelemetry Collector: Exporters
+
+#### otel-collector: otel_span_export_rate
+
+
Spans exported per exporter per minute
+
+Shows the rate of spans being sent by the exporter
-
Stream: HTTP connect: total (p95)
+A Trace is a collection of spans. A Span represents a unit of work or operation. Spans are the building blocks of Traces.
+The rate of spans here indicates spans that have made it through the configured pipeline and have been sent to the configured export destination.
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+For more information on configuring a exporter for the OpenTelemetry collector see https://opentelemetry.io/docs/collector/configuration/#exporters.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100241` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100100` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34619,22 +33151,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum by (exporter) (rate(otelcol_exporter_sent_spans[1m]))
```
-#### completions: code_completions_p75_http_connect_total
+#### otel-collector: otel_span_export_failures
-
Stream: HTTP connect: total (p75)
+
Span export failures by exporter
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+Shows the rate of spans failed to be sent by the configured reveiver. A number higher than 0 for a long period can indicate a problem with the exporter configuration or with the service that is being exported too
-This panel has no related alerts.
+For more information on configuring a exporter for the OpenTelemetry collector see https://opentelemetry.io/docs/collector/configuration/#exporters.
+
+Refer to the [alerts reference](alerts#otel-collector-otel_span_export_failures) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100242` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100101` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34642,22 +33177,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum by (exporter) (rate(otelcol_exporter_send_failed_spans[1m]))
```
-#### completions: code_completions_p50_http_connect_total
+### OpenTelemetry Collector: Queue Length
+
+#### otel-collector: otelcol_exporter_queue_capacity
-
Stream: HTTP connect: total (p50)
+
Exporter queue capacity
-Time spent acquiring an HTTP connection to the upstream, either from an existing pool OR by performing DNS resolution, TCP connection, etc.
+Shows the the capacity of the retry queue (in batches).
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100243` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100200` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34665,22 +33203,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_total_duration_seconds_bucket[$sampling_duration])) by (le, connection_type, provider))
+sum by (exporter) (rate(otelcol_exporter_queue_capacity{job=~"^.*"}[1m]))
```
-#### completions: code_completions_p99_http_connect_dns
+#### otel-collector: otelcol_exporter_queue_size
-
Stream: HTTP connect: dns (p99)
+
Exporter queue size
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+Shows the current size of retry queue
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100250` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100201` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34688,22 +33227,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (exporter) (rate(otelcol_exporter_queue_size{job=~"^.*"}[1m]))
```
-#### completions: code_completions_p95_http_connect_dns
+#### otel-collector: otelcol_exporter_enqueue_failed_spans
-
Stream: HTTP connect: dns (p95)
+
Exporter enqueue failed spans
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+Shows the rate of spans failed to be enqueued by the configured exporter. A number higher than 0 for a long period can indicate a problem with the exporter configuration
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#otel-collector-otelcol_exporter_enqueue_failed_spans) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100251` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100202` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34711,22 +33251,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (exporter) (rate(otelcol_exporter_enqueue_failed_spans{job=~"^.*"}[1m]))
```
-#### completions: code_completions_p75_http_connect_dns
+### OpenTelemetry Collector: Processors
-
Stream: HTTP connect: dns (p75)
+#### otel-collector: otelcol_processor_dropped_spans
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+
Spans dropped per processor per minute
-This panel has no related alerts.
+Shows the rate of spans dropped by the configured processor
+
+Refer to the [alerts reference](alerts#otel-collector-otelcol_processor_dropped_spans) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100252` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100300` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34734,22 +33277,25 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (processor) (rate(otelcol_processor_dropped_spans[1m]))
```
-#### completions: code_completions_p50_http_connect_dns
+### OpenTelemetry Collector: Collector resource usage
+
+#### otel-collector: otel_cpu_usage
-
Stream: HTTP connect: dns (p50)
+
Cpu usage of the collector
-Portion of time spent on DNS when acquiring an HTTP connection to the upstream.
+Shows CPU usage as reported by the OpenTelemetry collector.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100253` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100400` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34757,22 +33303,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_dns_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (job) (rate(otelcol_process_cpu_seconds{job=~"^.*"}[1m]))
```
-#### completions: code_completions_p99_http_connect_tls
+#### otel-collector: otel_memory_resident_set_size
-
Stream: HTTP connect: tls (p99)
+
Memory allocated to the otel collector
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+Shows the allocated memory Resident Set Size (RSS) as reported by the OpenTelemetry collector.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100260` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100401` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34780,22 +33327,29 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (job) (rate(otelcol_process_memory_rss{job=~"^.*"}[1m]))
```
-#### completions: code_completions_p95_http_connect_tls
+#### otel-collector: otel_memory_usage
+
+
Memory used by the collector
+
+Shows how much memory is being used by the otel collector.
-
Stream: HTTP connect: tls (p95)
+* High memory usage might indicate thad the configured pipeline is keeping a lot of spans in memory for processing
+* Spans failing to be sent and the exporter is configured to retry
+* A high batch count by using a batch processor
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+For more information on configuring processors for the OpenTelemetry collector see https://opentelemetry.io/docs/collector/configuration/#processors.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100261` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100402` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34803,22 +33357,33 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (job) (rate(otelcol_process_runtime_total_alloc_bytes{job=~"^.*"}[1m]))
```
-#### completions: code_completions_p75_http_connect_tls
+### OpenTelemetry Collector: Container monitoring (not available on server)
+
+#### otel-collector: container_missing
+
+
Container missing
-
Stream: HTTP connect: tls (p75)
+This value is the number of times a container has not been seen for more than one minute. If you observe this
+value change independent of deployment events (such as an upgrade), it could indicate pods are being OOM killed or terminated for some other reasons.
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+- **Kubernetes:**
+ - Determine if the pod was OOM killed using `kubectl describe pod otel-collector` (look for `OOMKilled: true`) and, if so, consider increasing the memory limit in the relevant `Deployment.yaml`.
+ - Check the logs before the container restarted to see if there are `panic:` messages or similar using `kubectl logs -p otel-collector`.
+- **Docker Compose:**
+ - Determine if the pod was OOM killed using `docker inspect -f '\{\{json .State\}\}' otel-collector` (look for `"OOMKilled":true`) and, if so, consider increasing the memory limit of the otel-collector container in `docker-compose.yml`.
+ - Check the logs before the container restarted to see if there are `panic:` messages or similar using `docker logs otel-collector` (note this will include logs from the previous and currently running container).
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100262` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100500` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34826,22 +33391,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+count by(name) ((time() - container_last_seen{name=~"^otel-collector.*"}) > 60)
```
-#### completions: code_completions_p50_http_connect_tls
-
-
Stream: HTTP connect: tls (p50)
+#### otel-collector: container_cpu_usage
-Portion of time spent on TLS when acquiring an HTTP connection to the upstream.
+
Container cpu usage total (1m average) across all cores by instance
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#otel-collector-container_cpu_usage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100263` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100501` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34849,22 +33413,21 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_tls_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+cadvisor_container_cpu_usage_percentage_total{name=~"^otel-collector.*"}
```
-#### completions: code_completions_p99_http_connect_dial
-
-
Stream: HTTP connect: dial (p99)
+#### otel-collector: container_memory_usage
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+
Container memory usage by instance
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#otel-collector-container_memory_usage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100270` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100502` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34872,22 +33435,24 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.99, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+cadvisor_container_memory_usage_percentage_total{name=~"^otel-collector.*"}
```
-#### completions: code_completions_p95_http_connect_dial
+#### otel-collector: fs_io_operations
-
Stream: HTTP connect: dial (p95)
+
Filesystem reads and writes rate by instance over 1h
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+This value indicates the number of filesystem read and write operations by containers of this service.
+When extremely high, this can indicate a resource usage problem, or can cause problems with the service itself, especially if high values or spikes correlate with \{\{CONTAINER_NAME\}\} issues.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100271` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100503` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34895,22 +33460,23 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.95, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by(name) (rate(container_fs_reads_total{name=~"^otel-collector.*"}[1h]) + rate(container_fs_writes_total{name=~"^otel-collector.*"}[1h]))
```
-#### completions: code_completions_p75_http_connect_dial
+### OpenTelemetry Collector: Kubernetes monitoring (only available on Kubernetes)
-
Stream: HTTP connect: dial (p75)
+#### otel-collector: pods_available_percentage
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+
Percentage pods available
-This panel has no related alerts.
+Refer to the [alerts reference](alerts#otel-collector-pods_available_percentage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100272` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/otel-collector/otel-collector?viewPanel=100600` on your Sourcegraph instance.
+*Managed by the Sourcegraph Platform team.*Technical details
@@ -34918,21 +33484,29 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.75, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by(app) (up{app=~".*otel-collector"}) / count by (app) (up{app=~".*otel-collector"}) * 100
```
-#### completions: code_completions_p50_http_connect_dial
+## Completions
+
+
Cody chat and code completions.
+
+To see this dashboard, visit `/-/debug/grafana/d/completions/completions` on your Sourcegraph instance.
+
+### Completions: Completions requests
+
+#### completions: api_request_rate
-
Stream: HTTP connect: dial (p50)
+
Rate of completions API requests
-Portion of time spent on golang Dial() when acquiring an HTTP connection to the upstream.
+Rate (QPS) of requests to cody chat and code completion endpoints.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100273` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=100000` on your Sourcegraph instance.
@@ -34941,7 +33515,7 @@ To see this panel, visit `/-/debug/grafana/d/completions/completions?viewPanel=1
Query:
```
-histogram_quantile(0.50, sum(rate(src_completions_upstream_connection_dial_duration_seconds_bucket[$sampling_duration])) by (le, provider))
+sum by (code)(irate(src_http_request_duration_seconds_count{route=~"^cody.completions.*"}[5m]))
```
From 32b853a7f361b7dca54ae08ede6d7fea4be008a2 Mon Sep 17 00:00:00 2001
From: Keegan Carruthers-Smith
Date: Tue, 31 Mar 2026 11:04:01 +0200
Subject: [PATCH 065/217] mcp: document RBAC and mcp.enabled (#1714)
---
docs/admin/access-control/index.mdx | 3 +-
docs/admin/oauth-apps.mdx | 37 ++++++++++++----
docs/api/mcp/index.mdx | 65 ++++++++++++++++++++++++++++-
docs/technical-changelog.mdx | 2 +-
4 files changed, 96 insertions(+), 11 deletions(-)
diff --git a/docs/admin/access-control/index.mdx b/docs/admin/access-control/index.mdx
index 87382e8f3..ff98aecf8 100644
--- a/docs/admin/access-control/index.mdx
+++ b/docs/admin/access-control/index.mdx
@@ -14,7 +14,7 @@
same repository access on Sourcegraph as your code host.
-Sourcegraph uses [Role-Based Access Control (RBAC)](https://en.wikipedia.org/wiki/Role-based_access_control) to enable fine-grained control over different features and abilities of Sourcegraph, without having to modify permissions for each user individually. Currently, the scope of permissions control is limited to [Batch Changes](/admin/access-control/batch-changes) functionality, but it will be expanded to other areas in the future.
+Sourcegraph uses [Role-Based Access Control (RBAC)](https://en.wikipedia.org/wiki/Role-based_access_control) to enable fine-grained control over different features and abilities of Sourcegraph, without having to modify permissions for each user individually. RBAC currently covers several areas, including [Batch Changes](/admin/access-control/batch-changes), [service accounts](/admin/service-accounts), and [Sourcegraph MCP Server access](/api/mcp#availability-and-access-control), and it will expand to other areas over time.
## Managing roles and permissions
@@ -43,6 +43,7 @@ You can read about the specific permission types available for each RBAC-enabled
- [Batch Changes](/admin/access-control/batch-changes)
- [Service accounts](/admin/service-accounts)
+- [Sourcegraph MCP Server](/api/mcp#availability-and-access-control)
### Deleting a role
diff --git a/docs/admin/oauth-apps.mdx b/docs/admin/oauth-apps.mdx
index d0df6f6fc..b5cc061da 100644
--- a/docs/admin/oauth-apps.mdx
+++ b/docs/admin/oauth-apps.mdx
@@ -91,14 +91,15 @@ When creating an OAuth app, select the minimum scopes necessary for your applica
## OAuth endpoints reference
-| Endpoint | URL |
-| -------------------- | ------------------------------------------------------------- |
-| Authorization | `https://sourcegraph.example.com/.auth/idp/oauth/authorize` |
-| Token | `https://sourcegraph.example.com/.auth/idp/oauth/token` |
-| Device Authorization | `https://sourcegraph.example.com/.auth/idp/oauth/device/code` |
-| Token Revocation | `https://sourcegraph.example.com/.auth/idp/oauth/revoke` |
-| Token Introspection | `https://sourcegraph.example.com/.auth/idp/oauth/introspect` |
-| User Info | `https://sourcegraph.example.com/.auth/idp/oauth/userinfo` |
+| Endpoint | URL |
+|-----------------------------|---------------------------------------------------------------|
+| Authorization | `https://sourcegraph.example.com/.auth/idp/oauth/authorize` |
+| Dynamic Client Registration | `https://sourcegraph.example.com/.auth/idp/oauth/register` |
+| Token | `https://sourcegraph.example.com/.auth/idp/oauth/token` |
+| Device Authorization | `https://sourcegraph.example.com/.auth/idp/oauth/device/code` |
+| Token Revocation | `https://sourcegraph.example.com/.auth/idp/oauth/revoke` |
+| Token Introspection | `https://sourcegraph.example.com/.auth/idp/oauth/introspect` |
+| User Info | `https://sourcegraph.example.com/.auth/idp/oauth/userinfo` |
## OAuth Flow Examples
@@ -359,3 +360,23 @@ curl -X POST https://sourcegraph.example.com/.auth/idp/oauth/revoke \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" # Only for private clients
```
+
+## Dynamic Client Registration for MCP
+
+Sourcegraph also supports OAuth 2.0 Dynamic Client Registration (RFC 7591) at
+`/.auth/idp/oauth/register` for MCP clients that can self-register.
+
+This endpoint can be disabled by setting either `mcp.enabled` or
+`auth.idpDynamicClientRegistrationEnabled` to `false`.
+
+Applications created through Dynamic Client Registration are limited to the
+`mcp` scope. For general OAuth integrations that need scopes such as
+`user:all`, `openid`, or `offline_access`, create an OAuth app manually.
+
+
+ To disable self-registration, set
+ `auth.idpDynamicClientRegistrationEnabled` to `false`. If `mcp.enabled` is
+ `false`, Dynamic Client Registration is also unavailable. See
+ [MCP authentication and access control](/api/mcp#availability-and-access-control)
+ for the MCP-specific behavior.
+
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 507b05dad..a19d7cd24 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -92,7 +92,7 @@ If your agent doesn't support Dynamic Client Registration, you can manually crea
-To disable DCR, set the following site configuration:
+To disable DCR while leaving MCP available, set the following site configuration:
```json
{
@@ -100,6 +100,9 @@ To disable DCR, set the following site configuration:
}
```
+If `mcp.enabled` is `false`, DCR is also unavailable and the registration
+endpoint returns `404`.
+
### Access Tokens
@@ -115,6 +118,66 @@ Authorization: token YOUR_ACCESS_TOKEN
only.
+## Availability and Access Control
+
+Admins can control MCP at three levels:
+
+- Site configuration: `mcp.enabled` enables or disables the MCP HTTP endpoints.
+- OAuth Dynamic Client Registration: `auth.idpDynamicClientRegistrationEnabled` controls whether OAuth clients can self-register; it is effectively disabled whenever `mcp.enabled` is `false`.
+- RBAC: users must have the `MCP#ACCESS` permission to use MCP.
+
+### Site-Level Enablement
+
+Use the `mcp.enabled` site configuration to turn the MCP server on or off for the entire instance:
+
+```json
+{
+ "mcp.enabled": true
+}
+```
+
+`mcp.enabled` defaults to `true`. When set to `false`, requests to `/.api/mcp`
+and its subpaths return `404 no route`.
+
+### OAuth Dynamic Client Registration
+
+Use `auth.idpDynamicClientRegistrationEnabled` to control whether compatible
+OAuth clients can self-register against the Sourcegraph identity provider:
+
+```json
+{
+ "auth.idpDynamicClientRegistrationEnabled": true
+}
+```
+
+`auth.idpDynamicClientRegistrationEnabled` defaults to `true`, but it is
+treated as `false` whenever `mcp.enabled` is `false`. When DCR is unavailable,
+requests to `/.auth/idp/oauth/register` return `404 not found`.
+
+### Restricting MCP with RBAC
+
+When MCP is enabled, Sourcegraph also checks the `MCP#ACCESS` permission before
+serving MCP requests. Users without that permission receive `403 forbidden`.
+
+By default, `MCP#ACCESS` is granted to the built-in `User` system role, so all
+signed-in users can access MCP unless an admin changes the default role
+permissions.
+
+To restrict MCP to a subset of users:
+
+1. Open **Site admin > Users & auth > Roles**.
+2. Edit the built-in **User** role and remove the `MCP > ACCESS` permission if you want MCP denied by default.
+3. Create a custom role that includes `MCP > ACCESS`.
+4. Assign that role to the users who should be allowed to use MCP.
+
+See [Access control](/admin/access-control) for more about managing roles and permissions.
+
+
+ MCP access control is separate from [repository permissions](/admin/permissions/).
+ Users can only read data from repositories they are already allowed to access
+ in Sourcegraph.
+
+
## Available Tools
diff --git a/docs/technical-changelog.mdx b/docs/technical-changelog.mdx
index bbb202928..9b41994ed 100644
--- a/docs/technical-changelog.mdx
+++ b/docs/technical-changelog.mdx
@@ -497,7 +497,7 @@ There were no uncategorized changes for this release
#### Auth
- add site setting auth.idpDynamicClientRegistrationEnabled `(PR #8336)`
- - Sourcegraph now supports OAuth 2.0 Dynamic Client Registration (RFC 7591). This makes it easier to authenticate against Sourcegraph from an MCP client. As an administrator you must set `auth.idpDynamicClientRegistrationEnabled` to `true` in your site settings.
+ - Sourcegraph now supports OAuth 2.0 Dynamic Client Registration (RFC 7591) for MCP clients. The feature is controlled by `auth.idpDynamicClientRegistrationEnabled` and is effectively disabled when `mcp.enabled` is `false`.
#### Code Nav
From 71bb3f765f05fe78246c19112bb13d715476ba44 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Tue, 31 Mar 2026 11:29:23 -0700
Subject: [PATCH 066/217] customer-facing beta and experimental policy (#1726)
Adaptation of
https://docs.google.com/document/d/15bVl9QBs4aJiJlmiqhGIt8ZMUb9G9dYLpVpqSSo4Rf8/edit?tab=t.aw66tktynwlv
for external reference.
Minor deviation being discussed here:
https://sourcegraph.slack.com/archives/C0AFZSM5RU2/p1774900987314169?thread_ts=1774028164.914529&cid=C0AFZSM5RU2
**Preview:
https://sourcegraph-docs-git-beta-and-experimental-sourcegraph-f8c71130.vercel.app/beta-and-experimental**
---
docs/admin/beta-and-experimental-features.mdx | 38 -------------
docs/admin/index.mdx | 2 +-
docs/admin/repo/perforce.mdx | 2 +-
docs/beta-and-experimental/index.mdx | 57 +++++++++++++++++++
docs/sla/index.mdx | 4 +-
src/data/navigation.ts | 32 +++++------
src/data/redirects.ts | 7 ++-
7 files changed, 83 insertions(+), 59 deletions(-)
delete mode 100644 docs/admin/beta-and-experimental-features.mdx
create mode 100644 docs/beta-and-experimental/index.mdx
diff --git a/docs/admin/beta-and-experimental-features.mdx b/docs/admin/beta-and-experimental-features.mdx
deleted file mode 100644
index 66a077ca7..000000000
--- a/docs/admin/beta-and-experimental-features.mdx
+++ /dev/null
@@ -1,38 +0,0 @@
-# Beta and experimental features
-
-Sourcegraph often beta tests major features before we make them generally available.
-
-Exposing beta and experimental features gives you an opportunity to try our newest features sooner.
-
-In return, your feedback helps us make sure that our new features are reliable and useful, and we appreciate any and all feedback you want to provide. You can email us directly to [feedback@sourcegraph.com](mailto:feedback@sourcegraph.com).
-
-## Both beta and experimental features
-
-For both features labeled `Beta` and those labeled `Experimental`, Sourcegraph wants to be transparent that:
-
-- The feature is undergoing active development and your [feedback](mailto:feedback@sourcegraph.com) is especially appreciated
-- The feature may have bugs
-- The feature may be changed, deprecated, or removed
-- The feature is excluded from our [Support SLAs](https://handbook.sourcegraph.com/support#slas)
-- The feature may have an additional cost to use once it becomes generally available
-- Any documentation for the feature will explicitly note the feature is in beta or experimental mode
-
-## Experimental features
-
-If a feature is labeled `Experimental`, this specifically means:
-
-- The feature may be primarily supported by the product engineering team rather than our customer support team
-- The feature may have limited support and no documentation in the Sourcegraph docs
-- The feature will have to be deliberately enabled
-- The customer engineering team may not be aware or proficient in introducing this feature
-- We think there's about a 50% chance this makes it to Beta
-
-## Beta features
-
-If a feature is labeled `Beta`, this specifically means:
-
-- The feature will have documentation on sourcegraph.com/docs
-- The feature will be primarily supported by the customer support team
-- The feature may require intentional setup, or it may be widely available to all users by default
-- The customer engineering team is aware of this feature, but may rely on product managers to introduce it to customers
-- We think there's about a 90% chance this makes it to GA
diff --git a/docs/admin/index.mdx b/docs/admin/index.mdx
index 20624c5ce..0ff10c2f8 100644
--- a/docs/admin/index.mdx
+++ b/docs/admin/index.mdx
@@ -13,7 +13,7 @@ Sourcegraph administration is primarily managed by site administrators, who are
## Features
- [Batch Changes](/batch-changes/)
-- [Beta and experimental features](/admin/beta-and-experimental-features)
+- [Beta and experimental features](/beta-and-experimental)
- [Code navigation](/code-navigation/)
- [Pings](/admin/pings)
- [Telemetry](/admin/telemetry)
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index ce80f19b1..8cb33dbab 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -300,7 +300,7 @@ We are actively working to significantly improve Sourcegraph's Perforce support.
## Configure experimental features
-As of Sourcegraph 5.1, there are the following experimental features for Perforce depots. These are merely for providing feedback and have [limited support](/admin/beta-and-experimental-features#experimental-features).
+As of Sourcegraph 5.1, there are the following experimental features for Perforce depots. These are merely for providing feedback and have [limited support](/beta-and-experimental#experimental-features).
### Changelist ID in URLs
diff --git a/docs/beta-and-experimental/index.mdx b/docs/beta-and-experimental/index.mdx
new file mode 100644
index 000000000..638763c75
--- /dev/null
+++ b/docs/beta-and-experimental/index.mdx
@@ -0,0 +1,57 @@
+# Beta and experimental features
+
+**Beta** and **Experimental** Sourcegraph features give you an opportunity to try newer features and shape their development, before they become generally available.
+
+Your feedback helps us make sure that our new features are reliable and useful, and we appreciate any and all feedback you want to provide. You can email us directly to [feedback@sourcegraph.com](mailto:feedback@sourcegraph.com).
+
+For both features labeled **Beta** or **Experimental**, Sourcegraph wants to be transparent that:
+
+- The feature is undergoing active development and your [feedback](mailto:feedback@sourcegraph.com) is especially appreciated
+- The feature may have bugs, and is excluded from our support SLAs
+- The feature may change, be deprecated, be removed, or be disabled at any time
+- The feature may have temporary usage limits during the beta and experimental period.
+- The feature may require admin enablement or other intentional setup
+- The feature may become [billable with credits](#credits-and-billing) once they become generally available
+
+## Feature lifecycle
+
+Features generally move through the following stages:
+
+| Stage | Label | Credit impact |
+| -------------------------------------- | ---------------- | ------------------------------------------------------------------------------ |
+| [Experimental](#experimental-features) | **Experimental** | No credits consumed |
+| [Beta](#beta-features) | **Beta** | No credits consumed |
+| General availability | No special label | [Credits may apply according to the published rate card](#credits-and-billing) |
+
+## Experimental features
+
+If a feature is labeled **Experimental**, this specifically means:
+
+- The feature is intended for early evaluation and will generally require deliberate enablement
+- There may be no fixed timeline for moving the feature to **Beta** or general availability
+- Some **Experimental** features may have credit costs associated with them when they exit Beta into general availability; see [credits and billing](#credits-and-billing)
+- Admins can disable **Experimental** features globally
+
+General points about [both beta and experimental features](#beta-and-experimental-features) also apply.
+
+## Beta features
+
+If a feature is labeled **Beta**, this specifically means:
+
+- The feature may be widely available to all customers by default
+- There may be no fixed timeline for moving the feature to general availability
+- Some **Beta** features may have credit costs associated with them when they graduate to general availability; see [credits and billing](#credits-and-billing)
+- Admins can disable **Beta** features globally
+
+General points about [both beta and experimental features](#beta-and-experimental-features) also apply.
+
+## Credits and billing
+
+Billing depends on the feature.
+
+- **Experimental** and **Beta** features do _not_ consume credits
+- Some **Beta** or **Experimental** features, when they graduate to general availability, may be billable with credits.
+ - Such features will have a **Beta** stage with messaging that identifies, if applicable, the upcoming credit cost and start date. Sourcegraph will provide at least 30 days notice before credits consumption begins.
+- Admins can [configure limits](/admin/entitlements) on the use of credit-consuming features
+
+To learn more about credits and billing, please reach out to your account manager or [support@sourcegraph.com](mailto:support@sourcegraph.com).
diff --git a/docs/sla/index.mdx b/docs/sla/index.mdx
index 1e7e79e3d..13c5ebaf4 100644
--- a/docs/sla/index.mdx
+++ b/docs/sla/index.mdx
@@ -11,7 +11,7 @@ seoPriority: 1.0
## Service Level Agreements (SLAs)
-Our service level agreements (SLAs) are designed for products that are generally available and exclude [beta and experimental features](/admin/beta-and-experimental-features). SLA response times indicate how quickly we aim to provide an initial response to your inquiries or concerns. Our team will resolve all issues as quickly as possible. However, it's important to understand that SLA times differ from guaranteed resolution times.
+Our service level agreements (SLAs) are designed for products that are generally available and exclude [beta and experimental features](/beta-and-experimental). SLA response times indicate how quickly we aim to provide an initial response to your inquiries or concerns. Our team will resolve all issues as quickly as possible. However, it's important to understand that SLA times differ from guaranteed resolution times.
While we always strive to respond to your issues as quickly as possible, our SLAs are specifically applicable from Monday through Friday.
@@ -119,7 +119,7 @@ Premium SLAs give customers access to our Support team 24x7 for Severity 0 and 1
First response times remain the same according to our SLAs. However, Emergency and Severe Impact issues are supported 24x7 with Premium Support (versus 24x5 without Premium Support).
-This service is provided for all GA products Sourcegraph offers, not for any [Experimental or Beta features](/admin/beta-and-experimental-features).
+This service is provided for all GA products Sourcegraph offers, not for any [Experimental or Beta features](/beta-and-experimental).
> NOTE: This package includes access to Slack Support
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index 16e4fb9e6..996f311c8 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -90,7 +90,7 @@ export const navigation: NavigationItem[] = [
]
},
{
- title: 'Cody FAQs',
+ title: 'Code Search FAQs',
href: '/code-search/faq'
}
]
@@ -258,7 +258,7 @@ export const navigation: NavigationItem[] = [
title: 'Troubleshooting Cody',
href: '/cody/troubleshooting'
},
- {title: 'Administration FAQ', href: '/cody/faq'}
+ {title: 'Cody FAQ', href: '/cody/faq'}
]
}
]
@@ -590,6 +590,10 @@ export const navigation: NavigationItem[] = [
}
]
},
+ {
+ title: 'Sourcegraph Model Provider',
+ href: '/model-provider'
+ },
{
title: 'Sourcegraph Analytics',
href: '/analytics',
@@ -599,8 +603,8 @@ export const navigation: NavigationItem[] = [
]
},
{
- title: 'Sourcegraph Model Provider',
- href: '/model-provider'
+ title: 'Sourcegraph Accounts',
+ href: '/sourcegraph-accounts'
}
]
},
@@ -621,24 +625,20 @@ export const navigation: NavigationItem[] = [
separator: 'Help & support',
topics: [
{
- title: 'SLAs and premium support',
- href: '/sla'
- },
- {
- title: 'Sourcegraph tutorials',
- href: '/tutorials'
+ title: 'Changelog',
+ href: 'https://sourcegraph.com/changelog'
},
{
- title: 'Sourcegraph Accounts',
- href: '/sourcegraph-accounts'
+ title: 'Beta and experimental features',
+ href: '/beta-and-experimental'
},
{
- title: 'Changelog',
- href: 'https://sourcegraph.com/changelog'
+ title: 'SLAs and premium support',
+ href: '/sla'
},
{
- title: 'Sourcegraph releases',
- href: '/releases'
+ title: 'Tutorials',
+ href: '/tutorials'
}
]
}
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index 8a2948dd9..b164a1e55 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -6460,7 +6460,7 @@ const redirectsData = [
},
{
source: '/admin/beta_and_experimental_features',
- destination: '/admin/beta-and-experimental-features',
+ destination: '/beta-and-experimental',
permanent: true
},
{
@@ -7134,6 +7134,11 @@ const redirectsData = [
destination: '/admin/permissions',
permanent: true
},
+ {
+ source: '/admin/beta-and-experimental-features',
+ destination: '/beta-and-experimental',
+ permanent: true
+ },
// RSS feed moved from /docs/technical-changelog.rss to /changelog/technical-changelog.rss
// This redirect preserves existing RSS subscriptions
{
From f81d05e1c49d5f36f3c52404c8e1d959c2fb0d4e Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Tue, 31 Mar 2026 11:49:26 -0700
Subject: [PATCH 067/217] make 7.1 latest version release (#1728)
---
docs.config.js | 2 +-
src/data/versions.ts | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/docs.config.js b/docs.config.js
index a5452538d..d82726f00 100644
--- a/docs.config.js
+++ b/docs.config.js
@@ -1,5 +1,5 @@
const config = {
- DOCS_LATEST_VERSION: '7.0'
+ DOCS_LATEST_VERSION: '7.1'
};
module.exports = config;
diff --git a/src/data/versions.ts b/src/data/versions.ts
index 6b6730373..2e0a15a2b 100644
--- a/src/data/versions.ts
+++ b/src/data/versions.ts
@@ -13,6 +13,11 @@ export const versions: VersionI[] = [
label: 'latest',
url: '/docs'
},
+ {
+ name: 'v7.0',
+ url: 'https://7.0.sourcegraph.com'
+ },
+
{
name: 'v6.12',
url: 'https://6.12.sourcegraph.com'
From 46404c4a67743c954a89c06d130b0f88e9844836 Mon Sep 17 00:00:00 2001
From: Erik Seliger
Date: Wed, 1 Apr 2026 01:53:15 +0200
Subject: [PATCH 068/217] docs: remove Enterprise Starter from Slack
integration support (#1731)
---
docs/slack-integration.mdx | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/docs/slack-integration.mdx b/docs/slack-integration.mdx
index c748cbdea..007008fad 100644
--- a/docs/slack-integration.mdx
+++ b/docs/slack-integration.mdx
@@ -1,8 +1,7 @@
# Slack Integration
- Supported on [Enterprise Starter](/pricing/plans/enterprise-starter) and
- [Enterprise](/pricing/plans/enterprise) plans.
+ Supported on [Enterprise](/pricing/plans/enterprise) plans.
The Sourcegraph Slack integration brings the power of [Deep Search](/deep-search) directly into your Slack workspace. When you mention `@Sourcegraph` in any Slack channel or thread, a Deep Search conversation starts right there—no context switching required.
From 0f3f2c0f2704a46b44567afb2109651fecae0afa Mon Sep 17 00:00:00 2001
From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com>
Date: Thu, 2 Apr 2026 13:20:53 +0100
Subject: [PATCH 069/217] Remove beta tag from RBAC access control page (#1737)
RBAC is no longer in beta. This removes the beta callout from the access
control documentation page.
---
docs/admin/access-control/index.mdx | 2 --
1 file changed, 2 deletions(-)
diff --git a/docs/admin/access-control/index.mdx b/docs/admin/access-control/index.mdx
index ff98aecf8..01744edac 100644
--- a/docs/admin/access-control/index.mdx
+++ b/docs/admin/access-control/index.mdx
@@ -5,8 +5,6 @@
Available via the Web app.
-This feature is in Beta stage.
-
This page refers to in-product permissions, which determine who can, for
example, create a batch change, or who is a site admin. This is *not* the
From 483062fc1025bde676ddf7d5c4b77f777fd31bef Mon Sep 17 00:00:00 2001
From: Michael Bahr <1830132+bahrmichael@users.noreply.github.com>
Date: Thu, 2 Apr 2026 14:42:26 +0200
Subject: [PATCH 070/217] chore: remove experimental notice from commit signing
docs (#1738)
Created by Sourcegraph Agentic Batch Changes workflow
[_Created by Sourcegraph batch change
`bahrmichael/mb-update-docs-commit-signing-experimental`._](https://sourcegraph.sourcegraph.com/users/bahrmichael/batch-changes/mb-update-docs-commit-signing-experimental)
Co-authored-by: Sourcegraph <15893131+sourcegraph-bot@users.noreply.github.com>
---
docs/admin/config/batch-changes.mdx | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/docs/admin/config/batch-changes.mdx b/docs/admin/config/batch-changes.mdx
index 3d783ccae..f87655a59 100644
--- a/docs/admin/config/batch-changes.mdx
+++ b/docs/admin/config/batch-changes.mdx
@@ -176,12 +176,7 @@ Batch Changes supports commit signing with both GitHub apps and with SSH keys.
### Commit signing with SSH keys (GitLab and GitHub)
-
- Commit signing with SSH keys is currently Experimental and is supported only
- with Sourcegraph v6.2 or more.
-
-
-Commit signing with SSH keys can only be combined with a personal or fine-grained access token.
+Commit signing with SSH keys is supported with Sourcegraph v6.2 or more and can only be combined with a personal or fine-grained access token.
Sourcegraph can be configured to sign commits using SSH keys with user and site admin credentials.
From b753c189277440b0a7916e357313f5e1817224a7 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Thu, 2 Apr 2026 11:11:31 -0700
Subject: [PATCH 071/217] docs(api): add webhooks link to API overview (#1739)
Adds a link to the [Webhooks](/admin/webhooks/) docs from the [API
overview page](/api/), alongside the other integration-specific API
links.
Co-authored-by: Claude Sonnet 4.6
---
docs/api/index.mdx | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/api/index.mdx b/docs/api/index.mdx
index a8d8894ee..447540eb1 100644
--- a/docs/api/index.mdx
+++ b/docs/api/index.mdx
@@ -14,6 +14,7 @@ For specific types of integrations, Sourcegraph also offers the following APIs:
- [Sourcegraph streaming search API](/api/stream-api/), for consuming search results as a stream of events
- [Sourcegraph MCP server](/api/mcp/), for connecting AI agents and applications to Sourcegraph's code search capabilities
- [Sourcegraph Analytics API](/analytics/api/), for accessing your Sourcegraph Analytics data
+- [Webhooks](/admin/webhooks/), for receiving event notifications from Sourcegraph
For diagnostics use cases, the [Sourcegraph GraphQL debug API](/api/graphql/) is also available without any compatibility guarauntees.
From 9b03cf7b3486786894fcf1a7af5dc9148f99e68e Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Mon, 6 Apr 2026 14:23:49 -0700
Subject: [PATCH 072/217] docs: fix access token config to show correct nested
JSON structure (#1741)
---
docs/cli/how-tos/managing-access-tokens.mdx | 30 ++++++++++++++-------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/docs/cli/how-tos/managing-access-tokens.mdx b/docs/cli/how-tos/managing-access-tokens.mdx
index 7e468e06a..acd0bc648 100644
--- a/docs/cli/how-tos/managing-access-tokens.mdx
+++ b/docs/cli/how-tos/managing-access-tokens.mdx
@@ -1,23 +1,35 @@
# Managing access tokens
-The `auth.accessTokens` setting in Sourcegraph's site configuration allows admins to fine-tune parameters related to access tokens.
+The `auth.accessTokens` setting in Sourcegraph's site configuration allows admins to fine-tune parameters related to access tokens:
+
+```json
+{
+ "auth.accessTokens": {
+ "allow": "all-users-create",
+ "allowNoExpiration": false,
+ "maxTokensPerUser": 25,
+ "expirationOptionDays": [7, 14, 30, 60, 90],
+ "defaultExpirationDays": 90
+ }
+}
+```
## Access token creation
-The `auth.accessTokens.allow` configuration field permits or restricts the creation of access tokens. It can be assigned one of three values: "none," "all-users-create" (which is the default option), or "site-admin-create.”
+The `allow` property permits or restricts the use of access tokens. It can be assigned one of three values:
-- `none` Disables the creation of access tokens.
-- `all-users-create` Allows users to create their own token.
-- `site-admin-create` Allows site admins to create tokens for users.
+- `all-users-create` (default) Enables all users to create access tokens.
+- `site-admin-create` Restricts creation of new tokens to admin users (existing tokens will still work until revoked).
+- `none` Disables access tokens entirely.
-`auth.accessTokens.maxTokensPerUser` - This config field determines the maximum number of active access tokens a user can have. The default maximum is 25 tokens.
+The `maxTokensPerUser` property determines the maximum number of active access tokens a user can have. The default maximum is 25 tokens.
## Access token expiration
Admins can set expiration policies for access tokens. After this specified period, tokens will automatically lose their access. Note that tokens created before version 5.3 do not expire; this policy only applies to **new** tokens.
-`auth.accessTokens.allowNoExpiration` - This controls whether tokens can be created with no expiration date. The default setting is false.
+`allowNoExpiration` - Controls whether tokens can be created with no expiration date. The default setting is false.
-`auth.accessTokens.expirationOptionDays` - This represents the options users are presented with for the token expiration period. The default options are [7, 14, 30, 60, 90].
+`expirationOptionDays` - The options users are presented with for the token expiration period. The default options are [7, 14, 30, 60, 90].
-`auth.accessTokens.defaultExpirationDays` - This sets the default duration selection when creating a new access token. The default is 90 days.
+`defaultExpirationDays` - The default duration selection when creating a new access token. The default is 90 days.
From f4743f22b0f1e822fbc749782b6aed62ea22fa3d Mon Sep 17 00:00:00 2001
From: Peter Guy
Date: Tue, 7 Apr 2026 15:12:23 -0700
Subject: [PATCH 073/217] remove endpoint command line and expand on
SRC_ENDPOINT and SRC_ACCES_TOKEN (#1742)
We're still figuring out how to expand `src login` with OAuth; made some
(hopefully clarifying) changes to the CLI quickstart docs.
---
docs/batch-changes/quickstart.mdx | 10 +---------
docs/cli/quickstart.mdx | 10 +++++-----
2 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/docs/batch-changes/quickstart.mdx b/docs/batch-changes/quickstart.mdx
index a36619142..8e22b1d8f 100644
--- a/docs/batch-changes/quickstart.mdx
+++ b/docs/batch-changes/quickstart.mdx
@@ -31,15 +31,7 @@ curl -L https:///.api/src-cli/src_linux_amd64 -o
chmod +x /usr/local/bin/src
```
-Authenticate `src` with your Sourcegraph instance by running `src login` and following the instructions:
-
-```bash
-src login https://
-```
-
-
-
-Once `src login` reports that you're authenticated, you're ready for the next step.
+Authenticate `src` with your Sourcegraph instance by following the [CLI quickstart](/cli/quickstart) and you'll be ready for the next step.
## Write a batch spec
diff --git a/docs/cli/quickstart.mdx b/docs/cli/quickstart.mdx
index 021a0e42b..4c394d4bf 100644
--- a/docs/cli/quickstart.mdx
+++ b/docs/cli/quickstart.mdx
@@ -47,17 +47,17 @@ For other options, please refer to [the Windows specific `src` documentation](/c
## Connect to Sourcegraph
-`src` needs to be authenticated against your Sourcegraph instance. The quickest way to do this is to run `src login https://YOUR-SOURCEGRAPH-INSTANCE` and follow the instructions:
-
-
+`src` needs to be authenticated against your Sourcegraph instance. The quickest way to do this is to add `SRC_ENDPOINT=https://YOUR-SOURCEGRAPH-INSTANCE` to your shell environment, then run `src login` to launch OAuth authentication against your Sourcegraph instance.
### OAuth login
-`src login` supports interactive OAuth login, so you can sign in without creating or exporting a `SRC_ACCESS_TOKEN`.
+`src login` supports interactive OAuth login, so you can sign in without creating or exporting `SRC_ACCESS_TOKEN`.
If you need to reuse the current `src` credential in another command, `src auth token` prints the raw token and `src auth token --header` prints a complete `Authorization` header for the active authentication mode.
-If you need non-interactive authentication, such as in CI or scripts, you can still use `SRC_ENDPOINT` and `SRC_ACCESS_TOKEN`.
+### PAT login
+
+If you need non-interactive authentication, such as in CI or scripts, you can still [create an access token](/cli/how-tos/creating-an-access-token) in your Sourcegraph instance, then use `SRC_ACCESS_TOKEN` in the shell environment, along with `SRC_ENDPOINT`. In this case, `src login` is not necessary: `src` will use the PAT from the environment to authenticate against your Sourcegraph instance.
## Run a code search
From 9da3f390764bcb29161a3c12a09929b2f5a6c7a1 Mon Sep 17 00:00:00 2001
From: Erik Seliger
Date: Fri, 10 Apr 2026 15:18:09 +0200
Subject: [PATCH 074/217] Move 5.x releases to legacy section (#1743)
Policy is latest two major releases (so 7.x and 6.x at this time), we
just forgot to update this.
---
docs/legacy.mdx | 106 +++++++++++++--------------
src/components/ReleasesTable.tsx | 120 +++++++++++++++----------------
2 files changed, 112 insertions(+), 114 deletions(-)
diff --git a/docs/legacy.mdx b/docs/legacy.mdx
index f1cd8c725..83a656790 100644
--- a/docs/legacy.mdx
+++ b/docs/legacy.mdx
@@ -1,77 +1,77 @@
# Legacy Versions
- This page displays the docs for legacy Sourcegraph versions less than 5.1
+ Find versioned documentation for previous versions of Sourcegraph below.
- ))}
@@ -187,6 +126,65 @@ export function SupportedReleasesTable() {
export function DeprecatedReleasesTable() {
const deprecatedReleases = [
+ {
+ version: '5.10 Patch 1',
+ date: 'December 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.10.1164'
+ },
+ {
+ version: '5.10 Patch 0',
+ date: 'November 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.10.0'
+ },
+ {
+ version: '5.9 Patch 3',
+ date: 'November 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.9.1590'
+ },
+ {
+ version: '5.9 Patch 2',
+ date: 'November 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.9.347'
+ },
+ {
+ version: '5.9 Patch 1',
+ date: 'November 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.9.45'
+ },
+ {
+ version: '5.9 Patch 0',
+ date: 'October 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.9.0'
+ },
+ {
+ version: '5.8 Patch 1',
+ date: 'October 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.8.1579'
+ },
+ {
+ version: '5.8 Patch 0',
+ date: 'October 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.8.0'
+ },
+ {
+ version: '5.7 Patch 1',
+ date: 'September 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.7.2474'
+ },
+ {
+ version: '5.7 Patch 0',
+ date: 'September 2024',
+ url: 'https://sourcegraph.com/changelog/releases/5.7.0'
+ },
+ {version: '5.6 Patch 2', date: 'August 2024', anchor: 'v562535'},
+ {version: '5.6 Patch 1', date: 'August 2024', anchor: 'v56185'},
+ {version: '5.6', date: 'August 2024', anchor: 'v560'},
+ {version: '5.5', date: 'July 2024', anchor: 'v553956'},
+ {version: '5.4', date: 'May 2024', anchor: 'v547765'},
+ {version: '5.3', date: 'February 2024', anchor: 'v5312303'},
+ {version: '5.2', date: 'October 2023', anchor: 'v527'},
+ {version: '5.1', date: 'June 2023', anchor: 'v519'},
+ {version: '5.0', date: 'March 2023', anchor: 'v506'},
{version: '4.5', date: 'February 2023', anchor: 'v451'},
{version: '4.4', date: 'January 2023', anchor: 'v442'},
{version: '4.3', date: 'December 2022', anchor: 'v431'},
From 139064ae458225ef9a67af6c5389e548e085f13b Mon Sep 17 00:00:00 2001
From: mibali <111276665+mibali@users.noreply.github.com>
Date: Fri, 10 Apr 2026 18:58:50 +0100
Subject: [PATCH 075/217] Update azuredevops.mdx (#1746)
Updated the page to include the recently Added `repos` field to Azure
DevOps external service for explicit repository selection
---
docs/admin/code-hosts/azuredevops.mdx | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index a3b676c21..60ea02fb2 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -39,7 +39,11 @@ Next, configure the code host connection by following the next steps:
"username": "",
"token": "",
"projects": ["org1/project1"],
- "orgs": ["org2"]
+ "orgs": ["org2"],
+ "repos": [
+ "myorg/myproject/myrepo1",
+ "myorg/myproject/myrepo2"
+ ]
}
```
@@ -47,7 +51,7 @@ Next, configure the code host connection by following the next steps:
## Repository syncing
-Currently, all repositories belonging to the configured organizations/projects will be synced.
+All repositories within the configured organizations/projects are synced by default, but you can also choose to sync either all repositories or only specific repositories from those organizations/projects.
In addition, you may exclude one or more repositories by setting the [`exclude`](/admin/code-hosts/azuredevops#configuration) field in the code host connection.
@@ -127,6 +131,13 @@ Azure DevOps connections support the following configuration options, which are
// ]
"projects": null,
+ // An array of "org/project/repo" strings specifying which Azure DevOps repositories within a project should be mirrored in Sourcegraph.
+ "repos": [
+ "myorg/my-project/myrepo", // Format: //
+ "myorg/myproject/myproject", // Format: repository where project and repo share the same name
+ "myorg/my project/my project" // Format: spaces in project or repository names
+ ]
+
// Rate limit applied when making background API requests.
"rateLimit": {
"enabled": false,
From d2e61aaaa478c7b3e61b05b6bdf03d8991b14da5 Mon Sep 17 00:00:00 2001
From: natehessler
Date: Fri, 10 Apr 2026 16:17:06 -0500
Subject: [PATCH 076/217] Enhance SCIM setup instructions for Okta (#1744)
---
docs/admin/scim.mdx | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/docs/admin/scim.mdx b/docs/admin/scim.mdx
index f8d797132..c4e86a2f1 100644
--- a/docs/admin/scim.mdx
+++ b/docs/admin/scim.mdx
@@ -72,6 +72,24 @@ To configure:
To set up user provisioning in [Okta](https://help.okta.com/en-us/Content/Topics/Apps/Apps_App_Integration_Wizard_SCIM.htm), you must first set up a new app integration of the "SAML 2.0" type, then configure it to use SCIM. Here are the steps to do this:
+
+ Please note: Okta offers two different provisioning configuration UIs depending on the
+ integration type: **SCIM Connection** (used with standard integrations) and
+ **Connector Configuration** (used with custom connectors via the Okta
+ provisioning agent). The steps below apply to both, but the way the
+ `Authorization` header is entered differs slightly:
+
+ - In the **SCIM Connection** UI, there is a dedicated `Bearer` prefix field
+ alongside the token input — enter only the raw token in the token field.
+ - In the **Connector Configuration** UI, there is a single text field for the
+ full header value — you must enter the full string `Bearer {your token}`
+ (including the `Bearer ` prefix) in that field.
+
+ In both cases, the Sourcegraph SCIM server requires the `Authorization` header
+ to be in the format `Bearer {your token}`. Omitting the `Bearer ` prefix will
+ result in a `401 Unauthorized` error.
+
+
1. Follow our [SAML guide](/admin/auth/saml/okta) to set up a new app integration with SAML, then open the integration you just created.
- If you already have the integration, just open your existing app integration.
1. Go to the "General" tab and click "Edit" in the "App Settings" section.
From 67261057cb0d595a0b6028565a76e654cce66fdb Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Tue, 14 Apr 2026 15:06:47 -0700
Subject: [PATCH 077/217] docs: add clarification between oauth apps and M2M
credentials (#1745)
Co-authored-by: Amp
---
docs/admin/oauth-apps.mdx | 32 ++++++++++++++++++++++++++++++--
docs/admin/service-accounts.mdx | 19 +++++++++++++++++--
2 files changed, 47 insertions(+), 4 deletions(-)
diff --git a/docs/admin/oauth-apps.mdx b/docs/admin/oauth-apps.mdx
index b5cc061da..dbcc8a4c0 100644
--- a/docs/admin/oauth-apps.mdx
+++ b/docs/admin/oauth-apps.mdx
@@ -11,6 +11,26 @@ This makes OAuth the preferred choice for any multi-user integration like browse
OAuth Apps are in compliance with standards including [RFC 6749](https://tools.ietf.org/html/rfc6749), [RFC 7636 (PKCE)](https://tools.ietf.org/html/rfc7636), and [RFC 8628 (Device Authorization Grant)](https://tools.ietf.org/html/rfc8628).
+
+ OAuth Apps and service-account M2M credentials both use Sourcegraph's OAuth
+ server, but they are different client types for different jobs:
+
+ - OAuth Apps created in **Site admin > OAuth clients** are for apps acting on
+ behalf of a user. They support `authorization_code` and
+ `refresh_token`, and public clients also support the device authorization
+ flow.
+ - Service-account M2M credentials are separate OAuth clients that are bound to
+ a service account. They are the only clients that support
+ `grant_type=client_credentials`.
+
+ Sourcegraph's OpenID Connect discovery document lists
+ `client_credentials` in `grant_types_supported` for all instances because it
+ describes the OAuth server's overall capabilities. It does not mean every
+ OAuth client created in the UI can use it. Likewise, `scopes_supported`
+ lists the scopes the server can issue overall, not the scopes configured on a
+ specific OAuth App or M2M credential.
+
+
Consider using **M2M (client-credentials) service-account tokens** or traditional [access tokens](/cli/how-tos/creating-an-access-token) for server-to-server communication, automated scripts, CI/CD pipelines, or single-user applications that do not require per-user permission checks. See [service accounts](/admin/service-accounts#m2m-oauth-credentials-client-credentials-flow) for details.
## Creating an OAuth App
@@ -61,7 +81,7 @@ Public clients:
Private clients can securely store client secrets:
- **Server-side web applications**
-- **Backend services**
+- **Backend services that act on behalf of signed-in users**
- **Secure server environments**
Private clients:
@@ -69,11 +89,15 @@ Private clients:
- Receive both client ID and client secret
- Can use the standard authorization code flow (PKCE strongly recommended)
- Allow client authentication with a secret and server-side code exchange
+- Still act on behalf of a user, not as a standalone machine identity
## Available Scopes
When creating an OAuth app, select the minimum scopes necessary for your application:
+The discovery document's `scopes_supported` value is server-wide metadata. Each
+OAuth App can request only the scopes selected on that client.
+
| Scope | Description |
| ---------------- | -------------------------------------------------------- |
| `openid` | Required for OpenID Connect authentication |
@@ -103,6 +127,10 @@ When creating an OAuth app, select the minimum scopes necessary for your applica
## OAuth Flow Examples
+The first three flows below are for OAuth Apps created in **Site admin > OAuth
+clients**. The `client_credentials` example is included for completeness, but
+it only works with M2M credentials created for a service account.
+
1. **Authorization Request**: Redirect users to Sourcegraph's authorization endpoint:
@@ -260,7 +288,7 @@ curl -X POST https://sourcegraph.example.com/.auth/idp/oauth/token \
-The client credentials flow is designed for server-to-server authentication without user interaction. Service accounts can create M2M (machine-to-machine) credentials that use this flow. You can create M2M credentials in the service account settings under **Access tokens > M2M credentials**.
+The client credentials flow is designed for server-to-server authentication without user interaction. It is not available for OAuth Apps created in **Site admin > OAuth clients**. Instead, service accounts create separate M2M (machine-to-machine) credentials that use this flow. You can create M2M credentials in the service account settings under **Access tokens > M2M credentials**.
1. **Token Request** (no user interaction required):
diff --git a/docs/admin/service-accounts.mdx b/docs/admin/service-accounts.mdx
index 022a2188f..afce86190 100644
--- a/docs/admin/service-accounts.mdx
+++ b/docs/admin/service-accounts.mdx
@@ -26,6 +26,14 @@ You'll be presented with some next steps you might want to take, like creating a
Service accounts can authenticate using either traditional access tokens or M2M (machine-to-machine) OAuth credentials.
+
+ M2M credentials are not the same thing as OAuth Apps created in
+ **Site admin > OAuth clients**. OAuth Apps are for flows where an application
+ acts on behalf of a user. M2M credentials are separate OAuth clients that are
+ bound to a service account and are the only way to use
+ `grant_type=client_credentials`.
+
+
### Traditional Access Tokens
For detailed information about creating, managing, and using traditional access tokens, see:
@@ -36,7 +44,14 @@ For detailed information about creating, managing, and using traditional access
### M2M OAuth Credentials (Client Credentials Flow)
-M2M credentials provide short-lived tokens via the OAuth client credentials flow expiring after 1 hour.
+M2M credentials provide short-lived tokens via the OAuth client credentials flow expiring after 1 hour. Tokens issued by this flow represent the service account itself, not an end-user session.
+
+Sourcegraph's OpenID Connect discovery document lists `client_credentials` in
+`grant_types_supported` for all instances because it describes the OAuth
+server's overall capabilities. It does not mean a regular OAuth App can use
+that grant. In the same way, `scopes_supported` lists the scopes the server can
+issue overall, not the scopes configured on a specific OAuth App or M2M
+credential.
**Creating M2M credentials:**
@@ -65,7 +80,7 @@ curl -H "Authorization: Bearer ACCESS_TOKEN" \
https://sourcegraph.example.com/.api/graphql
```
-See [OAuth Apps → Client Credentials Flow](/admin/oauth-apps#oauth-flow-examples) for more details on the client credentials flow.
+See [OAuth Apps](/admin/oauth-apps#oauth-flow-examples) for a side-by-side explanation of user-delegated OAuth flows versus service-account M2M credentials.
Both authentication methods can be used to access Sourcegraph's [GraphQL API](/api/graphql) and [Stream API](/api/stream-api).
From e13b1266b64a5febe1a5ea143faa33d564ea6b0a Mon Sep 17 00:00:00 2001
From: qaisjp
Date: Tue, 14 Apr 2026 21:36:34 -0400
Subject: [PATCH 078/217] Fix batch changes system configuration keys (#1723)
---
docs/batch-changes/permissions-in-batch-changes.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/batch-changes/permissions-in-batch-changes.mdx b/docs/batch-changes/permissions-in-batch-changes.mdx
index a12cd6fdd..13f233171 100644
--- a/docs/batch-changes/permissions-in-batch-changes.mdx
+++ b/docs/batch-changes/permissions-in-batch-changes.mdx
@@ -85,8 +85,8 @@ If you are not permitted to view a repository on Sourcegraph, you won't be able
## Disabling Batch Changes
-A site admin can disable Batch Changes for a Sourcegraph instance by setting the [site configuration](/admin/config/site-config) property `"batch-changes.enabled"` to `false`.
+A site admin can disable Batch Changes for a Sourcegraph instance by setting the [site configuration](/admin/config/site-config) property `"batchChanges.enabled"` to `false`.
## Disabling Batch Changes for non-site-admin users
-A site admin can disable batch changes for regular users by setting the [site configuration](/admin/config/site-config) property `"batch-changes.restrictToAdmins"` to `true`.
+A site admin can disable batch changes for regular users by setting the [site configuration](/admin/config/site-config) property `"batchChanges.restrictToAdmins"` to `true`.
From c01204c9883df81bf9af1857ff1a9ce9b3d9d112 Mon Sep 17 00:00:00 2001
From: Marc <7050295+marcleblanc2@users.noreply.github.com>
Date: Thu, 16 Apr 2026 11:44:11 -0600
Subject: [PATCH 079/217] Replace PRECISE_CODE_INTEL_UPLOAD_TTL with
CODEINTEL_UPLOADSTORE_EXPIRER_MAX_AGE (#1749)
Our docs currently suggest customers configure a deprecated env var.
This update replaces it with the effective env var.
https://github.com/sourcegraph/sourcegraph/pull/11717 removes the
deprecated env var from code.
---
docs/code-navigation/envvars.mdx | 11 +++++++++--
docs/self-hosted/external-services/object-storage.mdx | 3 +--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/docs/code-navigation/envvars.mdx b/docs/code-navigation/envvars.mdx
index fa9dc2fcd..b74815c5f 100644
--- a/docs/code-navigation/envvars.mdx
+++ b/docs/code-navigation/envvars.mdx
@@ -15,7 +15,6 @@ The following settings should be the same for the [`precise-code-intel-worker`](
| `PRECISE_CODE_INTEL_UPLOAD_BACKEND` | `blobstore` | The target file service for code graph uploads. S3, GCS, and Blobstore are supported. In older versions of Sourcegraph (before v3.4.2) `Minio` was also a valid value. |
| `PRECISE_CODE_INTEL_UPLOAD_MANAGE_BUCKET` | `false` | Whether or not the client should manage the target bucket configuration |
| `PRECISE_CODE_INTEL_UPLOAD_BUCKET` | `lsif-uploads` | The name of the bucket to store LSIF uploads in |
-| `PRECISE_CODE_INTEL_UPLOAD_TTL` | `168h` | The maximum age of an upload before deletion |
The following settings should be the same for the [`codeintel-auto-indexing`](#codeintel-auto-indexing) worker task as well.
@@ -76,6 +75,15 @@ The following variables influence the behavior of the [`codeintel-janitor` worke
| `PRECISE_CODE_INTEL_RETENTION_COMMIT_BATCH_SIZE` | `100` | The number of commits to process per upload at a time. |
| `PRECISE_CODE_INTEL_CONFIGURATION_POLICY_MEMBERSHIP_BATCH_SIZE` | `100` | The maximum number of policy configurations to update repository membership for at a time. |
+### `codeintel-upload-store-expirer`
+
+The following variables influence the behavior of the upload store expirer job, which cleans up old SCIP uploads from object storage.
+
+| **Name** | **Default** | **Description** |
+| ------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `CODEINTEL_UPLOADSTORE_EXPIRER_MAX_AGE` | `168h` | Time to leave an uploaded SCIP index file in the bucket before deletion, which should be long enough for the Precise Code Intel Worker to process the file into the codeintel-db.|
+| `CODEINTEL_UPLOADSTORE_EXPIRER_INTERVAL` | `1h` | The frequency the expirer job runs. |
+
## precise-code-intel-worker
The following are variables are read from the `precise-code-intel-worker` service to control code graph data upload processing behavior.
@@ -92,4 +100,3 @@ The following settings should be the same for the [`frontend`](#frontend) servic
| `PRECISE_CODE_INTEL_UPLOAD_BACKEND` | `blobstore` | The target file service for code graph data uploads. S3, GCS, and Blobstore are supported. |
| `PRECISE_CODE_INTEL_UPLOAD_MANAGE_BUCKET` | `false` | Whether or not the client should manage the target bucket configuration |
| `PRECISE_CODE_INTEL_UPLOAD_BUCKET` | `lsif-uploads` | The name of the bucket to store LSIF uploads in |
-| `PRECISE_CODE_INTEL_UPLOAD_TTL` | `168h` | The maximum age of an upload before deletion |
diff --git a/docs/self-hosted/external-services/object-storage.mdx b/docs/self-hosted/external-services/object-storage.mdx
index d78b4591a..fabdd753c 100644
--- a/docs/self-hosted/external-services/object-storage.mdx
+++ b/docs/self-hosted/external-services/object-storage.mdx
@@ -57,10 +57,9 @@ To target a GCS bucket you've already provisioned, set the following environment
### Provisioning buckets
-If you would like to allow your Sourcegraph instance to control the creation and lifecycle configuration management of the target buckets, set the following environment variables:
+If you would like to allow your Sourcegraph instance to call the AWS S3 / GCS API to create the bucket, set the following environment variable:
- `PRECISE_CODE_INTEL_UPLOAD_MANAGE_BUCKET=true`
-- `PRECISE_CODE_INTEL_UPLOAD_TTL=168h` (default)
## Search Job Results
From e7ca4c415c0090a224342dc3086d8dd52125a7ab Mon Sep 17 00:00:00 2001
From: Justin Dorfman
Date: Thu, 16 Apr 2026 13:19:35 -0700
Subject: [PATCH 080/217] docs: update batch changes video to new logo version
(#1750)
## Summary
- Updates the batch changes index page video source from
`batch-changes.webm` to `batch-changes-new-logo.webm`
- Ensures the demo video reflects the current Sourcegraph branding/logo
---
docs/batch-changes/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/batch-changes/index.mdx b/docs/batch-changes/index.mdx
index 1c22134d4..f58b95575 100644
--- a/docs/batch-changes/index.mdx
+++ b/docs/batch-changes/index.mdx
@@ -23,7 +23,7 @@ Batch Changes helps you ship large-scale code changes across many repositories a
style={{width: '100%', height: 'auto'}}
>
From 41bc9d4f8830dbc48a42677339863d60505b7807 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Thu, 16 Apr 2026 16:11:43 -0700
Subject: [PATCH 081/217] =?UTF-8?q?fix:=20make=20completions=20config=20le?=
=?UTF-8?q?ss=20prominent=20and=20favor=20modelConfigurat=E2=80=A6=20(#175?=
=?UTF-8?q?1)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
…ion as much as possible
---
docs/admin/config/site-config.mdx | 6 +++++-
docs/cody/clients/enable-cody-enterprise.mdx | 16 ++++++++--------
.../enterprise/completions-configuration.mdx | 11 ++++++-----
3 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index b2c318347..0056f8961 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -451,6 +451,8 @@ All site configuration options and their default values are shown below.
// Enable/disable MCP API endpoints under `/.api/mcp`. When disabled, MCP endpoints return 404.
"mcp.enabled": true,
+ // Recommended configuration for Cody models and providers.
+ // Prefer this over the legacy "completions" field.
"modelConfiguration": null,
// Notifications received from Sourcegraph.com to display in Sourcegraph.
@@ -858,7 +860,9 @@ All site configuration options and their default values are shown below.
// AI & Completions
//////////////////////////////////////////////////////////////
- // Configuration for the completions service.
+ // DEPRECATED: Legacy configuration for Cody models.
+ // Prefer "modelConfiguration" for new deployments, and do not set this
+ // field if your instance is already configured with "modelConfiguration".
// Other example values:
// - {
// "accessToken": "abc123",
diff --git a/docs/cody/clients/enable-cody-enterprise.mdx b/docs/cody/clients/enable-cody-enterprise.mdx
index 9ceed40b3..922c19e53 100644
--- a/docs/cody/clients/enable-cody-enterprise.mdx
+++ b/docs/cody/clients/enable-cody-enterprise.mdx
@@ -96,18 +96,18 @@ There are two ways of configuring Cody for LLM providers:
-
-
+
+
diff --git a/docs/cody/enterprise/completions-configuration.mdx b/docs/cody/enterprise/completions-configuration.mdx
index 075641b6d..4e711ef77 100644
--- a/docs/cody/enterprise/completions-configuration.mdx
+++ b/docs/cody/enterprise/completions-configuration.mdx
@@ -5,11 +5,12 @@
instance.
-
- Configuring Cody via `completions` is legacy but it's still supported. We
- recommend using the new
- [`modelConfiguration`](/cody/enterprise/model-configuration) for flexible
- LLM model selection.
+
+ `completions` is a legacy configuration path. Do not add `completions` if
+ your instance is already configured with
+ [`modelConfiguration`](/cody/enterprise/model-configuration). Use
+ `modelConfiguration` for new deployments. Only use `completions` if your
+ instance has already been using it, and consider moving away from it.
[Cody Enterprise](https://sourcegraph.com/enterprise) supports many models and model providers. You can configure Cody Enterprise to access models via Sourcegraph Cody Gateway or directly using your own model provider account or infrastructure. Let's look at these options in more detail.
From b2bee7c7d84941fa7c4a403330aa6ce79b34768f Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Fri, 17 Apr 2026 03:57:25 +0200
Subject: [PATCH 082/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(#1740)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
Co-authored-by: Robert Lin
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 20 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 2 +-
docs/admin/config/site-config.mdx | 5 +-
docs/admin/repo/perforce.mdx | 2 +-
.../telemetry/private-metadata-allowlist.mdx | 3 +-
docs/admin/telemetry/protocol.mdx | 1 +
docs/cli/references/auth.mdx | 22 +
docs/cli/references/index.mdx | 1 +
docs/cli/references/login.mdx | 6 +-
docs/self-hosted/observability/alerts.mdx | 227 +++++-
docs/self-hosted/observability/dashboards.mdx | 669 +++++++++++++++++-
20 files changed, 926 insertions(+), 50 deletions(-)
create mode 100644 docs/cli/references/auth.mdx
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 92975a892..1baf5cbcb 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 60ea02fb2..306e0fcbc 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -69,7 +69,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
// Authentication alternatives: token OR windowsPassword
@@ -131,19 +131,23 @@ Azure DevOps connections support the following configuration options, which are
// ]
"projects": null,
- // An array of "org/project/repo" strings specifying which Azure DevOps repositories within a project should be mirrored in Sourcegraph.
- "repos": [
- "myorg/my-project/myrepo", // Format: //
- "myorg/myproject/myproject", // Format: repository where project and repo share the same name
- "myorg/my project/my project" // Format: spaces in project or repository names
- ]
-
// Rate limit applied when making background API requests.
"rateLimit": {
"enabled": false,
"requestsPerHour": 0
},
+ // An array of repository "org/project/repo" strings specifying which Azure DevOps repositories to mirror on Sourcegraph. If both 'repos' and 'projects' or 'orgs' are specified, the union of both sets will be synced.
+ // Other example values:
+ // - [
+ // "myorg/myproject/myrepo"
+ // ]
+ // - [
+ // "myorg/my project/myrepo",
+ // "myorg/anotherproject/anotherrepo"
+ // ]
+ "repos": null,
+
// The pattern used to generate the corresponding Sourcegraph repository name for a Azure DevOps repository.
// - "{host}" is replaced with the Azure DevOps URL's host (such as dev.azure.com)
// - "{orgName}" is replaced with the repository's parent projects owning organization (or collection on DevOps server)
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 6e28423cf..4b988dc3a 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 4b32be04a..78d6f9907 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 9fd9f2825..dce57c1fa 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 93826d807..11cfa94e6 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index 0f844657f..a58cac4ee 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index c3e945707..773b93c5f 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 38903208f..d3b73b3d2 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 49461a8f0..4fd1b944c 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 3073d85c5..6bf175da4 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 0056f8961..f5deff347 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
@@ -180,9 +180,6 @@ All site configuration options and their default values are shown below.
// Enable/disable sharing of Deep Search conversations via read tokens
"deepSearch.sharing.enabled": false,
- // Use database-backed worker for Deep Search question processing instead of in-memory worker pool. Enables persistence across frontend restarts.
- "deepSearch.worker.enabled": true,
-
// The rate limit (in requests per hour) for the default rate limiter in the rate limiters registry. By default this is disabled and the default rate limit is infinity.
"defaultRateLimit": -1,
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 8cb33dbab..8159ea637 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-03-30T11:57:12Z */}
+{/* Last updated: 2026-04-14T00:48:03Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry/private-metadata-allowlist.mdx b/docs/admin/telemetry/private-metadata-allowlist.mdx
index 609fe90f9..78bdcc02a 100644
--- a/docs/admin/telemetry/private-metadata-allowlist.mdx
+++ b/docs/admin/telemetry/private-metadata-allowlist.mdx
@@ -34,4 +34,5 @@ To learn more, refer to the [telemetry documentation](https://sourcegraph.com/do
| `cody.smart-apply.context` | `applied` | `model` — High-cardinality model identifier; helpful for determining the model that was selected. |
| `deepsearch` | `search.toolcall` | `toolName` — High-cardinality tool name; helpful for determining which tools are being used during deep search. `toolId` — High-cardinality tool identifier; helpful for determining which tools are being used during deep search. `model` — High-cardinality model identifier; helpful for determining which models are being used during deep search. |
| `admin.users` | `delete` | `userIDs` — Numeric identifiers of users being deleted; needed for audit and analytics of admin user management actions. |
-| `externalApi` | `request` | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
\ No newline at end of file
+| `externalApi` | `request` | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
+| `metering` | `consume` | `meteringEventId` — The UUID of the billing event in the metering export queue, used to correlate billing events with telemetry events. |
\ No newline at end of file
diff --git a/docs/admin/telemetry/protocol.mdx b/docs/admin/telemetry/protocol.mdx
index 258aa669a..8b25a7a42 100644
--- a/docs/admin/telemetry/protocol.mdx
+++ b/docs/admin/telemetry/protocol.mdx
@@ -439,6 +439,7 @@ Sourcegraph Analytics features.
| username | [string](#string) | |
|
diff --git a/docs/cli/references/auth.mdx b/docs/cli/references/auth.mdx
new file mode 100644
index 000000000..eb5d3834e
--- /dev/null
+++ b/docs/cli/references/auth.mdx
@@ -0,0 +1,22 @@
+# `src auth`
+
+
+
+## Usage
+
+```
+'src auth' provides authentication-related helper commands.
+
+Usage:
+
+ src auth command [command options]
+
+The commands are:
+
+ token prints the current authentication token
+
+Use "src auth [command] -h" for more information about a command.
+
+
+```
+
\ No newline at end of file
diff --git a/docs/cli/references/index.mdx b/docs/cli/references/index.mdx
index 5f606371d..9c0eb3737 100644
--- a/docs/cli/references/index.mdx
+++ b/docs/cli/references/index.mdx
@@ -5,6 +5,7 @@
* [`admin`](references/admin)
* [`api`](references/api)
+* [`auth`](references/auth)
* [`batch`](references/batch)
* [`code-intel`](references/code-intel)
* [`codeowners`](references/codeowners)
diff --git a/docs/cli/references/login.mdx b/docs/cli/references/login.mdx
index a53c76fd7..19a74edaf 100644
--- a/docs/cli/references/login.mdx
+++ b/docs/cli/references/login.mdx
@@ -19,7 +19,7 @@
Usage:
- src login SOURCEGRAPH_URL
+ src login [flags] SOURCEGRAPH_URL
Examples:
@@ -31,6 +31,10 @@ Examples:
$ src login https://sourcegraph.com
+ If no access token is configured, 'src login' uses OAuth device flow automatically:
+
+ $ src login https://sourcegraph.com
+
-dump-requests
Log GraphQL requests and responses to stdout
-get-curl
diff --git a/docs/self-hosted/observability/alerts.mdx b/docs/self-hosted/observability/alerts.mdx
index 1909109c1..9034041ff 100644
--- a/docs/self-hosted/observability/alerts.mdx
+++ b/docs/self-hosted/observability/alerts.mdx
@@ -6546,6 +6546,175 @@ Generated query for warning alert: `max((sum(increase(src_telemetrygatewayexport
+## metering: metering_exporter_queue_growth
+
+
rate of growth of metering export queue over 30m
+
+**Descriptions**
+
+- warning metering: 1+ rate of growth of metering export queue over 30m for 1h0m0s
+- critical metering: 1+ rate of growth of metering export queue over 30m for 36h0m0s
+
+**Next steps**
+
+- Check the "number of metering events exported per batch over 30m" dashboard panel to see if export throughput is at saturation.
+- Check worker logs for metering exporter failures and Enterprise Portal connectivity issues.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#metering-metering_exporter_queue_growth).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_metering_exporter_queue_growth",
+ "critical_metering_metering_exporter_queue_growth"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max(((deriv((sum(src_meteringexporter_queue_size and on (instance, job) ((increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"\}[15m]) > 0) or on (instance, job) (increase(src_meteringexporter_queue_metrics_reporter_errors_total\{job=~"^worker.*"}[15m]) > 0))))[30m:])) or on () vector(0)) > 1)`
+
+Generated query for critical alert: `max(((deriv((sum(src_meteringexporter_queue_size and on (instance, job) ((increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"\}[15m]) > 0) or on (instance, job) (increase(src_meteringexporter_queue_metrics_reporter_errors_total\{job=~"^worker.*"}[15m]) > 0))))[30m:])) or on () vector(0)) > 1)`
+
+
+
+
+
+## metering: metering_exporter_oldest_unexported_event_age
+
+
age of the oldest unexported metering event
+
+**Descriptions**
+
+- warning metering: 1800s+ age of the oldest unexported metering event for 30m0s
+- critical metering: 7200s+ age of the oldest unexported metering event for 2h0m0s
+
+**Next steps**
+
+- Check whether the metering export job is failing or making no forward progress.
+- Compare this panel with "rate of growth of metering export queue over 30m" and the exporter error panels below.
+- Check worker logs and verify the Enterprise Portal is reachable.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#metering-metering_exporter_oldest_unexported_event_age).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_metering_exporter_oldest_unexported_event_age",
+ "critical_metering_metering_exporter_oldest_unexported_event_age"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max(((max(src_meteringexporter_oldest_unexported_event and on (instance, job) ((increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"\}[15m]) > 0) or on (instance, job) (increase(src_meteringexporter_queue_metrics_reporter_errors_total\{job=~"^worker.*"}[15m]) > 0)))) or on () vector(0)) > 1800)`
+
+Generated query for critical alert: `max(((max(src_meteringexporter_oldest_unexported_event and on (instance, job) ((increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"\}[15m]) > 0) or on (instance, job) (increase(src_meteringexporter_queue_metrics_reporter_errors_total\{job=~"^worker.*"}[15m]) > 0)))) or on () vector(0)) > 7200)`
+
+
+
+
+
+## metering: meteringexporter_exporter_errors_total
+
+
events exporter operation errors every 30m
+
+**Descriptions**
+
+- warning metering: 0+ events exporter operation errors every 30m
+
+**Next steps**
+
+- Failures indicate that exporting credit metering events from Sourcegraph are failing.
+- Check worker logs for metering exporter failures and Enterprise Portal connectivity issues.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#metering-meteringexporter_exporter_errors_total).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_meteringexporter_exporter_errors_total"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_meteringexporter_exporter_errors_total{job=~"^worker.*"}[30m]))) > 0)`
+
+
+
+
+
+## metering: meteringexporter_queue_cleanup_errors_total
+
+
events export queue cleanup operation errors every 30m
+
+**Descriptions**
+
+- warning metering: 0+ events export queue cleanup operation errors every 30m
+
+**Next steps**
+
+- Failures indicate that pruning already-exported metering events from the queue is failing.
+- Check worker logs for metering exporter cleanup failures.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#metering-meteringexporter_queue_cleanup_errors_total).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_meteringexporter_queue_cleanup_errors_total"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_meteringexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))) > 0)`
+
+
+
+
+
+## metering: meteringexporter_queue_metrics_reporter_errors_total
+
+
events export backlog metrics reporting operation errors every 30m
+
+**Descriptions**
+
+- warning metering: 0+ events export backlog metrics reporting operation errors every 30m
+
+**Next steps**
+
+- Failures indicate that metering export queue metrics are not being refreshed.
+- Check worker logs for metering exporter metrics reporter failures.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#metering-meteringexporter_queue_metrics_reporter_errors_total).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_meteringexporter_queue_metrics_reporter_errors_total"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))) > 0)`
+
+
+
+
+
## otel-collector: otel_span_refused
spans refused per receiver
@@ -6815,7 +6984,6 @@ Generated query for critical alert: `max((max(deriv(src_deepsearch_questions_in_
**Next steps**
- Check frontend logs for `Worker failed to process question` errors.
-- Review LLM stream errors in the `LLM streaming` panel below.
- Check for upstream LLM provider issues.
- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_question_processing_error_rate).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
@@ -6840,23 +7008,27 @@ Generated query for critical alert: `max((sum(rate(src_deepsearch_question_proce
-## deepsearch: deepsearch_llm_stream_fatal_errors
+## deepsearch: deepsearch_slow_questions
-
fatal LLM stream errors over 5m
+
questions taking longer than 5 minutes over 15m
**Descriptions**
-- warning deepsearch: 20+ fatal LLM stream errors over 5m
+- warning deepsearch: 3+ questions taking longer than 5 minutes over 15m
+- critical deepsearch: 10+ questions taking longer than 5 minutes over 15m
**Next steps**
-- Check frontend logs for `fatal error in LLM stream`.
-- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_llm_stream_fatal_errors).
+- Search frontend logs for questionIDs with long processing times.
+- Check `deepsearch_turn_p95_duration` to see if individual turns are slow.
+- Check `deepsearch_question_outcome_by_reason` for elevated truncation or error rates.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_slow_questions).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
```json
"observability.silenceAlerts": [
- "warning_deepsearch_deepsearch_llm_stream_fatal_errors"
+ "warning_deepsearch_deepsearch_slow_questions",
+ "critical_deepsearch_deepsearch_slow_questions"
]
```
@@ -6865,7 +7037,46 @@ Generated query for critical alert: `max((sum(rate(src_deepsearch_question_proce
Technical details
-Generated query for warning alert: `max((sum(increase(src_deepsearch_question_processing_errors_total{operation="llm_stream_fatal"}[5m]))) > 20)`
+Generated query for warning alert: `max((sum(increase(src_deepsearch_question_processing_duration_seconds_count{operation="question"\}[15m])) - sum(increase(src_deepsearch_question_processing_duration_seconds_bucket\{le="300",operation="question"}[15m]))) > 3)`
+
+Generated query for critical alert: `max((sum(increase(src_deepsearch_question_processing_duration_seconds_count{operation="question"\}[15m])) - sum(increase(src_deepsearch_question_processing_duration_seconds_bucket\{le="300",operation="question"}[15m]))) > 10)`
+
+
+
+
+
+## deepsearch: deepsearch_response_truncated
+
+
response truncated questions over 15m
+
+**Descriptions**
+
+- warning deepsearch: 3+ response truncated questions over 15m
+- critical deepsearch: 10+ response truncated questions over 15m
+
+**Next steps**
+
+- Search frontend logs for: "answer truncated due to output token limit" to find affected questionIDs.
+- This usually indicates model overthinking and spending all output tokens on thinking with no useful answer, or the user requested an extremely large output.
+- Check if a recent model change may have caused increased thinking token usage.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#deepsearch-deepsearch_response_truncated).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_deepsearch_deepsearch_response_truncated",
+ "critical_deepsearch_deepsearch_response_truncated"
+]
+```
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_deepsearch_question_outcome_total{outcome="response_truncated"}[15m]))) > 3)`
+
+Generated query for critical alert: `max((sum(increase(src_deepsearch_question_outcome_total{outcome="response_truncated"}[15m]))) > 10)`
diff --git a/docs/self-hosted/observability/dashboards.mdx b/docs/self-hosted/observability/dashboards.mdx
index 0e5a20306..38290ef9e 100644
--- a/docs/self-hosted/observability/dashboards.mdx
+++ b/docs/self-hosted/observability/dashboards.mdx
@@ -6205,9 +6205,7 @@ sum(src_gitserver_clone_queue)
Number of concurrent requests running against gitserver client
-This metric is only for informational purposes. It indicates the current number of concurrently running requests by process against gitserver gRPC.
-
-It does not indicate any problems with the instance, but can give a good indication of load spikes or request throttling.
+This metric is only for informational purposes. It indicates the current number of concurrently running requests by process against gitserver gRPC. It does not indicate any problems with the instance, but can give a good indication of load spikes or request throttling.
This panel has no related alerts.
@@ -6227,6 +6225,30 @@ sum by (job, instance) (src_gitserver_client_concurrent_requests)
+#### gitserver: repos_not_on_primary
+
+
Cloned repos not on primary shard
+
+The number of cloned repositories currently observed off-primary. For shard relocation operations this should trend towards zero.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/gitserver/gitserver?viewPanel=100032` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+max(src_repoupdater_repos_not_on_primary)
+```
+
+
+
+
### Git Server: Gitserver (CPU, Memory)
Gitserver leverages memory mapping to optimize file reads: it is generally expected to consume all the memory provided to it, if it can. When it finds data that is not available in memory yet, this causes a 'page fault', and the data is loaded into memory from disk.
@@ -33061,6 +33083,473 @@ sum(increase(src_telemetrygatewayexporter_usermetadata_exporter_errors_total{job
+## Metering
+
+
Monitoring credit metering export services in Sourcegraph.
+
+To see this dashboard, visit `/-/debug/grafana/d/metering/metering` on your Sourcegraph instance.
+
+### Metering: Metering exporter: events export and queue metrics
+
+#### metering: metering_exporter_queue_size
+
+
Credit metering events pending export
+
+The number of credit metering events queued to be exported.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100000` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+(
+ sum(
+ src_meteringexporter_queue_size
+ and on(instance, job)
+ (
+ (
+ increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"}[15m]) > 0
+ )
+ or on(instance, job)
+ (
+ increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[15m]) > 0
+ )
+ )
+ )
+ ) or on() vector(0)
+```
+
+
+
+
+#### metering: metering_exporter_queue_growth
+
+
Rate of growth of metering export queue over 30m
+
+A positive value indicates the metering export queue is growing.
+
+Refer to the [alerts reference](alerts#metering-metering_exporter_queue_growth) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100001` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+(
+ deriv((
+ sum(
+ src_meteringexporter_queue_size
+ and on(instance, job)
+ (
+ (
+ increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"}[15m]) > 0
+ )
+ or on(instance, job)
+ (
+ increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[15m]) > 0
+ )
+ )
+ )
+ )[30m:])
+ ) or on() vector(0)
+```
+
+
+
+
+#### metering: metering_exporter_oldest_unexported_event_age
+
+
Age of the oldest unexported metering event
+
+The age in seconds of the oldest metering event still waiting in the export queue.
+
+Refer to the [alerts reference](alerts#metering-metering_exporter_oldest_unexported_event_age) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100010` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+(
+ max(
+ src_meteringexporter_oldest_unexported_event
+ and on(instance, job)
+ (
+ (
+ increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"}[15m]) > 0
+ )
+ or on(instance, job)
+ (
+ increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[15m]) > 0
+ )
+ )
+ )
+ ) or on() vector(0)
+```
+
+
+
+
+#### metering: metering_exporter_exported_events
+
+
Metering events exported from queue per hour
+
+The number of metering events exported over the last hour.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100011` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_exported_events[1h]))
+```
+
+
+
+
+#### metering: metering_exporter_batch_size
+
+
Number of metering events exported per batch over 30m
+
+The number of metering events exported in each batch. The largest bucket is the maximum number of events exported per batch.
+If the distribution trends to the maximum bucket, then export throughput is at or approaching saturation - please contact customer support.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100020` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (le) (rate(src_meteringexporter_batch_size_bucket[30m]))
+```
+
+
+
+
+#### metering: metering_exporter_pruned_events
+
+
Metering events pruned from queue per hour
+
+The number of already-exported metering events pruned from the queue over the last hour.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100021` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_events_pruned[1h]))
+```
+
+
+
+
+### Metering: Metering Exporter: Events export job operations
+
+#### metering: meteringexporter_exporter_total
+
+
Events exporter operations every 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100100` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_exporter_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_exporter_99th_percentile_duration
+
+
Aggregate successful events exporter operation duration distribution over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100101` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (le)(rate(src_meteringexporter_exporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_exporter_errors_total
+
+
Events exporter operation errors every 30m
+
+Refer to the [alerts reference](alerts#metering-meteringexporter_exporter_errors_total) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100102` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_exporter_errors_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_exporter_error_rate
+
+
Events exporter operation error rate over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100103` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_exporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_meteringexporter_exporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_meteringexporter_exporter_errors_total{job=~"^worker.*"}[30m]))) * 100
+```
+
+
+
+
+### Metering: Metering Exporter: Events export queue cleanup job operations
+
+#### metering: meteringexporter_queue_cleanup_total
+
+
Events export queue cleanup operations every 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100200` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_queue_cleanup_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_queue_cleanup_99th_percentile_duration
+
+
Aggregate successful events export queue cleanup operation duration distribution over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100201` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (le)(rate(src_meteringexporter_queue_cleanup_duration_seconds_bucket{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_queue_cleanup_errors_total
+
+
Events export queue cleanup operation errors every 30m
+
+Refer to the [alerts reference](alerts#metering-meteringexporter_queue_cleanup_errors_total) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100202` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_queue_cleanup_error_rate
+
+
Events export queue cleanup operation error rate over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100203` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_meteringexporter_queue_cleanup_total{job=~"^worker.*"}[30m])) + sum(increase(src_meteringexporter_queue_cleanup_errors_total{job=~"^worker.*"}[30m]))) * 100
+```
+
+
+
+
+### Metering: Metering Exporter: Events export queue metrics reporting job operations
+
+#### metering: meteringexporter_queue_metrics_reporter_total
+
+
Events export backlog metrics reporting operations every 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100300` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_queue_metrics_reporter_99th_percentile_duration
+
+
Aggregate successful events export backlog metrics reporting operation duration distribution over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100301` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (le)(rate(src_meteringexporter_queue_metrics_reporter_duration_seconds_bucket{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_queue_metrics_reporter_errors_total
+
+
Events export backlog metrics reporting operation errors every 30m
+
+Refer to the [alerts reference](alerts#metering-meteringexporter_queue_metrics_reporter_errors_total) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100302` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: meteringexporter_queue_metrics_reporter_error_rate
+
+
Events export backlog metrics reporting operation error rate over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100303` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_meteringexporter_queue_metrics_reporter_total{job=~"^worker.*"}[30m])) + sum(increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^worker.*"}[30m]))) * 100
+```
+
+
+
+
## OpenTelemetry Collector
The OpenTelemetry collector ingests OpenTelemetry data from Sourcegraph and exports it to the configured backends.
-99th percentile time to process a deep search question.
+95th percentile time to process a deep search question.
This panel has no related alerts.
@@ -33643,7 +34132,7 @@ To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100
Query:
```
-histogram_quantile(0.99, sum(rate(src_deepsearch_question_processing_duration_seconds_bucket{operation="question"}[5m])) by (le))
+histogram_quantile(0.95, sum(rate(src_deepsearch_question_processing_duration_seconds_bucket{operation="question"}[5m])) by (le))
```
@@ -33673,15 +34162,39 @@ histogram_quantile(0.50, sum(rate(src_deepsearch_question_processing_duration_se
-### Deep Search: LLM streaming
+#### deepsearch: deepsearch_slow_questions
+
+
Questions taking longer than 5 minutes over 15m
+
+Number of deep search questions that took longer than 5 minutes in the last 15 minutes.
+
+Refer to the [alerts reference](alerts#deepsearch-deepsearch_slow_questions) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100030` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_deepsearch_question_processing_duration_seconds_count{operation="question"}[15m])) - sum(increase(src_deepsearch_question_processing_duration_seconds_bucket{le="300",operation="question"}[15m]))
+```
+
+
+
+
+### Deep Search: Turn processing
-#### deepsearch: deepsearch_llm_stream_fatal_errors
+#### deepsearch: deepsearch_turn_p95_duration
-
Fatal LLM stream errors over 5m
+
95th percentile turn duration
-Number of fatal errors during LLM streaming in the last 5 minutes.
+95th percentile duration of individual agent turns. A turn includes the LLM call and any tool execution. Useful for investigating when question-level alerts fire.
-Refer to the [alerts reference](alerts#deepsearch-deepsearch_llm_stream_fatal_errors) for 1 alert related to this panel.
+This panel has no related alerts.
To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100100` on your Sourcegraph instance.
@@ -33693,17 +34206,17 @@ To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100
Query:
```
-sum(increase(src_deepsearch_question_processing_errors_total{operation="llm_stream_fatal"}[5m]))
+histogram_quantile(0.95, sum(rate(src_deepsearch_turn_duration_seconds_bucket[5m])) by (le))
```
-#### deepsearch: deepsearch_llm_stream_non_fatal_errors
+#### deepsearch: deepsearch_turn_p50_duration
-
Non-fatal LLM stream errors over 5m
+
50th percentile turn duration
-Number of non-fatal errors during LLM streaming.
+Median duration of individual agent turns.
This panel has no related alerts.
@@ -33717,7 +34230,129 @@ To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100
Query:
```
-sum(increase(src_deepsearch_question_processing_errors_total{operation="llm_stream_non_fatal"}[5m]))
+histogram_quantile(0.50, sum(rate(src_deepsearch_turn_duration_seconds_bucket[5m])) by (le))
+```
+
+
+
+
+### Deep Search: Question outcomes
+
+#### deepsearch: deepsearch_question_outcome_by_reason
+
+
Question outcomes by reason over 5m
+
+Breakdown of deep search question outcomes by reason and whether the question was billable.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100200` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (outcome, billable) (rate(src_deepsearch_question_outcome_total[5m])) * 60
+```
+
+
+
+
+#### deepsearch: deepsearch_errored_but_billed_rate
+
+
Errored but billed rate over 5m
+
+Percentage of billed deep search questions that completed with an error. Use alongside count-based panels for cross-referencing scale of issues.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100201` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_deepsearch_question_outcome_total{billable="true",error="true"}[5m])) / (sum(rate(src_deepsearch_question_outcome_total{billable="true"}[5m])) > 0) * 100
+```
+
+
+
+
+#### deepsearch: deepsearch_billable_failures
+
+
Billable failures over time
+
+Number of billed deep search questions that completed with an error (token limit exceeded or response truncated) in the last 15 minutes.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100210` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (outcome) (increase(src_deepsearch_question_outcome_total{billable="true",error="true"}[15m]))
+```
+
+
+
+
+#### deepsearch: deepsearch_response_truncated
+
+
Response truncated questions over 15m
+
+Number of deep search questions where the response was truncated due to hitting the output token limit in the last 15 minutes.
+
+Refer to the [alerts reference](alerts#deepsearch-deepsearch_response_truncated) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100220` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_deepsearch_question_outcome_total{outcome="response_truncated"}[15m]))
+```
+
+
+
+
+#### deepsearch: deepsearch_token_limit_exceeded
+
+
Token limit exceeded questions over 15m
+
+Number of deep search questions that exceeded the conversation token limit in the last 15 minutes.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100221` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_deepsearch_question_outcome_total{outcome="token_limit_exceeded"}[15m]))
```
From 82be31e5ac53b19c58f28922d3b33f0fd0b55534 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Fri, 17 Apr 2026 11:31:11 -0700
Subject: [PATCH 083/217] fix: Refer to MCP client integrations from MCP page
(#1753)
---
docs/api/mcp/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index a19d7cd24..407b6b561 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -31,7 +31,7 @@ amp mcp add sg https://sourcegraph.example.com/.api/mcp
claude mcp add --transport http sg https://sourcegraph.example.com/.api/mcp
```
-This works similarly for other MCP-compatible agents. See [Client Integration](#client-integration) for detailed setup instructions for each client.
+This works similarly for other MCP-compatible agents. See [Client Integrations](/api/mcp/client-integrations) for detailed setup instructions for each client.
## Server Endpoints
From bf6db2f4cf17675da541abd0a46540ddec6acb02 Mon Sep 17 00:00:00 2001
From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com>
Date: Mon, 20 Apr 2026 12:05:26 +0100
Subject: [PATCH 084/217] docs: update Batch Changes credentials to reflect
GitHub OAuth support (#1755)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
Updates the Batch Changes configuring credentials documentation to
correctly reflect that GitHub OAuth is supported.
### Changes
- Mark OAuth as supported (✅) for GitHub and GitHub Enterprise in the
authentication methods table
- Update callout notes for both GitHub.com and GitHub Enterprise
sections to confirm OAuth access tokens are supported
---
docs/batch-changes/configuring-credentials.mdx | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/docs/batch-changes/configuring-credentials.mdx b/docs/batch-changes/configuring-credentials.mdx
index 996ec5c48..7d643449b 100644
--- a/docs/batch-changes/configuring-credentials.mdx
+++ b/docs/batch-changes/configuring-credentials.mdx
@@ -17,8 +17,8 @@ The following authentication methods are supported:
| **Code Host** | **Personal Access Token** | **Fine-Grained Access Token** | **GitHub App** | **OAuth** |
| -------------------------------- | :-----------------------: | :---------------------------: | :------------: | :-------: |
-| GitHub | ✅ | ✅ | ✅ (experimental) | ❌ |
-| GitHub Enterprise | ✅ | ✅ | ✅ (experimental) | ❌ |
+| GitHub | ✅ | ✅ | ✅ (experimental) | ✅ |
+| GitHub Enterprise | ✅ | ✅ | ✅ (experimental) | ✅ |
| GitLab | ✅ | ❌ | ❌ | ✅ |
| Bitbucket Server / Data Center | ✅ | ❌ | ❌ | ✅ |
| Bitbucket Cloud | ✅ | ❌ | ❌ | ✅ |
@@ -144,9 +144,7 @@ The `workflow` scope is technically only required if your batch changes modify f
When working with organizations that have SAML SSO (Single Sign On) enabled, configuring credentials requires an additional step that [involves white-listing the token for use in that organization](https://docs.github.com/en/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on).
- Currently, classic and fine-grained access tokens are supported only.
- Alternative token types like OAuth access tokens (for example, OAuth apps)
- are not supported.
+ Classic and fine-grained access tokens, as well as OAuth access tokens, are supported.
#### Personal Access Token
@@ -233,9 +231,7 @@ When working with organizations that have SAML SSO (Single Sign On) enabled, con
- Currently, classic personal and fine-grained access tokens are supported
- only. Alternative token types like OAuth access tokens (for example, OAuth
- apps) are not supported.
+ Classic personal and fine-grained access tokens, as well as OAuth access tokens, are supported.
### GitLab
From 84b0c0d7d123dae7bb47b9deaf59e240b3cea3f7 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Mon, 20 Apr 2026 14:05:24 -0700
Subject: [PATCH 085/217] revise admin consultation note for Experimental
features (#1756)
I think this made experimental sound more self-serve than it should - in
practice, we should probably aim for a very hands-on approach in
experimental stage, where we do enablement customer by customer.
Only in beta stage, should we allow customers to request for features to
be request disablement on a temporary basis (because we dont want every
feature to have toggles forever)
---
docs/beta-and-experimental/index.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/beta-and-experimental/index.mdx b/docs/beta-and-experimental/index.mdx
index 638763c75..0156c6c3a 100644
--- a/docs/beta-and-experimental/index.mdx
+++ b/docs/beta-and-experimental/index.mdx
@@ -30,7 +30,7 @@ If a feature is labeled **Experimental**, this specifically means:
- The feature is intended for early evaluation and will generally require deliberate enablement
- There may be no fixed timeline for moving the feature to **Beta** or general availability
- Some **Experimental** features may have credit costs associated with them when they exit Beta into general availability; see [credits and billing](#credits-and-billing)
-- Admins can disable **Experimental** features globally
+- Admins will be consulted before **Experimental** features are enabled
General points about [both beta and experimental features](#beta-and-experimental-features) also apply.
@@ -41,7 +41,7 @@ If a feature is labeled **Beta**, this specifically means:
- The feature may be widely available to all customers by default
- There may be no fixed timeline for moving the feature to general availability
- Some **Beta** features may have credit costs associated with them when they graduate to general availability; see [credits and billing](#credits-and-billing)
-- Admins can disable **Beta** features globally
+- Admins can request for **Beta** features to be temporarily disabled globally
General points about [both beta and experimental features](#beta-and-experimental-features) also apply.
From c743ae4d91feb1d333c1e49d6ea6251b27dc4362 Mon Sep 17 00:00:00 2001
From: Michael Bahr <1830132+bahrmichael@users.noreply.github.com>
Date: Wed, 22 Apr 2026 17:23:26 +0200
Subject: [PATCH 086/217] update stale feature flag reference (#1758)
For
https://sourcegraph.slack.com/archives/C05MW2TMYAV/p1776810366321379?thread_ts=1772603207.607009&cid=C05MW2TMYAV
---
docs/self-hosted/executors/deploy-executors-kubernetes.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/self-hosted/executors/deploy-executors-kubernetes.mdx b/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
index 7ff0999e4..fbd2c221c 100644
--- a/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
+++ b/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
@@ -64,7 +64,7 @@ Native Kubernetes Executors can be deployed via either the `sourcegraph-executor
### Steps
-1. If you are deploying Executors for processing Batch Changes, enable the `native-ssbc-execution` feature flag in **Site admin > Feature flags** by creating a Boolean feature flag with the value set to `true`
+1. If you are deploying Executors for processing Batch Changes, set `batchChanges.nativeServerSideExecution` to `true` in your [site configuration](/admin/config/site-config). Only enable this when using Executors on Kubernetes.
2. Configure the following environment variables on the Executor Deployment:
1. `EXECUTOR_FRONTEND_URL` should match the URL of your Sourcegraph instance
From f817ea4e1e51ce8409cb70c6404fb8c4285277f2 Mon Sep 17 00:00:00 2001
From: Emi
Date: Wed, 22 Apr 2026 14:28:25 -0700
Subject: [PATCH 087/217] add smart hover docs (#1757)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Adds the missing(😅) docs page mentioned in
https://sourcegraph.com/docs/code-navigation/precise-code-navigation
---------
Signed-off-by: Emi
Co-authored-by: Erik Seliger
---
docs/code-navigation/smart-hover.mdx | 25 +++++++++++++++++++++++++
src/data/navigation.ts | 4 ++++
2 files changed, 29 insertions(+)
create mode 100644 docs/code-navigation/smart-hover.mdx
diff --git a/docs/code-navigation/smart-hover.mdx b/docs/code-navigation/smart-hover.mdx
new file mode 100644
index 000000000..ea99e8063
--- /dev/null
+++ b/docs/code-navigation/smart-hover.mdx
@@ -0,0 +1,25 @@
+# Smart hover summaries
+
+
+ Supported on [Enterprise](/pricing/plans/enterprise) plans.
+ This feature is currently in [Beta](/beta-and-experimental).
+
+
+When [precise code intelligence](/code-navigation/precise-code-navigation) is available, Sourcegraph will provide a generated summary of the meaning of the symbol, and usage of the symbol across the codebase. In combination with the precise code intelligence hover information, this often saves the need to jump to a symbol and back which interrupts the flow of reading, and simplifies understanding complex codebases. Linked citations can even serve as an alternative to traditional code navigation.
+
+
+
+Summaries are powered by a small, fast model, but only compiler-grade precise code intelligence data is used to inform the LLM of actual usage patterns across your repositories, allowing the LLM to cite factual usage locations in its answers — even across repositories.
+
+## Requirements
+
+1. [Precise code navigation](/code-navigation/precise-code-navigation) must be configured for your repositories. Smart hover summaries only appear when precise code intelligence data is available.
+2. Summaries are only provided for top-level symbols (function names, types, interfaces, etc.) and are not available for local symbols (e.g. variables inside a function)
+
+## Billing
+
+Smart hover summaries are a [Beta feature](/beta-and-experimental) and free while the feature is in Beta. The feature may become [billable with credits](/beta-and-experimental#credits-and-billing) once it becomes generally available. At least 30 days notice will be given before such a change goes into effect.
+
+## Feedback
+
+Please share feedback on this feature with us at [feedback@sourcegraph.com](mailto:feedback@sourcegraph.com) or via your customer success manager.
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index 996f311c8..e11e2e540 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -125,6 +125,10 @@ export const navigation: NavigationItem[] = [
title: 'Syntactic Code Navigation',
href: '/code-navigation/syntactic-code-navigation'
},
+ {
+ title: 'Smart hover summaries',
+ href: '/code-navigation/smart-hover'
+ },
{
title: 'Auto-indexing',
href: '/code-navigation/auto-indexing'
From 32ce22f547fcd85a9be223ab11631297b7d03293 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Thu, 23 Apr 2026 21:16:55 -0700
Subject: [PATCH 088/217] object-storage: add new 'sourcegraph' bucket (#1747)
See https://github.com/sourcegraph/sourcegraph/pull/11613,
https://github.com/sourcegraph/sourcegraph/pull/11614
Preview:
https://sourcegraph-docs-git-new-sourcegrap-ffb85d-sourcegraph-f8c71130.vercel.app/self-hosted/external-services/object-storage
Closes
https://linear.app/sourcegraph/issue/SVC-2259/sourcegraphobjects-on-prem-guidance
---
.../external-services/object-storage.mdx | 247 +++++++++++++-----
1 file changed, 180 insertions(+), 67 deletions(-)
diff --git a/docs/self-hosted/external-services/object-storage.mdx b/docs/self-hosted/external-services/object-storage.mdx
index fabdd753c..bc60b00b5 100644
--- a/docs/self-hosted/external-services/object-storage.mdx
+++ b/docs/self-hosted/external-services/object-storage.mdx
@@ -1,117 +1,230 @@
# Using a managed object storage service (S3 or GCS)
-By default, Sourcegraph will use a `sourcegraph/blobstore` server bundled with the instance to temporarily store [code graph indexes](../../code-navigation/precise-code-navigation) uploaded by users as well as the results of [search jobs](../../code-search/types/search-jobs).
+Object storage is used by various Sourcegraph features, for example to store [code graph indexes](../../code-navigation/precise-code-navigation) uploaded by users or the results of [search jobs](../../code-search/types/search-jobs).
-You can alternatively configure your instance to instead store this data in an S3 or GCS bucket. Doing so may decrease your hosting costs as persistent volumes are often more expensive than the same storage space in an object store service.
+By default, Sourcegraph will use a `sourcegraph/blobstore` server bundled with the instance. This is intended as a temporary measure: we recommend that administrators configure self-hosted Sourcegraph to store this data in an [AWS S3](https://aws.amazon.com/s3/) or [Google Cloud Storage (GCS)](https://cloud.google.com/storage) bucket following the guidance below. Doing so may decrease your hosting costs as persistent volumes are often more expensive than the same storage space in an object store service.
+
+
+ Starting in [Sourcegraph
+ 7.2](https://sourcegraph.com/changelog/releases/7.2), new instances only
+ need to configure the [Sourcegraph bucket](#sourcegraph-bucket), and
+ Sourcegraph will use that single bucket for all features. Instances
+ provisioned before 7.2 can continue to use their existing buckets, but the
+ new bucket is still required.
+
+
+## Sourcegraph bucket
+
+
+ Self-hosted Sourcegraph instances using S3 or GCS object storage provisioned
+ before [Sourcegraph 7.2](https://sourcegraph.com/changelog/releases/7.2)
+ should provision an additional bucket following the guidance below.
+ Sourcegraph will report a warning when this bucket is not present, as it
+ will become required for new features in a future release. No action is
+ required if you are using the default `sourcegraph/blobstore`.
+
+
+The Sourcegraph bucket is intended to be the single bucket for new Sourcegraph features. Instead of creating one bucket per feature, new features store objects under namespaced key prefixes within this bucket.
+
+Existing bucket configuration for [code graph indexes](#code-graph-indexes) and [search jobs](#search-job-results) remain in use. This change ensures future features can be enabled without requiring a new bucket for each feature.
+
+New instances deployed using [Sourcegraph 7.2](https://sourcegraph.com/changelog/releases/7.2) or later can choose to _only_ provision the Sourcegraph bucket: this bucket can be used for both [code graph indexes](#code-graph-indexes) and [search jobs](#search-job-results), if not explicit configuration is provided for those features.
+
+### Using GCS for the Sourcegraph bucket
+
+Set the following environment variables to target a GCS bucket for shared Sourcegraph uploads.
+
+- `SOURCEGRAPH_UPLOAD_BACKEND=GCS`
+- `SOURCEGRAPH_UPLOAD_BUCKET=`
+- `SOURCEGRAPH_UPLOAD_GCP_PROJECT_ID=`
+- `SOURCEGRAPH_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE=` (optional)
+- `SOURCEGRAPH_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE_CONTENT=<{"my": "content"}>` (optional)
+
+If you are running on GKE with Workload Identity, or otherwise relying on
+Application Default Credentials, you can omit the GCS credentials file
+variables. Grant the `roles/storage.objectAdmin` role to the service accounts used by
+the `frontend`, `worker`, `precise-code-intel-worker`, `gitserver`, and
+`searcher` services in a GKE environment.
+
+### Using S3 for the Sourcegraph bucket
+
+Set the following environment variables to target an S3 bucket for shared Sourcegraph uploads.
+
+- `SOURCEGRAPH_UPLOAD_BACKEND=S3`
+- `SOURCEGRAPH_UPLOAD_BUCKET=`
+- `SOURCEGRAPH_UPLOAD_AWS_REGION=us-east-1`
+- `SOURCEGRAPH_UPLOAD_AWS_ENDPOINT=https://s3.us-east-1.amazonaws.com`
+- `SOURCEGRAPH_UPLOAD_AWS_ACCESS_KEY_ID=`
+- `SOURCEGRAPH_UPLOAD_AWS_SECRET_ACCESS_KEY=`
+- `SOURCEGRAPH_UPLOAD_AWS_SESSION_TOKEN=` (optional)
+- `SOURCEGRAPH_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` (optional; set to use EC2 metadata API over static credentials)
+- `SOURCEGRAPH_UPLOAD_AWS_USE_PATH_STYLE=false` (optional)
+
+
+ If a non-default region is supplied, ensure that the subdomain of the
+ endpoint URL (_the `AWS_ENDPOINT` value_) matches the target region.
+
+
+You don't need to set the `SOURCEGRAPH_UPLOAD_AWS_ACCESS_KEY_ID` environment
+variable when using `SOURCEGRAPH_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true`
+because role credentials will be automatically resolved. Attach the IAM role
+to the EC2 instances hosting the `frontend`, `worker`,
+`precise-code-intel-worker`, `gitserver`, and `searcher` containers in a
+multi-node environment.
+
+### Automatically provision the Sourcegraph bucket
+
+Most deployments should provision this bucket directly in their cloud provider and leave this disabled. If you would like to allow your Sourcegraph instance to manage the target bucket configuration, set the following environment variable:
+
+
+ This requires additional bucket-management permissions from your configured
+ storage vendor (AWS or GCP).
+
+
+- `SOURCEGRAPH_UPLOAD_MANAGE_BUCKET=true`
## Code Graph Indexes
To target a managed object storage service for storing [code graph index uploads](../../code-navigation/precise-code-navigation), you will need to set a handful of environment variables for configuration and authentication to the target service.
-- If you are running a `sourcegraph/server` deployment, set the environment variables on the server container
-- If you are running via Docker-compose or Kubernetes, set the environment variables on the `frontend`, `worker`, and `precise-code-intel-worker` containers
+
+ Starting in [Sourcegraph
+ 7.2](https://sourcegraph.com/changelog/releases/7.2), new instances only
+ need to configure the [Sourcegraph bucket](#sourcegraph-bucket), and
+ Sourcegraph will use that single bucket for all features. If a separate
+ bucket is needed for Code Graph Indexes, that can still be configured, but
+ we recommend using one bucket.
+
-### Using S3
+- If you are running a `sourcegraph/server` deployment, set the environment variables on the server container
+- If you are running via Docker-compose or Kubernetes, set the environment variables on the `frontend`, `worker`, and `precise-code-intel-worker` containers
+
+### Using S3 for the Code Graph Indexes bucket
To target an S3 bucket you've already provisioned, set the following environment variables. Authentication can be done through [an access and secret key pair](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) (and optional session token), or via the EC2 metadata API.
- {' '}
- Never commit AWS access keys in Git. You should consider using a secret handling
- service offered by your cloud provider.{' '}
+ Never commit AWS access keys in Git. You should consider using a secret
+ handling service offered by your cloud provider.
-- `PRECISE_CODE_INTEL_UPLOAD_BACKEND=S3`
-- `PRECISE_CODE_INTEL_UPLOAD_BUCKET=`
-- `PRECISE_CODE_INTEL_UPLOAD_AWS_ENDPOINT=https://s3.us-east-1.amazonaws.com`
-- `PRECISE_CODE_INTEL_UPLOAD_AWS_ACCESS_KEY_ID=`
-- `PRECISE_CODE_INTEL_UPLOAD_AWS_SECRET_ACCESS_KEY=`
-- `PRECISE_CODE_INTEL_UPLOAD_AWS_SESSION_TOKEN=` (optional)
-- `PRECISE_CODE_INTEL_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` (optional; set to use EC2 metadata API over static credentials)
-- `PRECISE_CODE_INTEL_UPLOAD_AWS_REGION=us-east-1` (default)
+- `PRECISE_CODE_INTEL_UPLOAD_BACKEND=S3`
+- `PRECISE_CODE_INTEL_UPLOAD_BUCKET=`
+- `PRECISE_CODE_INTEL_UPLOAD_AWS_REGION=us-east-1`
+- `PRECISE_CODE_INTEL_UPLOAD_AWS_ENDPOINT=https://s3.us-east-1.amazonaws.com`
+- `PRECISE_CODE_INTEL_UPLOAD_AWS_ACCESS_KEY_ID=`
+- `PRECISE_CODE_INTEL_UPLOAD_AWS_SECRET_ACCESS_KEY=`
+- `PRECISE_CODE_INTEL_UPLOAD_AWS_SESSION_TOKEN=` (optional)
+- `PRECISE_CODE_INTEL_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` (optional; set to use EC2 metadata API over static credentials)
- {' '}
- If a non-default region is supplied, ensure that the subdomain of the endpoint
- URL (_the `AWS_ENDPOINT` value_) matches the target region.{' '}
+ If a non-default region is supplied, ensure that the subdomain of the
+ endpoint URL (_the `AWS_ENDPOINT` value_) matches the target region.
-
- {' '}
- You don't need to set the `PRECISE_CODE_INTEL_UPLOAD_AWS_ACCESS_KEY_ID` environment
- variable when using `PRECISE_CODE_INTEL_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true`
- because role credentials will be automatically resolved. Attach the IAM role
- to the EC2 instances hosting the `frontend`, `worker`, and `precise-code-intel-worker`
- containers in a multi-node environment.{' '}
-
+You don't need to set the `PRECISE_CODE_INTEL_UPLOAD_AWS_ACCESS_KEY_ID`
+environment variable when using
+`PRECISE_CODE_INTEL_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` because role
+credentials will be automatically resolved. Attach the IAM role to the EC2
+instances hosting the `frontend`, `worker`, and `precise-code-intel-worker`
+containers in a multi-node environment.
+
+### Using GCS for the Code Graph Indexes bucket
-### Using GCS
+To target a GCS bucket you've already provisioned, set the following environment variables.
-To target a GCS bucket you've already provisioned, set the following environment variables. Authentication is done through a service account key, supplied as either a path to a volume-mounted file, or the contents read in as an environment variable payload.
+- `PRECISE_CODE_INTEL_UPLOAD_BACKEND=GCS`
+- `PRECISE_CODE_INTEL_UPLOAD_BUCKET=`
+- `PRECISE_CODE_INTEL_UPLOAD_GCP_PROJECT_ID=`
+- `PRECISE_CODE_INTEL_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE=` (optional)
+- `PRECISE_CODE_INTEL_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE_CONTENT=<{"my": "content"}>` (optional)
-- `PRECISE_CODE_INTEL_UPLOAD_BACKEND=GCS`
-- `PRECISE_CODE_INTEL_UPLOAD_BUCKET=`
-- `PRECISE_CODE_INTEL_UPLOAD_GCP_PROJECT_ID=`
-- `PRECISE_CODE_INTEL_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE=`
-- `PRECISE_CODE_INTEL_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE_CONTENT=<{"my": "content"}>`
+If you are running on GKE with Workload Identity, or otherwise relying on
+Application Default Credentials, you can omit the GCS credentials file
+variables. Grant the `roles/storage.objectAdmin` role to the service accounts used by
+the `frontend`, `worker`, and `precise-code-intel-worker` services in a GKE environment.
-### Provisioning buckets
+### Automatically provision the Code Graph Indexes bucket
If you would like to allow your Sourcegraph instance to call the AWS S3 / GCS API to create the bucket, set the following environment variable:
-- `PRECISE_CODE_INTEL_UPLOAD_MANAGE_BUCKET=true`
+
+ This requires additional bucket-management permissions from your configured
+ storage vendor (AWS or GCP).
+
+
+- `PRECISE_CODE_INTEL_UPLOAD_MANAGE_BUCKET=true`
+- If using GCS, `SOURCEGRAPH_UPLOAD_GCP_PROJECT_ID` is also required
-## Search Job Results
+## Search Job results
-To target a third party managed object storage service for storing [search job results](../../code-search/types/search-jobs), you must set a handful of environment variables for configuration and authentication to the target service.
+To target a third party managed object storage service for storing [Search Job results](../../code-search/types/search-jobs), you must set a handful of environment variables for configuration and authentication to the target service.
+
+
+ Starting in [Sourcegraph
+ 7.2](https://sourcegraph.com/changelog/releases/7.2), new instances only
+ need to configure the [Sourcegraph bucket](#sourcegraph-bucket), and
+ Sourcegraph will use that single bucket for all features. If a separate
+ bucket is needed for Search Job results, that can still be configured, but
+ we recommend using one bucket.
+
-- If you are running a `sourcegraph/server` deployment, set the environment variables on the server container
-- If you are running via Docker-compose or Kubernetes, set the environment variables on the `frontend` and `worker` containers
+- If you are running a `sourcegraph/server` deployment, set the environment variables on the server container
+- If you are running via Docker-compose or Kubernetes, set the environment variables on the `frontend` and `worker` containers
-### Using S3
+### Using S3 for the Search Job results bucket
Set the following environment variables to target an S3 bucket you've already provisioned. Authentication can be done through [an access and secret key pair](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) (and optionally through session token) or via the EC2 metadata API.
- {' '}
- Never commit AWS access keys in Git. You should consider using a secret handling
- service offered by your cloud provider.
+ Never commit AWS access keys in Git. You should consider using a secret
+ handling service offered by your cloud provider.
-- `SEARCH_JOBS_UPLOAD_BACKEND=S3`
-- `SEARCH_JOBS_UPLOAD_BUCKET=`
-- `SEARCH_JOBS_UPLOAD_AWS_ENDPOINT=https://s3.us-east-1.amazonaws.com`
-- `SEARCH_JOBS_UPLOAD_AWS_ACCESS_KEY_ID=`
-- `SEARCH_JOBS_UPLOAD_AWS_SECRET_ACCESS_KEY=`
-- `SEARCH_JOBS_UPLOAD_AWS_SESSION_TOKEN=` (optional)
-- `SEARCH_JOBS_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` (optional; set to use EC2 metadata API over static credentials)
-- `SEARCH_JOBS_UPLOAD_AWS_REGION=us-east-1` (default)
+- `SEARCH_JOBS_UPLOAD_BACKEND=S3`
+- `SEARCH_JOBS_UPLOAD_BUCKET=`
+- `SEARCH_JOBS_UPLOAD_AWS_REGION=us-east-1`
+- `SEARCH_JOBS_UPLOAD_AWS_ENDPOINT=https://s3.us-east-1.amazonaws.com`
+- `SEARCH_JOBS_UPLOAD_AWS_ACCESS_KEY_ID=`
+- `SEARCH_JOBS_UPLOAD_AWS_SECRET_ACCESS_KEY=`
+- `SEARCH_JOBS_UPLOAD_AWS_SESSION_TOKEN=` (optional)
+- `SEARCH_JOBS_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` (optional; set to use EC2 metadata API over static credentials)
- {' '}
- If a non-default region is supplied, ensure that the subdomain of the endpoint
- URL (the `AWS_ENDPOINT` value) matches the target region.
+ If a non-default region is supplied, ensure that the subdomain of the
+ endpoint URL (_the `AWS_ENDPOINT` value_) matches the target region.
- {' '}
You don't need to set the `SEARCH_JOBS_UPLOAD_AWS_ACCESS_KEY_ID` environment
- variable when using `SEARCH_JOBS_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true` because
- role credentials will be automatically resolved.
+ variable when using `SEARCH_JOBS_UPLOAD_AWS_USE_EC2_ROLE_CREDENTIALS=true`
+ because role credentials will be automatically resolved. Attach the IAM role
+ to the EC2 instances hosting the `frontend` and `worker` containers in a
+ multi-node environment.
-### Using GCS
+### Using GCS for the Search Job results bucket
+
+Set the following environment variables to target a GCS bucket you've already provisioned.
-Set the following environment variables to target a GCS bucket you've already provisioned. Authentication is done through a service account key, either as a path to a volume-mounted file or the contents read in as an environment variable payload.
+- `SEARCH_JOBS_UPLOAD_BACKEND=GCS`
+- `SEARCH_JOBS_UPLOAD_BUCKET=`
+- `SEARCH_JOBS_UPLOAD_GCP_PROJECT_ID=`
+- `SEARCH_JOBS_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE=` (optional)
+- `SEARCH_JOBS_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE_CONTENT=<{"my": "content"}>` (optional)
-- `SEARCH_JOBS_UPLOAD_BACKEND=GCS`
-- `SEARCH_JOBS_UPLOAD_BUCKET=`
-- `SEARCH_JOBS_UPLOAD_GCP_PROJECT_ID=`
-- `SEARCH_JOBS_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE=`
-- `SEARCH_JOBS_UPLOAD_GOOGLE_APPLICATION_CREDENTIALS_FILE_CONTENT=<{"my": "content"}>`
+If you are running on GKE with Workload Identity, or otherwise relying on
+Application Default Credentials, you can omit the GCS credentials file
+variables. Grant the `roles/storage.objectAdmin` role to the service accounts used by
+the `frontend` and `worker` services in a GKE environment.
-### Provisioning buckets
+### Automatically provision the Search Job results bucket
If you would like to allow your Sourcegraph instance to control the creation and lifecycle configuration management of the target buckets, set the following environment variables:
-- `SEARCH_JOBS_UPLOAD_MANAGE_BUCKET=true`
+
+ This requires additional bucket-management permissions from your configured
+ storage vendor (AWS or GCP).
+
+
+- `SEARCH_JOBS_UPLOAD_MANAGE_BUCKET=true`
From 6b8ae42192efc596da415d47970ac5b1ec747df7 Mon Sep 17 00:00:00 2001
From: Stefan Hengl
Date: Fri, 24 Apr 2026 15:36:12 +0200
Subject: [PATCH 089/217] docs: mention search contexts in Deep Search (#1759)
Adds a short Search contexts section to the Deep Search docs.
---
docs/deep-search/index.mdx | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index a7d6e5548..94eadbfbb 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -35,6 +35,14 @@ The answer is formatted in Markdown and can include links to relevant files, dir
- Provide reasonably scoped questions. The agent will perform much better if it does not have to read the entire codebase at once.
- Check the list of sources. This is extremely useful for debugging and understanding where the answer came from. Ask a follow-up question and mention the missing source if something is missing.
+## Using search contexts
+
+You can reuse the same [search contexts](/code-search/working/search-contexts) you already use in Code Search when creating a new Deep Search query. Click **Set scope** in the composer to select a search context and limit Deep Search to that repository scope. Deep Search automatically pre-selects your default search context.
+
+Search contexts are useful when you want to keep Deep Search focused on a specific part of your codebase, such as a team's repositories, a product area, or another shared scope used across your organization. Limiting Deep Search to a smaller set of repositories can help it search faster and produce more focused, higher-quality answers.
+
+To learn how to create and manage search contexts, see [Search contexts](/code-search/working/search-contexts).
+
## Using @-mentions
Type `@` at any point while entering a query to add context. By default, the menu shows repositories relevant to you based on your commit history. As you type, suggestions update in real-time to show matching files and repositories.
From b8d663aaf2102f5093b65f7cd6dcde5a31bb8c52 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Mon, 27 Apr 2026 13:26:37 +0200
Subject: [PATCH 090/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(#1752)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 6 +-
docs/admin/config/site-config.mdx | 10 +-
docs/admin/repo/perforce.mdx | 2 +-
docs/cli/references/extsvc/list.mdx | 4 +-
docs/cli/references/index.mdx | 5 -
docs/cli/references/orgs/list.mdx | 8 +-
docs/cli/references/repos/list.mdx | 8 +-
docs/cli/references/users/list.mdx | 8 +-
docs/cody/capabilities/supported-models.mdx | 49 ++--
docs/self-hosted/observability/alerts.mdx | 2 +-
docs/self-hosted/observability/dashboards.mdx | 236 +-----------------
21 files changed, 57 insertions(+), 301 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 1baf5cbcb..598252204 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 306e0fcbc..fba7332cf 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -69,7 +69,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 4b988dc3a..cd611356b 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 78d6f9907..ef1661138 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index dce57c1fa..0d66540c4 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index 11cfa94e6..f29014ff8 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index a58cac4ee..b9970b075 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 773b93c5f..8fe847b72 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index d3b73b3d2..4da97689c 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 4fd1b944c..6982ca5a7 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 6bf175da4..3922a2133 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
@@ -68,6 +68,9 @@ Settings options and their default values are shown below.
// Whether to supplement precise references with search-based results.
"codeIntel.mixPreciseAndSearchBasedReferences": false,
+ // Controls whether you see AI-generated summaries in hover tooltips. Set to false to opt out.
+ "codeIntel.smartHover": true,
+
// Whether to enable trace logging on the extension.
"codeIntel.traceExtension": false,
@@ -102,7 +105,6 @@ Settings options and their default values are shown below.
"searchQueryInput": "v1",
"searchResultsAggregations": false,
"showCodeMonitoringLogs": false,
- "smartHover": true,
"symbolKindTags": false
},
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index f5deff347..745236abe 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
@@ -284,7 +284,7 @@ All site configuration options and their default values are shown below.
"extsvc.gitlab": false
},
"deepSearch.enabled": false,
- "deepSearch.model": "anthropic::2024-10-22::claude-sonnet-4-latest",
+ "deepSearch.model": "anthropic::2024-10-22::claude-sonnet-4-6-latest",
"deepSearch.sharing.enabled": false,
"deepSearch.showCodyWeb": false,
"enableGithubInternalRepoVisibility": false,
@@ -448,8 +448,6 @@ All site configuration options and their default values are shown below.
// Enable/disable MCP API endpoints under `/.api/mcp`. When disabled, MCP endpoints return 404.
"mcp.enabled": true,
- // Recommended configuration for Cody models and providers.
- // Prefer this over the legacy "completions" field.
"modelConfiguration": null,
// Notifications received from Sourcegraph.com to display in Sourcegraph.
@@ -857,9 +855,7 @@ All site configuration options and their default values are shown below.
// AI & Completions
//////////////////////////////////////////////////////////////
- // DEPRECATED: Legacy configuration for Cody models.
- // Prefer "modelConfiguration" for new deployments, and do not set this
- // field if your instance is already configured with "modelConfiguration".
+ // Configuration for the completions service.
// Other example values:
// - {
// "accessToken": "abc123",
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 8159ea637..25fc0a683 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-14T00:48:03Z */}
+{/* Last updated: 2026-04-27T11:17:39Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/cli/references/extsvc/list.mdx b/docs/cli/references/extsvc/list.mdx
index 6222b4fe5..05a2ffd2d 100644
--- a/docs/cli/references/extsvc/list.mdx
+++ b/docs/cli/references/extsvc/list.mdx
@@ -7,7 +7,7 @@
|------|-------------|---------------|
| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.\|json\}\}") | |
-| `-first` | Return only the first n external services. (use -1 for unlimited) | `-1` |
+| `-first` | Return only the first n external services. | `1000` |
| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
@@ -23,7 +23,7 @@ Usage of 'src extsvc list':
-f string
Format for the output, using the syntax of Go package text/template. (e.g. "{{.|json}}")
-first int
- Return only the first n external services. (use -1 for unlimited) (default -1)
+ Return only the first n external services. (default 1000)
-get-curl
Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
-insecure-skip-verify
diff --git a/docs/cli/references/index.mdx b/docs/cli/references/index.mdx
index 9c0eb3737..ce8d4246f 100644
--- a/docs/cli/references/index.mdx
+++ b/docs/cli/references/index.mdx
@@ -5,25 +5,20 @@
* [`admin`](references/admin)
* [`api`](references/api)
-* [`auth`](references/auth)
* [`batch`](references/batch)
* [`code-intel`](references/code-intel)
* [`codeowners`](references/codeowners)
* [`config`](references/config)
* [`debug`](references/debug)
* [`extsvc`](references/extsvc)
-* [`login`](references/login)
* [`lsp`](references/lsp)
* [`orgs`](references/orgs)
* [`repos`](references/repos)
-* [`sbom`](references/sbom)
* [`search`](references/search)
* [`search-jobs`](references/search-jobs)
* [`serve-git`](references/serve-git)
-* [`signature`](references/signature)
* [`snapshot`](references/snapshot)
* [`teams`](references/teams)
* [`users`](references/users)
* [`validate`](references/validate)
-* [`version`](references/version)
\ No newline at end of file
diff --git a/docs/cli/references/orgs/list.mdx b/docs/cli/references/orgs/list.mdx
index 96f5b8b92..06f4bacb9 100644
--- a/docs/cli/references/orgs/list.mdx
+++ b/docs/cli/references/orgs/list.mdx
@@ -7,7 +7,7 @@
|------|-------------|---------------|
| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Name\}\} (\{\{.DisplayName\}\})" or "\{\{.\|json\}\}") | `{{.Name}}` |
-| `-first` | Returns the first n organizations from the list. (use -1 for unlimited) | `1000` |
+| `-first` | Returns the first n organizations from the list. | `1000` |
| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
| `-query` | Returns organizations whose names match the query. (e.g. "alice") | |
@@ -24,7 +24,7 @@ Usage of 'src orgs list':
-f string
Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Name}} ({{.DisplayName}})" or "{{.|json}}") (default "{{.Name}}")
-first int
- Returns the first n organizations from the list. (use -1 for unlimited) (default 1000)
+ Returns the first n organizations from the list. (default 1000)
-get-curl
Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
-insecure-skip-verify
@@ -42,10 +42,6 @@ Examples:
$ src orgs list
- List *all* organizations (may be slow!):
-
- $ src orgs list -first='-1'
-
List organizations whose names match the query:
$ src orgs list -query='myquery'
diff --git a/docs/cli/references/repos/list.mdx b/docs/cli/references/repos/list.mdx
index 75d0b4801..21ef68eee 100644
--- a/docs/cli/references/repos/list.mdx
+++ b/docs/cli/references/repos/list.mdx
@@ -9,7 +9,7 @@
| `-descending` | Whether or not results should be in descending order. | `false` |
| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Name\}\}") or "\{\{.\|json\}\}") | `{{.Name}}` |
-| `-first` | Returns the first n repositories from the list. (use -1 for unlimited) | `1000` |
+| `-first` | Returns the first n repositories from the list. | `1000` |
| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
| `-indexed` | Include repositories that have a text search index. | `true` |
| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
@@ -35,7 +35,7 @@ Usage of 'src repos list':
-f string
Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Name}}") or "{{.|json}}") (default "{{.Name}}")
-first int
- Returns the first n repositories from the list. (use -1 for unlimited) (default 1000)
+ Returns the first n repositories from the list. (default 1000)
-get-curl
Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
-indexed
@@ -67,10 +67,6 @@ Examples:
$ src repos list -f '{{.|json}}'
- List *all* repositories (may be slow!):
-
- $ src repos list -first='-1'
-
List repositories whose names match the query:
$ src repos list -query='myquery'
diff --git a/docs/cli/references/users/list.mdx b/docs/cli/references/users/list.mdx
index 2b9cb2566..bc4d8c97b 100644
--- a/docs/cli/references/users/list.mdx
+++ b/docs/cli/references/users/list.mdx
@@ -7,7 +7,7 @@
|------|-------------|---------------|
| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Username\}\} (\{\{.DisplayName\}\})" or "\{\{.\|json\}\}") | `{{.Username}}` |
-| `-first` | Returns the first n users from the list. (use -1 for unlimited) | `1000` |
+| `-first` | Returns the first n users from the list. | `1000` |
| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
| `-query` | Returns users whose names match the query. (e.g. "alice") | |
@@ -25,7 +25,7 @@ Usage of 'src users list':
-f string
Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Username}} ({{.DisplayName}})" or "{{.|json}}") (default "{{.Username}}")
-first int
- Returns the first n users from the list. (use -1 for unlimited) (default 1000)
+ Returns the first n users from the list. (default 1000)
-get-curl
Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
-insecure-skip-verify
@@ -45,10 +45,6 @@ Examples:
$ src users list
- List *all* users (may be slow!):
-
- $ src users list -first='-1'
-
List users whose names match the query:
$ src users list -query='myquery'
diff --git a/docs/cody/capabilities/supported-models.mdx b/docs/cody/capabilities/supported-models.mdx
index a323b0d56..9658a1efe 100644
--- a/docs/cody/capabilities/supported-models.mdx
+++ b/docs/cody/capabilities/supported-models.mdx
@@ -14,15 +14,16 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| **Provider** | **Model** | **Status** | **Vision Support** |
| :----------- | :-------- | :--------- | :----------------- |
-| Anthropic | [Claude Opus 4.6](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Sonnet 4.6](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Sonnet 4.6 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Sonnet 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Sonnet 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Opus 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Opus 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Haiku 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
-| Anthropic | [Claude Haiku 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Opus 4.7](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Opus 4.6](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Sonnet 4.6](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Sonnet 4.6 with Thinking](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Sonnet 4.5](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Sonnet 4.5 with Thinking](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Opus 4.5](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Opus 4.5 with Thinking](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Haiku 4.5](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
+| Anthropic | [Claude Haiku 4.5 with Thinking](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
| Google | [Gemini 2.5 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-flash) | ✅ | ✅ |
| Google | [Gemini 2.5 Pro](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-5-pro) | ✅ | ✅ |
| Google | [Gemini 3 Flash](https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash) | ✅ | ❌ |
@@ -52,29 +53,21 @@ Cody supports a variety of cutting-edge large language models for use in chat an
## Autocomplete
Cody uses a set of models for autocomplete which are suited for the low latency use case.
-
-| **Provider** | **Model** | **Status** |
-| :----------- | :-------- | :--------- |
-| Anthropic | [Claude Haiku 4.5](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ |
-| Anthropic | [Claude Haiku 4.5 with Thinking](https://docs.anthropic.com/en/docs/about-claude/models/overview) | ✅ |
-| Fireworks.ai | StarCoder | ✅ |
-| Fireworks.ai | DeepSeek V2 Lite Base | ✅ |
-| Fireworks.ai | AutoEdits Fireworks Default | ✅ (beta) |
-| Fireworks.ai | Autoedits DeepSeek Coder V2 | ✅ (beta) |
-| Fireworks.ai | Autoedits DeepSeek Coder V2 | ✅ (beta) |
-| Fireworks.ai | Autoedits DeepSeek Coder V2 | ✅ (beta) |
-| Fireworks.ai | Autoedits Long Suggestion V4 Warm Start SFT | ✅ (beta) |
-| Fireworks.ai | NLS Query Translator | ✅ |
-| OpenAI | [GPT-4.1-nano](https://platform.openai.com/docs/models/gpt-4.1-nano) | ✅ |
+| **Provider** | **Model** | **Status** | **Hosting region** |
+| :----------- | :-------- | :--------- | :----------------- |
+| Anthropic | [Claude Haiku 4.5](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | global |
+| Anthropic | [Claude Haiku 4.5 with Thinking](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | global |
+| Fireworks.ai | DeepSeek V2 Lite Base | ✅ | US Iowa |
+| Fireworks.ai | Autoedits Fine-Tune DeepSeek Coder V2 | ✅ | US Iowa |
+| Fireworks.ai | NLS Query Translator | ✅ | US Iowa |
+| OpenAI | [GPT-4.1-nano](https://platform.openai.com/docs/models/gpt-4.1-nano) | ✅ | global |
## Smart Apply
-
-| **Provider** | **Model** | **Status** |
-| :----------- | :-------- | :--------- |
-| Fireworks.ai | Smart Apply Qwen Default | ✅ |
-| Fireworks.ai | Smart Apply Qwen 32B V1 | ✅ (beta) |
+| **Provider** | **Model** | **Status** | **Hosting region** |
+| :----------- | :-------- | :--------- | :----------------- |
+| Fireworks.ai | Smart Apply Fine-Tune Qwen 32B V1 | ✅ | US Iowa |
## Default Models
diff --git a/docs/self-hosted/observability/alerts.mdx b/docs/self-hosted/observability/alerts.mdx
index 9034041ff..6892d0f3e 100644
--- a/docs/self-hosted/observability/alerts.mdx
+++ b/docs/self-hosted/observability/alerts.mdx
@@ -5483,7 +5483,7 @@ Generated query for critical alert: `max(((proc_metrics_memory_map_current_count
Technical details
-Generated query for warning alert: `max((sum by (code) (increase(src_zoekt_request_duration_seconds_count{code!~"2.."}[5m])) / ignoring (code) group_left () sum(increase(src_zoekt_request_duration_seconds_count[5m])) * 100) >= 5)`
+Custom query for warning alert: `max(((sum(increase(src_zoekt_request_duration_seconds_count{code="error"}[5m])) / sum(increase(src_zoekt_request_duration_seconds_count[5m])) * 100) and (sum(increase(src_zoekt_request_duration_seconds_count[5m])) >= 50)) >= 5)`
diff --git a/docs/self-hosted/observability/dashboards.mdx b/docs/self-hosted/observability/dashboards.mdx
index 38290ef9e..3be352e0a 100644
--- a/docs/self-hosted/observability/dashboards.mdx
+++ b/docs/self-hosted/observability/dashboards.mdx
@@ -5545,224 +5545,6 @@ sum by (email_source) (increase(src_email_send{success="true"}[30m]))
-### Frontend: Sentinel queries (only on sourcegraph.com)
-
-#### frontend: mean_successful_sentinel_duration_by_query
-
-
Mean successful sentinel search duration by query
-
-Mean search duration for successful sentinel queries, broken down by query. Useful for debugging whether a slowdown is limited to a specific type of query.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103800` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(rate(src_search_response_latency_seconds_sum{source=~"searchblitz.*", status="success"}[$sentinel_sampling_duration])) by (source) / sum(rate(src_search_response_latency_seconds_count{source=~"searchblitz.*", status="success"}[$sentinel_sampling_duration])) by (source)
-```
-
-
-
-
-#### frontend: mean_sentinel_stream_latency_by_query
-
-
Mean successful sentinel stream latency by query
-
-Mean time to first result for successful streaming sentinel queries, broken down by query. Useful for debugging whether a slowdown is limited to a specific type of query.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103801` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(rate(src_search_streaming_latency_seconds_sum{source=~"searchblitz.*"}[$sentinel_sampling_duration])) by (source) / sum(rate(src_search_streaming_latency_seconds_count{source=~"searchblitz.*"}[$sentinel_sampling_duration])) by (source)
-```
-
-
-
-
-#### frontend: 90th_percentile_successful_sentinel_duration_by_query
-
-
90th percentile successful sentinel search duration by query
-
-90th percentile search duration for successful sentinel queries, broken down by query. Useful for debugging whether a slowdown is limited to a specific type of query.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103810` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.90, sum(rate(src_search_response_latency_seconds_bucket{source=~"searchblitz.*", status="success"}[$sentinel_sampling_duration])) by (le, source))
-```
-
-
-
-
-#### frontend: 90th_percentile_successful_stream_latency_by_query
-
-
90th percentile successful sentinel stream latency by query
-
-90th percentile time to first result for successful streaming sentinel queries, broken down by query. Useful for debugging whether a slowdown is limited to a specific type of query.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103811` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.90, sum(rate(src_search_streaming_latency_seconds_bucket{source=~"searchblitz.*"}[$sentinel_sampling_duration])) by (le, source))
-```
-
-
-
-
-#### frontend: 90th_percentile_unsuccessful_duration_by_query
-
-
90th percentile unsuccessful sentinel search duration by query
-
-90th percentile search duration of _unsuccessful_ sentinel queries (by error or timeout), broken down by query. Useful for debugging how the performance of failed requests affect UX.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103820` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.90, sum(rate(src_search_response_latency_seconds_bucket{source=~`searchblitz.*`, status!=`success`}[$sentinel_sampling_duration])) by (le, source))
-```
-
-
-
-
-#### frontend: 75th_percentile_successful_sentinel_duration_by_query
-
-
75th percentile successful sentinel search duration by query
-
-75th percentile search duration of successful sentinel queries, broken down by query. Useful for debugging whether a slowdown is limited to a specific type of query.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103830` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.75, sum(rate(src_search_response_latency_seconds_bucket{source=~"searchblitz.*", status="success"}[$sentinel_sampling_duration])) by (le, source))
-```
-
-
-
-
-#### frontend: 75th_percentile_successful_stream_latency_by_query
-
-
75th percentile successful sentinel stream latency by query
-
-75th percentile time to first result for successful streaming sentinel queries, broken down by query. Useful for debugging whether a slowdown is limited to a specific type of query.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103831` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.75, sum(rate(src_search_streaming_latency_seconds_bucket{source=~"searchblitz.*"}[$sentinel_sampling_duration])) by (le, source))
-```
-
-
-
-
-#### frontend: 75th_percentile_unsuccessful_duration_by_query
-
-
75th percentile unsuccessful sentinel search duration by query
-
-75th percentile search duration of _unsuccessful_ sentinel queries (by error or timeout), broken down by query. Useful for debugging how the performance of failed requests affect UX.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103840` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-histogram_quantile(0.75, sum(rate(src_search_response_latency_seconds_bucket{source=~`searchblitz.*`, status!=`success`}[$sentinel_sampling_duration])) by (le, source))
-```
-
-
-
-
-#### frontend: unsuccessful_status_rate
-
-
Unsuccessful status rate
-
-The rate of unsuccessful sentinel queries, broken down by failure type.
-
-This panel has no related alerts.
-
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103850` on your Sourcegraph instance.
-
-*Managed by the Sourcegraph Code Understanding team.*
-
-
-Technical details
-
-Query:
-
-```
-sum(rate(src_graphql_search_response{source=~"searchblitz.*", status!="success"}[$sentinel_sampling_duration])) by (status)
-```
-
-
-
-
### Frontend: Incoming webhooks
#### frontend: p95_time_to_handle_incoming_webhooks
@@ -5777,7 +5559,7 @@ p95 response time to incoming webhook requests from code hosts.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103900` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103800` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -5801,7 +5583,7 @@ histogram_quantile(0.95, sum (rate(src_http_request_duration_seconds_bucket{rou
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104000` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103900` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5823,7 +5605,7 @@ sum(increase(src_insights_aggregations_total{job=~"^(frontend|sourcegraph-fronte
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104001` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103901` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5845,7 +5627,7 @@ sum by (le)(rate(src_insights_aggregations_duration_seconds_bucket{job=~"^(fron
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104002` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103902` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5867,7 +5649,7 @@ sum(increase(src_insights_aggregations_errors_total{job=~"^(frontend|sourcegraph
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104003` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103903` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5889,7 +5671,7 @@ sum(increase(src_insights_aggregations_errors_total{job=~"^(frontend|sourcegraph
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104010` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103910` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5911,7 +5693,7 @@ sum by (op,extended_mode)(increase(src_insights_aggregations_total{job=~"^(front
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104011` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103911` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5933,7 +5715,7 @@ histogram_quantile(0.99, sum by (le,op,extended_mode)(rate(src_insights_aggrega
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104012` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103912` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -5955,7 +5737,7 @@ sum by (op,extended_mode)(increase(src_insights_aggregations_errors_total{job=~"
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=104013` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/frontend/frontend?viewPanel=103913` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
From 67546e612d4609ab85cb981d32c8a12b93bee43d Mon Sep 17 00:00:00 2001
From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com>
Date: Mon, 27 Apr 2026 13:37:19 +0100
Subject: [PATCH 091/217] docs/batch-changes: add Bitbucket Server and Cloud
OAuth credential documentation (#1716)
Adds documentation for the new Bitbucket Server and Bitbucket Cloud
OAuth credential support in Batch Changes.
## Changes
- Added inline links from existing Bitbucket PAT/app password sections
pointing to the new OAuth alternative
- Added a new **Bitbucket OAuth** section covering:
- **Bitbucket Server OAuth**: prerequisites, scopes (`REPO_READ`,
`REPO_WRITE`), step-by-step credential setup, migration from PATs
- **Bitbucket Cloud OAuth**: prerequisites, required permissions, scopes
(`account`, `email`, `repository`, `pullrequest:write`), step-by-step
credential setup, migration from app passwords
- **Token refresh**: automatic refresh behavior and requirements
- **Credential removal**: cleanup of linked external accounts
Companion PR: https://github.com/sourcegraph/sourcegraph/pull/10068
---
.../batch-changes/configuring-credentials.mdx | 91 +++++++++++++++++++
1 file changed, 91 insertions(+)
diff --git a/docs/batch-changes/configuring-credentials.mdx b/docs/batch-changes/configuring-credentials.mdx
index 7d643449b..76b74a269 100644
--- a/docs/batch-changes/configuring-credentials.mdx
+++ b/docs/batch-changes/configuring-credentials.mdx
@@ -254,6 +254,8 @@ Batch Changes require the access token to have the `write` permission on both pr

+Alternatively, you can use [Bitbucket Server OAuth](#bitbucket-server-oauth) to authenticate without manually creating a token.
+
### Bitbucket Cloud
On Bitbucket, follow the steps to [create an app password](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/). Batch Changes requires the following scopes:
@@ -266,6 +268,8 @@ On Bitbucket, follow the steps to [create an app password](https://support.atlas

+Alternatively, you can use [Bitbucket Cloud OAuth](#bitbucket-cloud-oauth) to authenticate without manually creating an app password.
+
### Azure DevOps
Follow the steps to [create a PAT](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows#create-a-pat) on Azure DevOps. Batch Changes requires the following scopes:
@@ -369,3 +373,90 @@ To remove a GitHub app from your Sourcegraph instance, navigate back to the same
If you want to delete the GitHub app entirely, you have to navigate to [GitHub's list of applications](https://github.com/settings/apps/) and delete it from there.
+
+## Bitbucket OAuth
+
+Sourcegraph supports OAuth-based authentication for Batch Changes with both Bitbucket Server (Data Center) and Bitbucket Cloud. This allows users to authorize Batch Changes to act on their behalf using OAuth instead of manually creating personal access tokens or app passwords.
+
+
+ Bitbucket OAuth for Batch Changes requires a site administrator to first configure a Bitbucket
+ [authentication provider](/admin/auth) in Sourcegraph. The same auth provider used for SSO sign-in
+ is reused for Batch Changes — no additional provider configuration is needed.
+
+
+### Bitbucket Server OAuth
+
+#### Prerequisites
+
+A Sourcegraph site administrator must configure a [Bitbucket Server authentication provider](/admin/auth#bitbucket-server). If your instance already uses Bitbucket Server for sign-in, this step is already complete.
+
+The OAuth consumer in Bitbucket Server should be configured as an incoming application link with at minimum **Read** permission on **Repositories**. When a user initiates the Batch Changes OAuth flow, Sourcegraph automatically requests the elevated scopes needed:
+
+- `REPO_READ` — read repository contents and metadata
+- `REPO_WRITE` — push branches and create/update pull requests
+
+#### Adding a Bitbucket Server OAuth credential
+
+- Navigate to **User settings > Batch Changes**
+- Click **Add credentials** for your Bitbucket Server code host
+- Select **Bitbucket Server OAuth** as the **Authentication strategy**
+- Click the **Authorize** button
+- You will be redirected to your Bitbucket Server instance to grant access
+- After authorizing, you will be redirected back to Sourcegraph with the credential automatically provisioned
+
+#### Migrating from PATs to Bitbucket Server OAuth
+
+You can migrate from personal access tokens to OAuth by deleting the existing PAT credential and creating a new one using the Bitbucket Server OAuth option. Existing batch changes will continue to work with the new credential.
+
+### Bitbucket Cloud OAuth
+
+#### Prerequisites
+
+A Sourcegraph site administrator must configure a [Bitbucket Cloud authentication provider](/admin/auth#bitbucket-cloud). If your instance already uses Bitbucket Cloud for sign-in, this step is already complete.
+
+The OAuth consumer in Bitbucket Cloud should have the following permissions enabled:
+
+- **Account**: Read
+- **Email**: Read
+- **Repositories**: Read
+- **Pull requests**: Read and Write
+
+
+ If the OAuth consumer is missing required permissions, users will see an `invalid_scope` error
+ during the OAuth flow. Ensure all the above permissions are selected in your Bitbucket Cloud
+ workspace under **Settings > OAuth consumers**.
+
+
+When a user initiates the Batch Changes OAuth flow, Sourcegraph requests the following scopes:
+
+- `account` — read the authenticated user's account information
+- `email` — read the authenticated user's email addresses
+- `repository` — read and access repository contents
+- `pullrequest:write` — create and update pull requests
+
+#### Adding a Bitbucket Cloud OAuth credential
+
+- Navigate to **User settings > Batch Changes**
+- Click **Add credentials** for your Bitbucket Cloud code host
+- Select **Bitbucket Cloud OAuth** as the **Authentication strategy**
+- Click the **Authorize** button
+- You will be redirected to Bitbucket Cloud to grant access
+- After authorizing, you will be redirected back to Sourcegraph with the credential automatically provisioned
+
+#### Migrating from app passwords to Bitbucket Cloud OAuth
+
+You can migrate from app passwords to OAuth by deleting the existing credential and creating a new one using the Bitbucket Cloud OAuth option. Existing batch changes will continue to work with the new credential.
+
+### Token refresh
+
+OAuth tokens have limited lifetimes. Sourcegraph automatically refreshes tokens when they expire using the refresh token obtained during authorization. Token refresh is handled transparently — users do not need to re-authorize unless the refresh token itself is revoked or the OAuth consumer is deleted.
+
+
+ The Bitbucket authentication provider must remain configured in the Sourcegraph site configuration
+ for token refresh to work. If the auth provider is removed, tokens will not be refreshed and will
+ eventually expire.
+
+
+### Removing a Bitbucket OAuth credential
+
+When a Bitbucket OAuth credential is removed, the linked external account used for Batch Changes is also cleaned up. This does not affect the user's ability to sign in to Sourcegraph via Bitbucket — sign-in and Batch Changes use separate external accounts.
From 2334ecd784fabb811a85f804fe079b4bbca2c4c7 Mon Sep 17 00:00:00 2001
From: Michael Lin
Date: Mon, 27 Apr 2026 21:42:56 -0700
Subject: [PATCH 092/217] docs/cloud: clarify private network support via
Private Connectivity (#1761)
closes PLAT-574
Co-authored-by: Claude Opus 4.7 (1M context)
---
docs/cloud/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/cloud/index.mdx b/docs/cloud/index.mdx
index 982efa903..04864de2c 100644
--- a/docs/cloud/index.mdx
+++ b/docs/cloud/index.mdx
@@ -197,7 +197,7 @@ Supported destinations:
> NOTE: We may be able to [support special requests](#accommodating-special-requirements), please reach out to your account team.
- The Sourcegraph instance can only be accessible via a public IP. Running it in a private network and pairing it with your private network via site-to-site VPN or VPC Peering is not yet supported.
-- Code hosts or user authentication providers running in a private network are not yet supported. They have to be publicly available or they must allow incoming traffic from Sourcegraph-owned static IP addresses. We do not have proper support for other connectivity methods, e.g. site-to-site VPN, VPC peering, tunneling.
+- Code hosts or user authentication providers running in a private network must be reachable either publicly (optionally restricted to [Sourcegraph-owned static IP addresses](#private-connectivity)) or through one of the supported [Private Connectivity](#private-connectivity) options (AWS Private Link, GCP Private Service Connect, Sourcegraph Connect agent, or alternate public load balancers). Other connectivity methods such as site-to-site VPN or VPC peering are not supported.
- Instances currently run only on Google Cloud Platform in the [chosen regions](#multiple-region-availability). Other regions and cloud providers (such as AWS or Azure) are not yet supported.
- Some [configuration options](/admin/) are managed by Sourcegraph and cannot be overridden by customers, e.g. feature flags, experimental features, and auto-indexing policy. Please reach out to your account team if you would like to make changes to these settings.
From 19c29b5fbdb51e491c681fd6e756f43a6602eefd Mon Sep 17 00:00:00 2001
From: Jan Hartman
Date: Tue, 28 Apr 2026 15:39:29 +0200
Subject: [PATCH 093/217] Update DS docs after evaluator release (#1762)
---
docs/deep-search/index.mdx | 18 +++++-------------
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/docs/deep-search/index.mdx b/docs/deep-search/index.mdx
index 94eadbfbb..f9ff24d13 100644
--- a/docs/deep-search/index.mdx
+++ b/docs/deep-search/index.mdx
@@ -54,9 +54,7 @@ You can @-mention:
- **Repositories** — scope the search to specific repos
- **Files** — point the agent to particular files
-For use cases where you're looking for exhaustive answers (for example, "Find all files with the `.XYZ` file extension in `foo' repo that contain the word`bar`), Code Search still excels, while Deep Search will only utilize a sample of the results. Deep Search will perform a Code Search query as a source, which you can use to continue an exhaustive search within the Code Search product.
-
-### Examples of prompts
+## Examples of prompts
- Find examples of logger usage and show examples of the different types of logging we use.
- I want to know when the indexing queue functionality was last changed in `@zoekt`. Show me the last few commit diffs touching this code and explain the changes.
@@ -64,6 +62,7 @@ For use cases where you're looking for exhaustive answers (for example, "Find al
- Which tools do we use in our build processes defined in `BUILD.bazel` files?
- Generate a request flow diagram for `src/backend`. Mark the auth and rate limit points.
- Based on the findings in `https://sourcegraph.com/deepsearch/e3c0150a-b7ef-4955-bed4-d5820ca7a70d`, investigate whether the same logging patterns appear in our other microservices.
+- Which packages in `@myorg/repo` still import pkg/errors but haven’t migrated to `corp.pkg/logging/v2`?
## Conversation sharing
@@ -72,7 +71,7 @@ For use cases where you're looking for exhaustive answers (for example, "Find al
enabling it.{' '}
-Starting from Sourcegraph version 6.5, you can share Deep Search conversations with other users in your Sourcegraph instance. To share a conversation, click the "Share" button in the top left, then copy the link. Once you share a conversation, any user on your instance can view it with the link. You can also reset the share link and generate a new one, invalidating the previous link.
+You can share Deep Search conversations with other users in your Sourcegraph instance. To share a conversation, simply copy the URL or click the "Share" button, then copy the link. Once you share a conversation, any user on your instance can view it with the link. You can also reset the share link and generate a new one, invalidating the previous link.
We do not enforce [repository permissions](/admin/permissions) for viewing shared Deep Search conversations. This means that a user can view a conversation shared with them, regardless of which repositories they can access. We plan to revisit this in the future.
@@ -88,7 +87,7 @@ Deep Search uses a combination of frontier and specialized models selected by So
### Enabling conversation sharing
-Conversation sharing is disabled by default. To enable conversation sharing, ask your site administrator to enable the following setting in your site configuration:
+To enable conversation sharing, ask your site administrator to enable the following setting in your site configuration:
```json
"deepSearch.enabled": true,
@@ -97,7 +96,7 @@ Conversation sharing is disabled by default. To enable conversation sharing, ask
### Custom model configuration and BYOK (Bring Your Own Key)
-Deep Search is only available to customers using the [Sourcegraph Model Provider](/model-provider). Customers who configure and access their own models via BYOK cannot use the Deep Search feature.
+Deep Search is only available to customers using the [Sourcegraph Model Provider](/model-provider). Customers who configure and access their own models via BYOK cannot use Deep Search.
## Self-hosted network requirements
@@ -105,13 +104,6 @@ Deep Search streams its responses using [Server-Sent Events (SSE)](https://en.wi
If your Sourcegraph instance sits behind a reverse proxy, load balancer, or ingress controller, you must ensure the timeout for connections to Sourcegraph is set to at least **5 minutes**. The default timeout for many proxies (often 30–60 seconds) will cause in-progress Deep Search responses to be cut off prematurely.
-
- SSE streaming is the default and recommended transport for Deep Search. A polling
- fallback is temporarily available but will be removed in a future release.
- Ensure your ingress or proxy timeout is raised to at least 5 minutes before
- enabling Deep Search for your users.
-
-
## Managing usage
Deep Search usage is managed on two levels:
From cae145b88497b5656fc59577fae0d1577b7e6687 Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Tue, 28 Apr 2026 17:12:44 -0700
Subject: [PATCH 094/217] fix settings for temporarily disabling code host
requests (#1763)
Remove gitMaxConcurrentClones: 0 (values <= 0 fall back to default 5, so
it doesn't disable clones). Clarify what the remaining settings actually
stop and point to per-code-host rateLimit for API throttling.
---
docs/admin/code-hosts/index.mdx | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/docs/admin/code-hosts/index.mdx b/docs/admin/code-hosts/index.mdx
index d7dc2150c..364081067 100644
--- a/docs/admin/code-hosts/index.mdx
+++ b/docs/admin/code-hosts/index.mdx
@@ -63,17 +63,24 @@ For information on code host-related rate limits, see [rate limits](/admin/code-
## Temporarily disabling requests to code hosts
-It may be the case that you'd like to temporarily disable all `git` and API requests from Sourcegraph to a code host. Adding the following to your site configuration will stop Sourcegraph from sending requests to the configured code host connections:
+It may be the case that you'd like to temporarily reduce or pause the `git` and API requests Sourcegraph sends to a code host. Adding the following to your site configuration will stop Sourcegraph's periodic background traffic and rate-limit git operations to zero:
-> WARNING: disabling all git and API requests to codehosts will also disable permissions syncs, batch changes, discovery of new repos, and updates to currently synched repos. Synching with codehosts is a core functionality of Sourcegraph and many other features may also be affected.
+> WARNING: applying these settings will also disable permissions syncs, batch changes, discovery of new repos, and updates to currently synched repos. Syncing with codehosts is a core functionality of Sourcegraph and many other features may also be affected.
```json
"disableAutoGitUpdates": true,
"disableAutoCodeHostSyncs": true,
-"gitMaxCodehostRequestsPerSecond": 0,
-"gitMaxConcurrentClones": 0
+"gitMaxCodehostRequestsPerSecond": 0
```
+What each setting does:
+
+- `disableAutoGitUpdates` halts the periodic background `git fetch` scheduler. On-demand git fetches triggered by user actions (for example, browsing a commit Sourcegraph hasn't seen yet) are not stopped by this flag alone.
+- `disableAutoCodeHostSyncs` halts periodic syncs of repository metadata, permissions, and batch changes changesets. Operations explicitly initiated by users or admins (manual sync, batch change application, etc.) can still issue API requests.
+- `gitMaxCodehostRequestsPerSecond: 0` configures the **git** rate limiter to allow zero requests per second per gitserver, which blocks any remaining ad-hoc git operations. This setting does **not** affect HTTP/API requests to code hosts; those are governed by each code host connection's `rateLimit`.
+
+> NOTE: These settings do not guarantee zero outbound traffic. To also throttle API traffic, set the per-code-host `rateLimit` on each code host connection (see [Rate limits](/admin/code-hosts/rate-limits)). Inbound webhooks delivered _from_ the code host to Sourcegraph are not affected by any of these settings.
+
## Using Self-signed TLS Certificates
To use Sourcegraph with self-signed TLS Certificates, update the site configuration to add the certificate and skip verification of the certificate chain:
From f0da511bb502964e5a6c5b0261527f93d4ab9d15 Mon Sep 17 00:00:00 2001
From: Taras Yemets
Date: Thu, 30 Apr 2026 14:49:43 +0300
Subject: [PATCH 095/217] Mermaid: zoom/pan in expanded diagrams + state
cleanup (#1765)
---
package.json | 1 +
pnpm-lock.yaml | 8 +
src/components/Mermaid.tsx | 367 +++++++++++++++++++++----------------
3 files changed, 214 insertions(+), 162 deletions(-)
diff --git a/package.json b/package.json
index b9a845752..656a94576 100644
--- a/package.json
+++ b/package.json
@@ -64,6 +64,7 @@
"remark-gfm": "3.0.1",
"shiki": "^0.14.7",
"simple-functional-loader": "^1.2.1",
+ "svg-pan-zoom": "^3.6.2",
"tailwind-merge": "^2.3.0",
"tailwindcss": "^3.4.0",
"tailwindcss-animate": "^1.0.7",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4a14b11df..c13133f22 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -149,6 +149,9 @@ importers:
simple-functional-loader:
specifier: ^1.2.1
version: 1.2.1
+ svg-pan-zoom:
+ specifier: ^3.6.2
+ version: 3.6.2
tailwind-merge:
specifier: ^2.3.0
version: 2.6.1
@@ -4972,6 +4975,9 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ svg-pan-zoom@3.6.2:
+ resolution: {integrity: sha512-JwnvRWfVKw/Xzfe6jriFyfey/lWJLq4bUh2jwoR5ChWQuQoOH8FEh1l/bEp46iHHKHEJWIyFJETbazraxNWECg==}
+
tailwind-merge@2.6.1:
resolution: {integrity: sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==}
@@ -11285,6 +11291,8 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
+ svg-pan-zoom@3.6.2: {}
+
tailwind-merge@2.6.1: {}
tailwindcss-animate@1.0.7(tailwindcss@3.4.19(yaml@2.8.2)):
diff --git a/src/components/Mermaid.tsx b/src/components/Mermaid.tsx
index ce1549433..4b166aba6 100644
--- a/src/components/Mermaid.tsx
+++ b/src/components/Mermaid.tsx
@@ -1,15 +1,12 @@
'use client';
-import type mermaidAPI from 'mermaid';
import {useTheme} from 'next-themes';
-import {useCallback, useEffect, useId, useRef, useState} from 'react';
+import {useEffect, useId, useRef, useState} from 'react';
import {createPortal} from 'react-dom';
import * as logoPacks from '../images/logos/';
-type MermaidType = typeof mermaidAPI;
-
const LIGHT_THEME = {
primaryColor: '#FFF3F0',
secondaryColor: '#FFE5E0',
@@ -82,123 +79,56 @@ export function Mermaid({chart}: MermaidProps) {
const id = useId().replace(/:/g, '-');
const [svg, setSvg] = useState('');
const [error, setError] = useState(null);
- const [renderKey, setRenderKey] = useState(() =>
- Math.random().toString(36).slice(2)
- );
const [isExpanded, setIsExpanded] = useState(false);
- const [mounted, setMounted] = useState(false);
- const portalRef = useRef(null);
- const mermaidRef = useRef(null);
const {resolvedTheme} = useTheme();
useEffect(() => {
- setMounted(true);
- const div = document.createElement('div');
- div.id = `mermaid-portal-${id}`;
- document.body.appendChild(div);
- portalRef.current = div;
- return () => {
- if (portalRef.current) {
- document.body.removeChild(portalRef.current);
- }
- };
- }, [id]);
+ if (!chart || !chart.trim() || !resolvedTheme) return;
- useEffect(() => {
- if (!mounted) return;
-
- const initMermaid = async () => {
- const mermaidModule = await import('mermaid');
- const mermaid = mermaidModule.default;
- mermaidRef.current = mermaid;
+ let cancelled = false;
- mermaid.registerIconPacks(
- Object.values(logoPacks).map(icons => ({
- name: icons.prefix,
- icons
- }))
- );
-
- const isDark = resolvedTheme === 'dark';
- mermaid.initialize({
- startOnLoad: false,
- theme: 'base',
- themeVariables: isDark ? DARK_THEME : LIGHT_THEME,
- themeCSS: isDark
- ? '.node-bkg { stroke: #F34E3F !important; }'
- : ''
- });
-
- setRenderKey(Math.random().toString(36).slice(2));
- };
-
- initMermaid();
- }, [resolvedTheme, mounted]);
-
- useEffect(() => {
- if (!chart || !chart.trim() || !mounted || !mermaidRef.current) {
- return;
- }
-
- let isMounted = true;
- const elementId = `mermaid-${id}-${renderKey}`;
-
- const renderChart = async () => {
+ (async () => {
try {
- const existing = document.getElementById(elementId);
- if (existing) {
- existing.remove();
- }
+ // mermaid touches `window`/`document` at module load, so we
+ // dynamic-import it to keep this component SSR-safe.
+ const {default: mermaid} = await import('mermaid');
+ if (cancelled) return;
- const {svg} = await mermaidRef.current!.render(
- elementId,
- chart
+ mermaid.registerIconPacks(
+ Object.values(logoPacks).map(icons => ({
+ name: icons.prefix,
+ icons
+ }))
);
- if (isMounted) {
- setSvg(svg);
- setError(null);
- }
- } catch (err) {
- if (isMounted) {
- setError(
- err instanceof Error
- ? err.message
- : 'Failed to render diagram'
- );
- }
- }
- };
-
- renderChart();
- return () => {
- isMounted = false;
- };
- }, [chart, id, renderKey, mounted]);
+ const isDark = resolvedTheme === 'dark';
+ mermaid.initialize({
+ startOnLoad: false,
+ theme: 'base',
+ themeVariables: isDark ? DARK_THEME : LIGHT_THEME,
+ themeCSS: isDark
+ ? '.node-bkg { stroke: #F34E3F !important; }'
+ : ''
+ });
- const handleKeyDown = useCallback(
- (e: KeyboardEvent) => {
- if (e.key === 'Escape' && isExpanded) {
- setIsExpanded(false);
+ const {svg} = await mermaid.render(`mermaid-${id}`, chart);
+ if (cancelled) return;
+ setSvg(svg);
+ setError(null);
+ } catch (err) {
+ if (cancelled) return;
+ setError(
+ err instanceof Error
+ ? err.message
+ : 'Failed to render diagram'
+ );
}
- },
- [isExpanded]
- );
+ })();
- useEffect(() => {
- if (isExpanded) {
- document.addEventListener('keydown', handleKeyDown);
- document.body.style.overflow = 'hidden';
- }
return () => {
- document.removeEventListener('keydown', handleKeyDown);
- document.body.style.overflow = '';
+ cancelled = true;
};
- }, [isExpanded, handleKeyDown]);
-
- if (!mounted) {
- return null;
- }
+ }, [chart, id, resolvedTheme]);
if (error) {
return (
@@ -248,66 +178,179 @@ export function Mermaid({chart}: MermaidProps) {
- {!isExpanded && (
-
- )}
+
- {isExpanded &&
- mounted &&
- portalRef.current &&
- createPortal(
-
{
+ // Click on a link inside lets the modal close (and navigation proceed);
+ // other clicks inside keep it open.
+ if (!(e.target as HTMLElement).closest('.clickable')) {
+ e.stopPropagation();
+ }
+ }}
+ >
+
- setIsExpanded(false)}
- className="absolute right-4 top-4 z-10 rounded-md bg-black/20 p-2 text-slate-700 hover:bg-black/30 dark:bg-white/20 dark:text-white dark:hover:bg-white/30"
- aria-label="Close expanded diagram"
+
-
-
-
,
- portalRef.current
- )}
- >
+
+
+
+ }
+ />
+
+
,
+ document.body
);
}
From 27b97ca16e68af225195773899bc99dea9de1793 Mon Sep 17 00:00:00 2001
From: Keegan Carruthers-Smith
Date: Wed, 6 May 2026 10:56:12 +0200
Subject: [PATCH 096/217] batch-changes: update bitbucket cloud api token docs
(#1768)
Our documentation was outdated. BitBucket cloud now uses a different
flow to create a token and the names of the scopes have changed. The new
UX also doesn't have a reasonable screenshot to take, so we leave it
out.
---
docs/batch-changes/configuring-credentials.mdx | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/docs/batch-changes/configuring-credentials.mdx b/docs/batch-changes/configuring-credentials.mdx
index 76b74a269..31a6e9b03 100644
--- a/docs/batch-changes/configuring-credentials.mdx
+++ b/docs/batch-changes/configuring-credentials.mdx
@@ -258,17 +258,17 @@ Alternatively, you can use [Bitbucket Server OAuth](#bitbucket-server-oauth) to
### Bitbucket Cloud
-On Bitbucket, follow the steps to [create an app password](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/). Batch Changes requires the following scopes:
+On Bitbucket, follow the steps to [create an API token with scopes](https://support.atlassian.com/bitbucket-cloud/docs/create-an-api-token/). Batch Changes requires the following Bitbucket scopes:
-- `account:read`
-- `repo:read`
-- `repo:write`
-- `pr:write`
-- `pipeline:read`
+- `read:account`
+- `read:repository:bitbucket`
+- `read:pipeline:bitbucket`
+- `write:repository:bitbucket`
+- `write:pullrequest:bitbucket`
-
+If you have an existing Bitbucket Cloud app password, you can continue using it until Bitbucket Cloud disables app passwords. For new credentials, use an API token.
-Alternatively, you can use [Bitbucket Cloud OAuth](#bitbucket-cloud-oauth) to authenticate without manually creating an app password.
+Alternatively, you can use [Bitbucket Cloud OAuth](#bitbucket-cloud-oauth) to authenticate without manually creating a token.
### Azure DevOps
From d2fa014d91964ff69b433d633f582643ca4e1253 Mon Sep 17 00:00:00 2001
From: Jan Hartman
Date: Fri, 8 May 2026 10:33:51 +0200
Subject: [PATCH 097/217] Add evaluator to MCP tools list, document missing
endpoint (#1769)
---
docs/api/mcp/index.mdx | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 407b6b561..094480e74 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -37,10 +37,11 @@ This works similarly for other MCP-compatible agents. See [Client Integrations](
The MCP server provides different tool suites for various use cases:
-| Endpoint | Description |
-| ---------------------- | ------------------------------- |
-| `/.api/mcp` | Full suite of Sourcegraph tools |
-| `/.api/mcp/deepsearch` | Deep Search agent |
+| Endpoint | Description |
+| ---------------------- | ----------------------------------- |
+| `/.api/mcp` | Core Sourcegraph search tools |
+| `/.api/mcp/all` | Full suite of Sourcegraph tools |
+| `/.api/mcp/deepsearch` | Deep Search agent |
Example URL:
@@ -264,6 +265,17 @@ Semantic search with flexible linguistic matching.
**Features:** Flexible linguistic matching, stemming, broader results than keyword search
+#### `evaluator`
+
+Run sandboxed Lua scripts for aggregation, cross-referencing, and computation over search results.
+
+**Parameters:**
+
+- `script` - Lua script to execute against Sourcegraph search results (required)
+
+**Use cases:** Counting or aggregating many search matches, cross-referencing multiple searches, transforming or combining search output with custom logic
+
+
### Code Navigation
#### `go_to_definition`
From fccceac6cc3e5ddba0fa279088c98604704b7280 Mon Sep 17 00:00:00 2001
From: Eugenio Sanchez
Date: Mon, 11 May 2026 09:57:17 -0700
Subject: [PATCH 098/217] fix(batch-changes): repair broken permissions table
(#1770)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## What
Fixes the broken table under "Batch Change access for each permission
level" on
`/batch-changes/permissions-in-batch-changes`. Previously the table
rendered as a
single paragraph with literal `|` separators visible to the reader.
## Currently at Permissions in Batch Changes
You can see the page
[here](https://sourcegraph.com/docs/batch-changes/permissions-in-batch-changes#permissions-in-batch-changes)
## After (locally)
## Why
The markdown was malformed in two ways:
1. There was a blank line between the header row and the `|---|`
separator row.
GFM requires the separator to be on the line immediately after the
header,
otherwise the whole block falls back to a paragraph.
2. The rows were missing leading/trailing `|` pipes, unlike every other
table in
the repo.
## How
Rewrote the table using the standard pipe-delimited form already used
elsewhere
in the docs (e.g., `docs/tutorials/index.mdx`). No content changes — the
actions
and ✅/❌ values are identical to the previous source.
## Test plan
- `pnpm run dev` and visit `/batch-changes/permissions-in-batch-changes`
- Confirm the "Batch Change access for each permission level" section
renders
as a real table with three columns (Batch change action / Read / Admin)
- Confirm no other pages are affected (only this one file changed)
---
.../permissions-in-batch-changes.mdx | 29 +++++++++----------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/docs/batch-changes/permissions-in-batch-changes.mdx b/docs/batch-changes/permissions-in-batch-changes.mdx
index 13f233171..892377fd5 100644
--- a/docs/batch-changes/permissions-in-batch-changes.mdx
+++ b/docs/batch-changes/permissions-in-batch-changes.mdx
@@ -30,21 +30,20 @@ Batch changes can be created under the user's or an organization's namespace. If
The following table shows the access for each permission level for a batch change.
- **Batch change action** | **Read** | **Admin**
-
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------: | :-------:
-View batch change name and description (Also shows input branch name, create/update dates, and batch change status) | ✅ | ✅
-View burndown chart (aggregate changeset statuses over time) | ✅ | ✅
-View list of patches and changesets | ✅ | ✅
-View `diffstat` (aggregate count of added/changed/deleted lines) | ✅ | ✅
-View error messages (related to creating or syncing changesets) | ❌ | ✅
-Edit batch change name, description, and branch name | ❌ | ✅
-Update batch change patches (and changesets on code hosts) | ❌ | ✅
-Publish changesets to code host | ❌ | ✅
-Add/remove existing changesets to/from batch change | ❌ | ✅
-Refresh changeset statuses | ❌ | ✅
-Close batch change | ❌ | ✅
-Delete batch change | ❌ | ✅
+| **Batch change action** | **Read** | **Admin** |
+| ----------------------- | :------: | :-------: |
+| View batch change name and description (Also shows input branch name, create/update dates, and batch change status) | ✅ | ✅ |
+| View burndown chart (aggregate changeset statuses over time) | ✅ | ✅ |
+| View list of patches and changesets | ✅ | ✅ |
+| View `diffstat` (aggregate count of added/changed/deleted lines) | ✅ | ✅ |
+| View error messages (related to creating or syncing changesets) | ❌ | ✅ |
+| Edit batch change name, description, and branch name | ❌ | ✅ |
+| Update batch change patches (and changesets on code hosts) | ❌ | ✅ |
+| Publish changesets to code host | ❌ | ✅ |
+| Add/remove existing changesets to/from batch change | ❌ | ✅ |
+| Refresh changeset statuses | ❌ | ✅ |
+| Close batch change | ❌ | ✅ |
+| Delete batch change | ❌ | ✅ |
Authorization for all actions is also subject to [repository
From 72ee1a5b7a6316652172c69ffac740545ec4d6d8 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Tue, 19 May 2026 09:05:05 -0700
Subject: [PATCH 099/217] Update docs latest version to 7.3 (#1773)
## Summary
- Set DOCS_LATEST_VERSION to 7.3
- Add 7.2 and 7.1 to the version selector previous versions
- Add a Sourcegraph 7.X section to the legacy versions page
## Test plan
- Not run (config/navigation content change only)
Co-authored-by: Amp
---
docs.config.js | 2 +-
docs/legacy.mdx | 8 ++++++++
src/data/versions.ts | 17 ++++++++++++-----
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/docs.config.js b/docs.config.js
index d82726f00..7c5cd3a51 100644
--- a/docs.config.js
+++ b/docs.config.js
@@ -1,5 +1,5 @@
const config = {
- DOCS_LATEST_VERSION: '7.1'
+ DOCS_LATEST_VERSION: '7.3'
};
module.exports = config;
diff --git a/docs/legacy.mdx b/docs/legacy.mdx
index 83a656790..1371231ab 100644
--- a/docs/legacy.mdx
+++ b/docs/legacy.mdx
@@ -4,6 +4,14 @@
Find versioned documentation for previous versions of Sourcegraph below.
+
+
+- [7.2](https://7.2.sourcegraph.com)
+- [7.1](https://7.1.sourcegraph.com)
+- [7.0](https://7.0.sourcegraph.com)
+
+
+
- [6.12](https://6.12.sourcegraph.com)
diff --git a/src/data/versions.ts b/src/data/versions.ts
index 2e0a15a2b..f15188926 100644
--- a/src/data/versions.ts
+++ b/src/data/versions.ts
@@ -13,11 +13,18 @@ export const versions: VersionI[] = [
label: 'latest',
url: '/docs'
},
- {
- name: 'v7.0',
- url: 'https://7.0.sourcegraph.com'
- },
-
+ {
+ name: 'v7.2',
+ url: 'https://7.2.sourcegraph.com'
+ },
+ {
+ name: 'v7.1',
+ url: 'https://7.1.sourcegraph.com'
+ },
+ {
+ name: 'v7.0',
+ url: 'https://7.0.sourcegraph.com'
+ },
{
name: 'v6.12',
url: 'https://6.12.sourcegraph.com'
From 3d627505682bd6d0f62e579d59330c49610c576d Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Tue, 19 May 2026 13:46:43 -0700
Subject: [PATCH 100/217] docs: add smart hover summaries to entitlements
(#1772)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
- Updates the entitlements page to list smart hover summaries alongside
Deep Search as a supported feature.
- Adds a "Managing usage" section to the smart hover summaries page
linking to the entitlements docs, mirroring the pattern used on the Deep
Search page.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6
---
docs/admin/entitlements.mdx | 4 ++--
docs/code-navigation/smart-hover.mdx | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/docs/admin/entitlements.mdx b/docs/admin/entitlements.mdx
index 950967718..01b3e1fd0 100644
--- a/docs/admin/entitlements.mdx
+++ b/docs/admin/entitlements.mdx
@@ -11,8 +11,8 @@ Entitlements can be set as a global default: default entitlements are granted to
Each entitlement has a detailed usage view to help administrators understand how users are using the entitlement, and reset entitlement usage for specific users.
- Entitlements currently only support [Deep Search](/deep-search), but we may
- support other features in the future. If you would like to request
+ Entitlements currently support [Deep Search](/deep-search) and [smart hover
+ summaries](/code-navigation/smart-hover). If you would like to request
entitlement support for a feature, please reach out at
support@sourcegraph.com.
diff --git a/docs/code-navigation/smart-hover.mdx b/docs/code-navigation/smart-hover.mdx
index ea99e8063..7ecb329d3 100644
--- a/docs/code-navigation/smart-hover.mdx
+++ b/docs/code-navigation/smart-hover.mdx
@@ -20,6 +20,12 @@ Summaries are powered by a small, fast model, but only compiler-grade precise co
Smart hover summaries are a [Beta feature](/beta-and-experimental) and free while the feature is in Beta. The feature may become [billable with credits](/beta-and-experimental#credits-and-billing) once it becomes generally available. At least 30 days notice will be given before such a change goes into effect.
+## Managing usage
+
+Sourcegraph administrators can configure entitlements for their users to control smart hover summary usage in `/site-admin/entitlements`.
+
+To learn more, refer to [Entitlements](/admin/entitlements).
+
## Feedback
Please share feedback on this feature with us at [feedback@sourcegraph.com](mailto:feedback@sourcegraph.com) or via your customer success manager.
From 38c5db0b60e3c5662cfffbc89e26709dd3db6594 Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Wed, 20 May 2026 10:20:12 -0700
Subject: [PATCH 101/217] docs: document batch_changes:read permission (#1775)
Fix broken markdown table and replace 'Coming soon!' placeholder with
description of the now-GA batch_changes:read permission
---
docs/admin/access-control/batch-changes.mdx | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/docs/admin/access-control/batch-changes.mdx b/docs/admin/access-control/batch-changes.mdx
index bd4c29481..907cf71f4 100644
--- a/docs/admin/access-control/batch-changes.mdx
+++ b/docs/admin/access-control/batch-changes.mdx
@@ -2,8 +2,7 @@
Granular controls for who can access [Batch Changes](/batch-changes/) can be configured by site admins by tuning the roles assigned to users and the permissions granted to those roles. This page describes the permission types available for Batch Changes, and whether they are granted by default to the **User** [system role](/admin/access-control#system-roles). All permissions are granted to the **Site Administrator** system role by default.
- Name | Description | Granted to **User** by default?
-
---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-----------------------------:
-`batch_changes:read` | **_Coming soon!_** | ✓
-`batch_changes:write` |
User can create, update, close, or delete batch changes.
User can create, execute, and apply batch specs.
User can perform bulk operations on changesets such as publishing, commenting on, closing, or merging them.
| ✓
+| Name | Description | Granted to **User** by default? |
+| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-----------------------------: |
+| `batch_changes:read` |
User can view batch changes, changesets, and batch specs.
User can view bulk operations and batch spec workspaces.
| ✓ |
+| `batch_changes:write` |
User can create, update, close, or delete batch changes.
User can create, execute, and apply batch specs.
User can perform bulk operations on changesets such as publishing, commenting on, closing, or merging them.
| ✓ |
From 4efc14c888a979dbcd39fd0d613d5703c06b467c Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Fri, 22 May 2026 15:08:45 -0700
Subject: [PATCH 102/217] chore/platform: deprecate pure docker deployment
(#1777)
closes PLAT-668
As seen on title.
---
docs/admin/pings.mdx | 2 +-
docs/code-navigation/troubleshooting.mdx | 2 +-
docs/self-hosted/http-https-configuration.mdx | 5 -
docs/self-hosted/index.mdx | 1 -
docs/self-hosted/updates/index.mdx | 1 -
docs/self-hosted/updates/pure-docker.mdx | 754 ------------------
src/data/redirects.ts | 6 +-
7 files changed, 5 insertions(+), 766 deletions(-)
delete mode 100644 docs/self-hosted/updates/pure-docker.mdx
diff --git a/docs/admin/pings.mdx b/docs/admin/pings.mdx
index 66a13c1e4..68b102c76 100644
--- a/docs/admin/pings.mdx
+++ b/docs/admin/pings.mdx
@@ -18,7 +18,7 @@ Sourcegraph aggregates usage and performance metrics for some product features i
- The IP address of the instance (e.g. "172.xx.xx.xx")
- Sourcegraph version string (e.g. "vX.X.X")
- Dependency versions (e.g. "6.0.9" for Redis, or "13.0" for Postgres)
-- Deployment type (single Docker image, Docker Compose, Kubernetes cluster, Helm, or pure Docker cluster)
+- Deployment type (single Docker image, Docker Compose, Kubernetes cluster, Helm)
- License key associated with your Sourcegraph Enterprise subscription
- Aggregate count of current monthly users
- Total count of existing user accounts
diff --git a/docs/code-navigation/troubleshooting.mdx b/docs/code-navigation/troubleshooting.mdx
index 3fa74214a..5d726039a 100644
--- a/docs/code-navigation/troubleshooting.mdx
+++ b/docs/code-navigation/troubleshooting.mdx
@@ -32,7 +32,7 @@ Before bringing a code navigation issue to the engineering team, the site-admin
The following details should always be supplied.
- The Sourcegraph instance version
-- The Sourcegraph instance deployment type (e.g. server, pure-docker, docker-compose, k8s)
+- The Sourcegraph instance deployment type (e.g. server, docker-compose, k8s)
- The memory, cpu, and disk resources allocated to the following containers:
- frontend
- precise-code-intel-worker
diff --git a/docs/self-hosted/http-https-configuration.mdx b/docs/self-hosted/http-https-configuration.mdx
index 6580d6cd0..8c954c2af 100644
--- a/docs/self-hosted/http-https-configuration.mdx
+++ b/docs/self-hosted/http-https-configuration.mdx
@@ -5,7 +5,6 @@ Overview:
- [Single Docker image (`sourcegraph/server`): NGINX](#sourcegraph-single-instance-docker)
- [Sourcegraph Cluster (Kubernetes): NGINX](#sourcegraph-cluster-kubernetes)
- [Docker Compose: Caddy 2](#sourcegraph-via-docker-compose-caddy-2)
-- [Other Sourcegraph clusters (e.g. pure-docker)](#other-sourcegraph-clusters-e-g-pure-docker)
## Sourcegraph single Docker image and Sourcegraph Cluster (Kubernetes): NGINX
@@ -205,8 +204,4 @@ In your [docker-compose.yaml](https://github.com/sourcegraph/deploy-sourcegraph-
**NOTE**: When adding your certs to your instance, make sure they are in the `deploy-sourcegraph-docker` folder, not outside of it. They will not be recognized otherwise.
-## Other Sourcegraph clusters (e.g. pure-Docker)
-NGINX is not included in the [pure-Docker deployment](https://github.com/sourcegraph/deploy-sourcegraph-docker) as it's designed to be minimal and not tied to any specific reverse proxy.
-
-If NGINX is your preferred reverse proxy, we suggest using [the official NGINX docker images](https://hub.docker.com/_/nginx) and following their instructions for [securing HTTP traffic with a proxied server](https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/).
diff --git a/docs/self-hosted/index.mdx b/docs/self-hosted/index.mdx
index 4522aba76..1f66d8eda 100644
--- a/docs/self-hosted/index.mdx
+++ b/docs/self-hosted/index.mdx
@@ -35,7 +35,6 @@ Get started running Sourcegraph on-prem.
- [Upgrade Overview](/self-hosted/updates/)
- [Docker Compose upgrades](https://sourcegraph.com/changelog/self-hosted/docker-compose)
- [Kubernetes upgrades](https://sourcegraph.com/changelog/self-hosted/kubernetes)
-- [Pure Docker upgrades](/self-hosted/updates/pure-docker)
- [Migrator](/self-hosted/updates/migrator/)
- [Upgrading PostgreSQL](/self-hosted/postgres#upgrading-postgresql)
diff --git a/docs/self-hosted/updates/index.mdx b/docs/self-hosted/updates/index.mdx
index 0ce30230f..404660cf9 100644
--- a/docs/self-hosted/updates/index.mdx
+++ b/docs/self-hosted/updates/index.mdx
@@ -128,7 +128,6 @@ If your instance has schema drift or unfinished oob migrations you may need to a
- **Single-container Sourcegraph with Docker (removed in 7.0.0)**
- The single-container deployment mode has been sunset. [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
- [Upgrade Notes](https://sourcegraph.com/changelog/self-hosted/server)
-- [**Pure-docker custom deployments**](/self-hosted/updates/pure-docker)
- [**Sourcegraph AWS AMI instances**](/self-hosted/deploy/machine-images/aws-ami#upgrade) *(deprecated — sunset in 7.0.0)*
## Other helpful links
diff --git a/docs/self-hosted/updates/pure-docker.mdx b/docs/self-hosted/updates/pure-docker.mdx
deleted file mode 100644
index ab38230cd..000000000
--- a/docs/self-hosted/updates/pure-docker.mdx
+++ /dev/null
@@ -1,754 +0,0 @@
-# Updating a pure-Docker Sourcegraph cluster
-
-> WARNING: **The pure-Docker deployment type is planned for deprecation.** We recommend migrating to a supported deployment method such as [Docker Compose](/self-hosted/deploy/docker-compose) or [Kubernetes](/self-hosted/deploy/kubernetes). If you have questions or need assistance with migration, please [contact support](https://sourcegraph.com/contact).
-
-This document describes the exact changes needed to update a [pure-Docker Sourcegraph cluster](https://github.com/sourcegraph/deploy-sourcegraph-docker).
-Each section comprehensively describes the changes needed in Docker images, environment variables, and added/removed services. **Always refer to this page before upgrading Sourcegraph,** as it comprehensively describes the steps needed to upgrade, and any manual migration steps you must perform.
-
-1. Read our [update policy](/self-hosted/updates/#update-policy) to learn about Sourcegraph updates.
-2. Find the relevant entry for your update in the update notes on this page. **If the notes indicate a patch release exists, target the highest one.**
-
-## Unreleased
-
-## v6.2.2553
-
-### Known issues
-
-Customers running Sourcegraph versions prior to v6.2.2553 and using the Sourcegraph provided PostgreSQL containers may encounter PostgreSQL collation version mismatch warnings after upgrading to more recent Sourcegraph versions due to an underlying glibc version update.
-
-When logging into the database via psql or similar tools you may see the following warning:
-
-```shell
-WARNING: database "sg" has a collation version mismatch DETAIL: The database was created using collation version 2.40, but the operating system provides version 2.41.
-```
-
-Mismatched collation versions can lead to database index corruption if left unchecked.
-
-Affected Services
-
-- pgsql container
-- codeintel-db container
-- codeinsights-db container
-
-Only self-hosted customers using the Sourcegraph provided PostgreSQL container images are affected.
-
-Self-hosted customers using external databases, such as AWS RDS, GCP CloudSQL, or another self-managed solution are NOT affected.
-
-See our [PostgreSQL Collation Version Mismatch Resolution](/self-hosted/postgresql-collation-version-mismatch-resolution) notes for more details.
-
-## v5.2.6 ➔ v5.2.7
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.7`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.6...v5.2.7)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.7`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.6...v5.2.7)
-
-#### Notes:
-
-## v5.2.5 ➔ v5.2.6
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.6`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.5...v5.2.6)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.6`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.5...v5.2.6)
-
-#### Notes:
-
-## v5.2.4 ➔ v5.2.5
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.5`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.4...v5.2.5)
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.5`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.4...v5.2.5)
-
-#### Notes:
-
-## v5.2.3 ➔ v5.2.4
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.3...v5.2.4)
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.3...v5.2.4)
-
-#### Notes:
-
-## v5.2.2 ➔ v5.2.3
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.2...v5.2.3)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.2...v5.2.3)
-
-#### Notes:
-
-## v5.2.1 ➔ v5.2.2
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.1...v5.2.2)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.1...v5.2.2)
-
-#### Notes:
-
-## v5.2.0 ➔ v5.2.1
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.2.0...v5.2.1)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.2.0...v5.2.1)
-
-#### Notes:
-
-## v5.1.9 ➔ v5.2.0
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.2.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.9...v5.2.0)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.2.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.9...v5.2.0)
-
-#### Notes:
-
-## v5.1.8 ➔ v5.1.9
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.9`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.8...v5.1.9)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.9`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.8...v5.1.9)
-
-#### Notes:
-
-## v5.1.7 ➔ v5.1.8
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.8`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.7...v5.1.8)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.8`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.7...v5.1.8)
-
-#### Notes:
-
-## v5.1.6 ➔ v5.1.7
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.7`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.6...v5.1.7)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.7`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.6...v5.1.7)
-
-#### Notes:
-
-## v5.1.5 ➔ v5.1.6
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.6`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.5...v5.1.6)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.6`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.5...v5.1.6)
-
-#### Notes:
-
-## v5.1.4 ➔ v5.1.5
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.5`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.4...v5.1.5)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.5`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.4...v5.1.5)
-
-#### Notes:
-
-## v5.1.3 ➔ v5.1.4
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.3...v5.1.4)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.3...v5.1.4)
-
-#### Notes:
-
-## v5.1.2 ➔ v5.1.3
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.2...v5.1.3)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.2...v5.1.3)
-
-#### Notes:
-
-## v5.1.1 ➔ v5.1.2
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.1...v5.1.2)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.1...v5.1.2)
-
-#### Notes:
-
-## v5.1.0 ➔ v5.1.1
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.1.0...v5.1.1)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.1.0...v5.1.1)
-
-#### Notes:
-
-## v5.0.6 ➔ v5.1.0
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.1.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.6...v5.1.0)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.1.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.6...v5.1.0)
-
-#### Notes:
-
-## v5.0.5 ➔ v5.0.6
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.6`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.5...v5.0.6)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.6`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.5...v5.0.6)
-
-#### Notes:
-
-## v5.0.4 ➔ v5.0.5
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.5`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.4...v5.0.5)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.5`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.4...v5.0.5)
-
-#### Notes:
-
-## v5.0.3 ➔ v5.0.4
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.3...v5.0.4)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.3...v5.0.4)
-
-#### Notes:
-
-## v5.0.2 ➔ v5.0.3
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.2...v5.0.3)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.2...v5.0.3)
-
-#### Notes:
-
-## v5.0.1 ➔ v5.0.2
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.1...v5.0.2)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.1...v5.0.2)
-
-#### Notes:
-
-## v5.0.0 ➔ v5.0.1
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v5.0.0...v5.0.1)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v5.0.0...v5.0.1)
-
-#### Notes:
-
-## v4.5.1 ➔ v5.0.0
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v5.0.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v4.5.1...v5.0.0)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v5.0.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v4.5.1...v5.0.0)
-
-#### Notes:
-
-## v4.5.0 ➔ v4.5.1
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v4.5.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v4.5.0...v4.5.1)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v4.5.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v4.5.0...v4.5.1)
-
-#### Notes:
-
-## v4.4.2 ➔ v4.5.0
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v4.5.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v4.4.2...v4.5.0)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v4.5.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v4.4.2...v4.5.0)
-
-#### Notes:
-
-- This release introduces a background job that will convert all LSIF data into SCIP. **This migration is irreversible** and a rollback from this version may result in loss of precise code intelligence data. Please see the [migration notes](/admin/how-to/lsif-scip-migration) for more details.
-
-## v4.4.1 ➔ v4.4.2
-
-As a template, perform the same actions as the following diff in your own deployment: [`Upgrade to v4.4.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/v4.4.1...v4.4.2)
-
-For non-standard replica builds:
-
-- [`Customer Replica 1: ➔ v4.4.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker-customer-replica-1/compare/v4.4.1...v4.4.2)
-
-#### Notes:
-
-## v4.4.0 ➔ v4.4.1
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v4.4.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/9f597b9fb42ea1a170e4456e57e4340d3f722e65)
--
-
-## v4.3.1 ➔ v4.4.1
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v4.4.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/8cdeb7616b73e100aec41806b1118264fea0615d)
-- Users attempting a multi-version upgrade to v4.4.0 may be affected by a bug in which an outdated schema migration is included in the upgrade process. _This issue is fixed in patch v4.4.2_
-
- - The error will be encountered while running `upgrade`, and contains the following text: `"frontend": failed to apply migration 1648115472`.
- - To resolve this issue run migrator with the args `'add-log', '-db=frontend', '-version=1648115472'`.
- - If migrator was stopped while running `upgrade` the next run of upgrade will encounter drift, this drift should be disregarded by providing migrator with the `--skip-drift-check` flag.
-
-## v4.2 ➔ v4.3.1
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v4.3.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/1a8f9a3d71664bf31a1fae9d2ad99c9074eaebe9)
-
-## v4.1 ➔ v4.2.1
-
-- `minio` has been replaced with `blobstore`. Please see the update notes [here](/self-hosted/how-to/blobstore-update-notes)
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v4.2.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/a2bd81af53c8b8ad5b0d69e7857945a1f96e331f)
-
-## v4.0 ➔ v4.1.3
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v4.1.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/c1684d0e613630bbe70bc81693e56c906d8f2d08)
-
-**Patch releases**:
-
-- [`v4.1.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/88523d785a0a2fcf943fca44f8d7be381209f3d7)
-
-## v3.43 ➔ v4.0
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v4.0.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/916d2f79e04955e5bef2a47dba738d68655f20ac)
-
-**Patch releases**:
-
-- [`➔ v4.0.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/46a3d0652ad6396a99d2c8b601ff362fbcf4a1c3)
-
-## v3.42 ➔ v3.43
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.43.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/94be340c1b0e57c866d2f530c489da4f65d453e2)
-
-**Patch releases**:
-
-- `v3.43.1`
-- `v3.43.2`
-
-## v3.41 ➔ v3.42
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.42.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/a189e495813bc33d544b302eb98c197d70eacc87)
-
-**Patch releases**:
-
-- `v3.42.1`
-- `v3.42.2`
-
-## v3.40 ➔ v3.41
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.41.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/8bfd70892c1bf56c5a88db0329826800c7a1097b)
-
-## v3.39 ➔ v3.40
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`-> 3.40.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/2c94a1fb5fa396759d4800a717af6658548943f7)
-- [`-> 3.40.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/312b9f8308148cf9403cc7868eee7b5c9611b121)
-
-**Patch releases**:
-
-- `v3.40.1`
-- `v3.40.2`
-
-**Notes**:
-
-- A fix that corrects the default behavior of the `migrator` service is included in this release. An attempt to standardize CLI packages in v3.39.0 unintentionally
- broke the default behavior. In order to guard against this, all command line arguments are explicitly set in the deployment manifest.
-- **CAUTION** Added the ability to customize postgres server configuration by mounting external configuration files. If you have customized the config in any way, you should copy your changes to the added `postgresql.conf` files [sourcegraph/deploy-sourcegraph-docker#806](https://github.com/sourcegraph/deploy-sourcegraph-docker/pull/806)
-
-## v3.38 ➔ v3.39
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`-> 3.39.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/b37367c738d28ef7e27c8b1f833eb9355bd9e8b1)
-- [`-> 3.39.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/c2450311e385f077679d7666c09fd5a2aa7a6b6e)
-
-**Patch releases**:
-
-- `v3.39.1`
-
-**Notes**:
-
-- In this release we need to remove timescaledb from `shared_preload_libraries` configuration in `codeinsights-db`'s `postgresql.conf`. This step will be [performed automatically](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/b37367c738d28ef7e27c8b1f833eb9355bd9e8b1#diff-916162e35509bb582798c4306953fec9f43779d82420cb4435576e2873869f78R17). It can be performed manually instead of run as part of the deploy script.
-
-## v3.37 ➔ v3.38
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.38.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/a66a74ce9a120a9da743eb44c6fea3a55f51842a)
-- [`➔ v3.38.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/19735936834aab31134888c179bf07387f09a647)
-
-**Patch releases**:
-
-- `v3.38.1`
-
-**Notes**:
-
-- This release adds the requirement that the environment variables `SRC_GIT_SERVERS`, `SEARCHER_URL`, `SYMBOLS_URL`, and `INDEXED_SEARCH_SERVERS` are set for the worker process.
-
-## v3.36 ➔ v3.37
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.37.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/9e369ec86cdef50b9e2a8350040d011cf2c7cd49)
-
-**Notes**:
-
-- This release adds a new container that runs database migrations (`migrator`) independently of the frontend container. Confirm the environment variables on this new container match your database settings.
-
-## v3.35 ➔ v3.36
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.36.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/25cdf1858de7fe3d0a3e3479a7e5620a02ac6a2c)
-- [`➔ v3.36.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/45946fd69dd061cb39c85cfd06a037aeeaf74808)
-- [`➔ v3.36.3`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/3273d3c7da750ff15ba9d4f24d1e09e835bf11d9)
-
-**Patch releases**:
-
-- `v3.36.1`
-- `v3.36.3`
-- `v3.36.3`
-
-## v3.34 ➔ v3.35
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.35.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/33b076a123c23930cc3339167bdd5502bebc5a3c)
-- [`➔ v3.35.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/ba0d94eb945fd3371ed888e4b7177828b33acd3d)
-- [`➔ v3.35.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/abc948e60a489f559ebd5cc8f0affcd3c4371fa4)
-
-**Patch releases**:
-
-- `v3.35.1`
-- `v3.35.2`
-
-**Notes**:
-
-- The `query-runner` service has been decomissioned in the 3.35.0 release. You can safely remove the `query-runner` service from your installation.
-- There is a [known issue](/code-insights/how-tos/Troubleshooting#oob-migration-has-made-progress-but-is-stuck-before-reaching-100) with the Code Insights out-of-band settings migration not reaching 100% complete when encountering deleted users or organizations.
-
-## v3.33 ➔ v3.34
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.34.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/d615dd5f63ec0984d60076aecf0bc598d9ffc1a8)
-
-**Patch releases**:
-
-- `v3.34.1`
-- `v3.34.2`
-
-## v3.32 ➔ v3.33
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.33.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/f6dc5c4a859b09faaea44a34e3ba8e85c92fcf58)
-
-## v3.31 ➔ v3.32
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.32.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/2c4c283ae9f89fa48232f0b99ed1982008034fee)
-
-## v3.30 ➔ v3.31
-
-> WARNING: **This upgrade must originate from `v3.30.3`.**
-
-**Notes**:
-
-- The **built-in** main Postgres (`pgsql`) and codeintel (`codeintel-db`) databases have switched to an alpine-based Docker image. Upon upgrading, Sourcegraph will need to re-index the entire database.
-
-## v3.29 ➔ v3.30
-
-> WARNING: **If you have already upgraded to 3.30.0, 3.30.1, or 3.30.2** please see the rebuild corrupt postgres indexes guide for recovery steps.
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.30.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/63802ca5966754162c2b3e077e64e60687138874)
-
-**Patch releases**:
-
-- `v3.30.1`
-- `v3.30.2`
-- `v3.30.3`
-
-## v3.28 ➔ v3.29
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.29.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/940100429fdd59f930436d47e226f5a7116bf6d9)
-
-**Patch releases**:
-
-- `v3.29.1`
-
-**Notes**:
-
-- This upgrade adds a new `worker` service that runs a number of background jobs that were previously run in the `frontend` service. See [notes on deploying workers](/self-hosted/workers#deploying-workers) for additional details. Good initial values for CPU and memory resources allocated to this new service should match the `frontend` service.
-
-## v3.27 ➔ v3.28
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.28.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/fa9bd6b4749697e09a4a74537e180e8331d84a5b)
-
-## v3.26 ➔ v3.27
-
-> WARNING: Sourcegraph 3.27 now requires **Postgres 12+**.
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.27.4`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/1d01302a86d219a0f00f6dcbd27d4a511581ff27)
-
-**Patch releases**:
-
-- `v3.27.1`
-- `v3.27.2`
-- `v3.27.3`
-- `v3.27.4`
-
-**Notes**:
-
-- If you are using an external database, [upgrade your database](/self-hosted/postgres#upgrading-external-postgresql-instances) to Postgres 12.5 or above prior to upgrading Sourcegraph. No action is required if you are using the supplied supplied database images.
-
-## v3.26 ➔ v3.26
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.26.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/68ffad230fc6f99477cedd303a55b91a8c4d9acb)
-- [`➔ v3.26.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/de80a4af2ef2eeb23526e3ea560f7f72e1a71a5f)
-
-**Patch releases**:
-
-- `v3.26.1`
-- `v3.26.2`
-
-## v3.24 ➔ v3.25
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.25.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/ee2cbb59c80a382fb6cc649d4547b044d9a8b28d)
-
-**Notes**:
-
-- **If you are connecting to an external Postgres database using SSL/TLS:** Go `1.15` introduced changes to SSL/TLS connection validation which requires certificates to include a `SAN`. This field was not included in older certificates and clients relied on the `CN` field. You might see an error like `x509: certificate relies on legacy Common Name field`. We recommend that customers using Sourcegraph with an external database and connecting to it using SSL/TLS check whether the certificate is up to date.
- - AWS RDS customers please reference [AWS' documentation on updating the SSL/TLS certificate](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) for steps to rotate your certificate.
-- Confirm that `codeinsights-db-disk` has the correct file permissions via the following command.
-
-```bash
-sudo chown -R 999:999 ~/sourcegraph-docker/codeinsights-db-disk/
-```
-
-## v3.23 ➔ v3.24
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.24.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/4acc4c7ed5d49ce41b1f68d654a3f4e2f35bd622)
-
-## v3.22 ➔ v3.23
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.23.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/10de1a4e34ab2c716bd63e52a68a6af896bd81b7)
-
-## v3.21 ➔ v3.22
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.22.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/223c11dacffafb985c2d29b6c6a9b84bcc8255be)
-
-**Notes**:
-
-- This upgrade removes the `code intel bundle manager`. This service has been deprecated and all references to it have been removed.
-- This upgrade also adds a MinIO container that doesn't require any custom configuration. You can find more detailed documentation [here](/self-hosted/external-services/object-storage).
-
-## v3.20 ➔ v3.21
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.21.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/4629ddfcdfd070b41801106199817ae903ead510)
-
-**Patch releases**:
-
-- `v3.21.1`
-- `v3.21.2`
-
-**Notes\***:
-
-- This upgrade includes a new code-intel DB (`deploy-codeintel-db.sh`) and a new service `minio` (`deploy-minio.sh`) to store precise code intel indexes.
-- There is a new environment variable for frontend and frontend-internal called `CODEINTEL_PGHOST`.
-
-## v3.19 ➔ v3.20
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.20.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/7c57315a1ce05981d436860d79ca01553931e274)
-
-**Patch releases**:
-
-- `v3.20.1`
-
-**Notes**:
-
-- Confirm that `lsif-server-disk` has the correct file permissions via the following command.
-
-```bash
-sudo chown -R 100:101 ~/sourcegraph-docker/lsif-server-disk/ ~/sourcegraph-docker/lsif-server-disk/
-```
-
-## v3.18 ➔ v3.19
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.19.1`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/a1648452c6f7c16637b0e069776df12604c27f73)
-
-**Patch releases**:
-
-- `v3.19.1`
-
-**Notes**:
-
-- Confirm that `lsif-server-disk` has the correct file permissions via the following command.
-
-```bash
-sudo chown -R 100:101 ~/sourcegraph-docker/lsif-server-disk/ ~/sourcegraph-docker/lsif-server-disk/
-```
-
-## v3.17 ➔ v3.18
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.18.0`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/7e6b23cdfead3be639048c5fa7fffe07441610f2)
-
-**Notes**:
-
-- `deploy-grafana.sh` and `deploy-prometheus.sh` had environment variables changed, otherwise only image tags have changed.
-
-## v3.16 ➔ v3.17
-
-As a template, perform the same actions as the following diffs in your own deployment:
-
-- [`➔ v3.17.2`](https://github.com/sourcegraph/deploy-sourcegraph-docker/commit/2895236661de3ff633ee56fe0b87e9a0f530cc60)
-
-**Patch releases**:
-
-- `v3.17.2`
-
-## v3.15 ➔ v3.16
-
-As a template, perform the same actions as this [diff](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/customer-replica-v3.15.1...customer-replica-v3.16.0) in your own deployment.
-
-**Steps**:
-
-1. Change `3.15.1` image tags to `3.16.0`.
-1. Update `prometheus/prometheus_targets.yml` [as shown here](https://github.com/sourcegraph/deploy-sourcegraph-docker/compare/customer-replica-v3.15.1...customer-replica-v3.16.0#diff-1d4c5a677b37d150c65ea8356cad978a).
-
-## v3.14 ➔ v3.15
-
-**Patch releases**:
-
-- `v3.15.1`
-
-**Steps**:
-
-1. Update environment variables
-
-- On `frontend` and `frontend-internal` containers, remove the `LSIF_SERVER_URL` environment variable.
-- On `frontend` and `frontend-internal` containers, set `PRECISE_CODE_INTEL_API_SERVER_URL=http://precise-code-intel-api-server:3186`
-- On all containers, change `JAEGER_AGENT_HOST=jaeger-agent` to `JAEGER_AGENT_HOST=jaeger`
-
-1. Remove all old container deployments
-
-- `jaeger-agent` container (`deploy-jaeger-agent.sh`)
-- `jaeger-cassandra` container (`deploy-jaeger-cassandra.sh`)
-- `jaeger-collector` container (`deploy-jaeger-collector.sh`)
-- `jaeger-query` container (`deploy-jaeger-query.sh`)
-- `lsif-server` container (`deploy-lsif-server.sh`)
-
-1. Add new container deployments
-
-- Add a single `jaeger` container [following this spec](https://github.com/sourcegraph/deploy-sourcegraph-docker/blob/v3.15.1/deploy-jaeger.sh#L1)
-- Add a single `precise-code-intel-api-server` container [following this spec](https://github.com/sourcegraph/deploy-sourcegraph-docker/blob/v3.15.1/deploy-precise-code-intel-api-server.sh)
-- Add a single `precise-code-intel-bundle-manager` container [following this spec](https://github.com/sourcegraph/deploy-sourcegraph-docker/blob/v3.15.1/deploy-precise-code-intel-bundle-manager.sh)
-- Add a single `precise-code-intel-worker` container [following this spec](https://github.com/sourcegraph/deploy-sourcegraph-docker/blob/v3.15.1/deploy-precise-code-intel-worker.sh)
-
-1. Update prometheus_targets.yml by replacing `lsif-server:3186` with `precise-code-intel-api-server:3186` and replacing `lsif-server:3187` with `precise-code-intel-bundle-manager:3187`
-1. Update image tags to `3.15.1`. Change `all sourcegraph/` image tags to `3.15.1`. This includes all images you previously had as `3.14.2` AND all `sourcegraph/` images:
-
-- `index.docker.io/sourcegraph/grafana:3.15.1`
-- `index.docker.io/sourcegraph/prometheus:3.15.1`
-- `index.docker.io/sourcegraph/redis-cache:3.15.1`
-- `index.docker.io/sourcegraph/redis-store:3.15.1`
-- `index.docker.io/sourcegraph/pgsql:3.15.1`
-
-The following _images_ have been renamed AND use Sourcegraph versions now (their container names and shell script names remain the same for now):
-
-```diff
-- index.docker.io/sourcegraph/syntect_server:c0297a1@sha256:333abb45cfaae9c9d37e576c3853843b00eca33a40a7c71f6b93211ed96528df
-+ index.docker.io/sourcegraph/syntax-highlighter:3.15.1
-
-- index.docker.io/sourcegraph/zoekt-indexserver:0.0.20200318141948-0b140b7@sha256:b022fd7e4884a71786acae32e0ec8baf785c18350ebf5d574d52335a346364f9
-+ index.docker.io/sourcegraph/search-indexer:3.15.1
-
-- index.docker.io/sourcegraph/zoekt-webserver:0.0.20200318141342-0b140b7@sha256:0d0fbce55b51ec7bdd37927539f50459cd0f207b7cf219ca5122d07792012fb1
-+ index.docker.io/sourcegraph/indexed-searcher:3.15.1
-```
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index b164a1e55..abcb9a557 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -6394,7 +6394,7 @@ const redirectsData = [
},
{
source: '/admin/updates/pure_docker',
- destination: '/self-hosted/updates/pure_docker',
+ destination: '/self-hosted/deploy/docker-compose/upgrade',
permanent: true
},
{
@@ -7115,8 +7115,8 @@ const redirectsData = [
permanent: true
},
{
- source: '/self-hosted/updates/pure_docker',
- destination: '/self-hosted/updates/pure-docker',
+ source: '/self-hosted/updates/pure-docker',
+ destination: '/self-hosted/deploy/docker-compose/upgrade',
permanent: true
},
{
From 5bd5343c267d5a9348e45c318e6101c4a6f06222 Mon Sep 17 00:00:00 2001
From: federubinstein
Date: Tue, 26 May 2026 11:43:43 +0200
Subject: [PATCH 103/217] feat/docs: document user:create outgoing webhook
event (#1771)
Adds documentation for the new `user:create` outgoing webhook event.
Follow-up from PR: https://github.com/sourcegraph/sourcegraph/pull/12425
---
docs/admin/webhooks/outgoing.mdx | 53 ++++++++++++++++++++++++++++++--
1 file changed, 50 insertions(+), 3 deletions(-)
diff --git a/docs/admin/webhooks/outgoing.mdx b/docs/admin/webhooks/outgoing.mdx
index 6a742d3c2..2bdc7420a 100644
--- a/docs/admin/webhooks/outgoing.mdx
+++ b/docs/admin/webhooks/outgoing.mdx
@@ -2,20 +2,20 @@
Outgoing webhooks can be configured on a Sourcegraph instance in order to send Sourcegraph events to external tools and services. This allows for deeper integrations between Sourcegraph and other applications.
-Currently, webhooks are only implemented for events related to [Batch Changes](/batch-changes/). They also cannot yet be scoped to specific entities, meaning that they will be triggered for all events of the specified type across Sourcegraph. Expanded support for more event types and scoped events is planned for the future. Please [let us know](mailto:feedback@sourcegraph.com) what types of events you would like to see implemented next, or if you have any other feedback!
+Currently, outgoing webhooks cannot yet be scoped to specific entities, meaning that they will be triggered for all events of the specified type across Sourcegraph. Expanded support for more event types and scoped events is planned for the future. Please [let us know](mailto:feedback@sourcegraph.com) what types of events you would like to see implemented next, or if you have any other feedback!
> WARNING: Outgoing webhooks have the potential to send sensitive information about your repositories and code to other untrusted services. When configuring outgoing webhooks, be sure to only send events to trusted service URLs and to use the shared secret to verify any requests received.
## Adding an outgoing webhook
-1. Navigate to **Site Admin > Configuration > Ougoing webhooks**
+1. Navigate to **Site Admin > Configuration > Outgoing webhooks**

1. Click **+ Create webhook**

1. Fill out the form:
1. **URL**: URL endpoint of the external service that Sourcegraph should send webhook events to.
1. **Secret**: An arbitrary secret to share between Sourcegraph and the external service. A default value is provided, but you are free to change it.
- 1. **Event types**: The types of [events](#supported-event-types) that will trigger a webhook event. Currently, only events related to Batch Changes are supported.
+ 1. **Event types**: The types of [events](#supported-event-types) that will trigger a webhook event.
1. Click **Create**
The outgoing webhook will now be created and active. To view or edit its details, or to see the log of event requests that have been sent for it, click the **Edit** button on the outgoing webhook's row.
@@ -116,3 +116,50 @@ The changeset webhook event payload mirrors the [GraphQL API](/api/graphql/) `Ex
"owning_batch_change_id": "QmF0Y2hDaGFuZ2U6MTcz"
}
```
+
+### User
+
+- **user:create** - Sent when a Sourcegraph user is created.
+
+#### Example payload
+
+The `user:create` webhook event is sent only after successful user creation. Failed user creation attempts do not send the event.
+
+```json
+{
+ // The payload schema version.
+ "version": 1,
+ "user": {
+ // The Sourcegraph database ID for the created user.
+ "database_id": 123,
+ // The Sourcegraph username for the created user.
+ "username": "alice",
+ // The display name, if set.
+ "display_name": "Alice",
+ // The avatar URL, if set.
+ "avatar_url": "https://example.com/avatar.png",
+ // The user creation timestamp.
+ "created_at": "2026-05-13T12:00:00Z",
+ // Whether the created user is a site admin.
+ "site_admin": false,
+ // Whether the created user is a service account.
+ "service_account": false,
+ // The user's verified email address, if available.
+ "verified_email": "alice@example.com"
+ },
+ // The Sourcegraph database ID of the user who created this user, if available.
+ "created_by_user_id": 42,
+ // Metadata about the external account used to create the user, if available.
+ "external_account": {
+ // The external auth or service type.
+ "service_type": "saml",
+ // The external auth or service identifier.
+ "service_id": "https://idp.example.com"
+ }
+}
+```
+
+- `version` is the payload schema version. Currently, this is `1`.
+- `created_by_user_id` is omitted when there is no authenticated Sourcegraph user who created the new user.
+- `user.verified_email` is only included when the user's email is verified.
+- `external_account` is only included when the user was created through an external account or auth provider path. Its `service_type` may be values such as `saml`, `openidconnect`, or `scim`.
From 46fa973f9534dd3e5251d92678113660463a88dc Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 4 Jun 2026 21:11:28 -0700
Subject: [PATCH 104/217] docs: add beta warnings for Kubernetes native
executor deployment options (#1779)
closes PLAT-704
Provide a warning to admins or developers reviewing the k8s-native
executors deployment type. These changes are intended to prevent further
adoption of a deployment type that may not work with future iteractions
sourcegraph and executors
---
.../deploy/machine-images/aws-ami.mdx | 2 +-
.../deploy/machine-images/aws-oneclick.mdx | 2 +-
.../self-hosted/deploy/machine-images/gce.mdx | 2 +-
.../executors/deploy-executors-dind.mdx | 8 +++++-
.../executors/deploy-executors-kubernetes.mdx | 9 ++++--
.../executors/deploy-executors-terraform.mdx | 28 +++++++++----------
.../executors/deploy-executors.mdx | 8 +++---
docs/self-hosted/executors/index.mdx | 17 +++++++++--
docs/self-hosted/index.mdx | 4 +--
9 files changed, 52 insertions(+), 28 deletions(-)
diff --git a/docs/self-hosted/deploy/machine-images/aws-ami.mdx b/docs/self-hosted/deploy/machine-images/aws-ami.mdx
index db537c42d..ad94fdf70 100644
--- a/docs/self-hosted/deploy/machine-images/aws-ami.mdx
+++ b/docs/self-hosted/deploy/machine-images/aws-ami.mdx
@@ -62,7 +62,7 @@ To configure SSL, and lock down the instance from the public internet, see the [
### Executors
-Executors are supported using [native kubernetes executors](/self-hosted/executors/deploy-executors-kubernetes).
+Executors are supported using [native kubernetes executors](/self-hosted/executors/deploy-executors-kubernetes) *(Beta — not recommended for production)*.
Executors support [auto-indexing](/code-navigation/auto-indexing) and [server-side batch changes](/batch-changes/server-side).
diff --git a/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx b/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
index 9520d2b9a..80075727d 100644
--- a/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
+++ b/docs/self-hosted/deploy/machine-images/aws-oneclick.mdx
@@ -74,7 +74,7 @@ Find the URL of your Sourcegraph instance in the **Outputs** section of the AWS
### Executors
-Executors are supported using [native kubernetes executors](/self-hosted/executors/deploy-executors-kubernetes).
+Executors are supported using [native kubernetes executors](/self-hosted/executors/deploy-executors-kubernetes) *(Beta — not recommended for production)*.
Executors support [auto-indexing](/code-navigation/auto-indexing) and [server-side batch changes](/batch-changes/server-side).
diff --git a/docs/self-hosted/deploy/machine-images/gce.mdx b/docs/self-hosted/deploy/machine-images/gce.mdx
index ce90f8542..008664765 100644
--- a/docs/self-hosted/deploy/machine-images/gce.mdx
+++ b/docs/self-hosted/deploy/machine-images/gce.mdx
@@ -114,7 +114,7 @@ $ sudo su sourcegraph
### Executors
-Executors are supported using [native kubernetes executors](/self-hosted/executors/deploy-executors-kubernetes).
+Executors are supported using [native kubernetes executors](/self-hosted/executors/deploy-executors-kubernetes) *(Beta — not recommended for production)*.
Executors support [auto-indexing](/code-navigation/auto-indexing) and [server-side batch changes](/batch-changes/server-side).
diff --git a/docs/self-hosted/executors/deploy-executors-dind.mdx b/docs/self-hosted/executors/deploy-executors-dind.mdx
index de42b8d1c..e2fabbcc5 100644
--- a/docs/self-hosted/executors/deploy-executors-dind.mdx
+++ b/docs/self-hosted/executors/deploy-executors-dind.mdx
@@ -1,6 +1,12 @@
# Deploying Sourcegraph executors on Kubernetes (docker-in-docker)
-This feature is in Beta stage.
+
+ Docker-in-Docker Kubernetes executors are in beta and are not recommended for production use.
+ This deployment mode requires privileged pod access and does not use Firecracker isolation.
+ For production workloads, deploy using
+ [Terraform](/self-hosted/executors/deploy-executors-terraform) or the
+ [Linux binary](/self-hosted/executors/deploy-executors-binary) instead.
+
[Kubernetes manifests](https://github.com/sourcegraph/deploy-sourcegraph-k8s) are provided to deploy Sourcegraph Executors on a running Kubernetes cluster. If you are deploying Sourcegraph with helm, charts are available [here](https://github.com/sourcegraph/deploy-sourcegraph-helm).
diff --git a/docs/self-hosted/executors/deploy-executors-kubernetes.mdx b/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
index fbd2c221c..8f735c084 100644
--- a/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
+++ b/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
@@ -1,7 +1,9 @@
# Deploying Sourcegraph Executors natively on Kubernetes
-
- This feature is in beta and is available in Sourcegraph 5.1.0 and later.
+
+ Native Kubernetes executors are in beta. For production workloads, consider deploying using
+ [Terraform](/self-hosted/executors/deploy-executors-terraform) or the
+ [Linux binary](/self-hosted/executors/deploy-executors-binary) for better long-term support.
The native Kubernetes Executors have a master Executor pod that schedules worker pods via the Kubernetes API. The master Executor pod manages the lifecycle of jobs, while the worker pods process the actual [batch change](/batch-changes/server-side) or [precise auto indexing](/code-navigation/auto-indexing) job specs. For more details, see [how it works](/admin/executors#native-kubernetes).
@@ -65,6 +67,9 @@ Native Kubernetes Executors can be deployed via either the `sourcegraph-executor
### Steps
1. If you are deploying Executors for processing Batch Changes, set `batchChanges.nativeServerSideExecution` to `true` in your [site configuration](/admin/config/site-config). Only enable this when using Executors on Kubernetes.
+
+ > **Note:** Batch Changes on native Kubernetes executors inherits the beta limitations of
+ > the native Kubernetes runtime. See the warning at the top of this page.
2. Configure the following environment variables on the Executor Deployment:
1. `EXECUTOR_FRONTEND_URL` should match the URL of your Sourcegraph instance
diff --git a/docs/self-hosted/executors/deploy-executors-terraform.mdx b/docs/self-hosted/executors/deploy-executors-terraform.mdx
index dbb2b6bbc..3e9df238e 100644
--- a/docs/self-hosted/executors/deploy-executors-terraform.mdx
+++ b/docs/self-hosted/executors/deploy-executors-terraform.mdx
@@ -1,8 +1,8 @@
# Deploying Sourcegraph executors using Terraform on AWS or GCP
[Terraform modules](https://learn.hashicorp.com/tutorials/terraform/module-use?in=terraform/modules) are provided to
-provision machines running executors on [AWS](https://sourcegraph.com/github.com/sourcegraph/terraform-aws-executors)
-and [Google Cloud](https://sourcegraph.com/github.com/sourcegraph/terraform-google-executors).
+provision machines running executors on [AWS](https://github.com/sourcegraph/terraform-aws-executors)
+and [Google Cloud](https://github.com/sourcegraph/terraform-google-executors).
## Basic Definition
@@ -50,14 +50,14 @@ module "executors" {
See the Terraform Modules for additional configurations.
-- [AWS](https://sourcegraph.com/github.com/sourcegraph/terraform-aws-executors/-/blob/modules/executors/variables.tf)
-- [Google](https://sourcegraph.com/github.com/sourcegraph/terraform-google-executors/-/blob/modules/executors/variables.tf)
+- [AWS](https://github.com/sourcegraph/terraform-aws-executors/blob/main/modules/executors/variables.tf)
+- [Google](https://github.com/sourcegraph/terraform-google-executors/blob/main/modules/executors/variables.tf)
## Terraform Version
Terraform modules `4.2.x` and above allow Terraform from `1.1.x` to `< 2.x` to be used.
-If using a Terraform module `4.1.x` or below, use [tfenv](https://sourcegraph.com/github.com/tfutils/tfenv) to install Terraform
+If using a Terraform module `4.1.x` or below, use [tfenv](https://github.com/tfutils/tfenv) to install Terraform
1.1+.
```shell
@@ -158,16 +158,16 @@ All regions are supported.
The following examples provision a single executor to pull from the `codeintel` queue.
-- [AWS example](https://sourcegraph.com/github.com/sourcegraph/terraform-aws-executors/-/tree/examples/single-executor)
-- [Google example](https://sourcegraph.com/github.com/sourcegraph/terraform-google-executors/-/tree/examples/single-executor)
+- [AWS example](https://github.com/sourcegraph/terraform-aws-executors/tree/main/examples/single-executor)
+- [Google example](https://github.com/sourcegraph/terraform-google-executors/tree/main/examples/single-executor)
### Multiple Executors
The following examples provision two executors, one to pull from the `codeintel` queue and the other for the `batches`
queue.
-- [AWS example](https://sourcegraph.com/github.com/sourcegraph/terraform-aws-executors/-/tree/examples/multiple-executors)
-- [Google example](https://sourcegraph.com/github.com/sourcegraph/terraform-google-executors/-/tree/examples/multiple-executors)
+- [AWS example](https://github.com/sourcegraph/terraform-aws-executors/tree/main/examples/multiple-executors)
+- [Google example](https://github.com/sourcegraph/terraform-google-executors/tree/main/examples/multiple-executors)
### Step-by-step Guide
@@ -192,7 +192,7 @@ The following is a step-by-step guide on provisioning a single `codeintel` execu
- `"codeIntelAutoIndexing.enabled": true`
- _This is only for `codeintel` executors._
5. Download
- the [example files](https://sourcegraph.com/github.com/sourcegraph/terraform-google-executors/-/blob/examples/single-executor)
+ the [example files](https://github.com/sourcegraph/terraform-google-executors/tree/main/examples/single-executor)
6. Change the following in `providers.tf`
- `project` to the GCP project to provision the executor in
- `region` to the GCP region to provision the executor in
@@ -291,11 +291,11 @@ you@sourcegraph-executor-h0rv:~$ curl
Auto-scaling of executor instances can help to increase concurrency of jobs, without paying for unused resources. With auto-scaling, you can scale down to 0 instances when no workload exist and scale up as far as you like and your cloud provider can support. Auto-scaling needs to be configured separately.
-Auto-scaling makes use of the auto-scaling capabilities of the respective cloud provider (**AutoScalingGroups** on AWS and **Instance Groups** on GCP). Sourcegraph's `worker` service publishes a scaling metric (that is, the number of jobs in queue) to the cloud providers. Then, based on that reported value, the auto-scalers add and remove compute resources to match the required amount of compute. The autoscaler will attempt to hold 1 instance running per each [`executor_jobs_per_instance_scaling`](https://sourcegraph.com/search?q=context:global+repo:%5Egithub.com/sourcegraph/terraform-.*-executors%24+variable+%22executor_jobs_per_instance_scaling%22&patternType=literal) items in queue.
+Auto-scaling makes use of the auto-scaling capabilities of the respective cloud provider (**AutoScalingGroups** on AWS and **Instance Groups** on GCP). Sourcegraph's `worker` service publishes a scaling metric (that is, the number of jobs in queue) to the cloud providers. Then, based on that reported value, the auto-scalers add and remove compute resources to match the required amount of compute. The autoscaler will attempt to hold 1 instance running per each `executor_jobs_per_instance_scaling` items in queue.
-For example, if `executor_jobs_per_instance_scaling` is set to `20` and the queue size is currently `400`, then `20`instances would be determined as required to handle the load. You might want to tweak this number based on the [machine type](https://sourcegraph.com/search?q=context:global+repo:%5Egithub.com/sourcegraph/terraform-.*-executors%24+variable+%22machine_type%22+-f:docker-mirror&patternType=literal), [concurrency per machine](https://sourcegraph.com/search?q=context:global+repo:%5Egithub.com/sourcegraph/terraform-.*-executors%24+variable+%22maximum_num_jobs%22&patternType=literal) and desired processing speed.
+For example, if `executor_jobs_per_instance_scaling` is set to `20` and the queue size is currently `400`, then `20` instances would be determined as required to handle the load. You might want to tweak this number based on the `machine_type`, `maximum_num_jobs` (concurrency per machine), and desired processing speed. See the [AWS](https://github.com/sourcegraph/terraform-aws-executors/blob/main/modules/executors/variables.tf) and [Google](https://github.com/sourcegraph/terraform-google-executors/blob/main/modules/executors/variables.tf) variable definitions for details.
-With the Terraform variables [`executor_min_replicas`](https://sourcegraph.com/search?q=context:global+repo:%5Egithub.com/sourcegraph/terraform-.*-executors%24+variable+%22executor_min_replicas%22&patternType=literal) and [`executor_max_replicas`](https://sourcegraph.com/search?q=context:global+repo:%5Egithub.com/sourcegraph/terraform-.*-executors%24+variable+%22executor_max_replicas%22&patternType=literal) in the Terraform modules linked to above, you can configure the minimum and maximum number of compute machines to be run at a given time.
+With the Terraform variables `executor_min_replicas` and `executor_max_replicas` in the Terraform modules linked to above, you can configure the minimum and maximum number of compute machines to be run at a given time.
For auto-scaling to work, two things must be true:
@@ -305,7 +305,7 @@ For auto-scaling to work, two things must be true:
For the latter to work, the Sourcegraph instance needs to be configured with the correct credentials that allow it to access the cloud provider.
-The `credentials` submodule in both the [AWS](https://sourcegraph.com/github.com/sourcegraph/terraform-aws-executors/-/tree/modules/credentials) and [Google](https://sourcegraph.com/github.com/sourcegraph/terraform-google-executors/-/tree/modules/credentials) executor modules exists for that purpose. When used, the `credentials` module sets up the credentials on the cloud provider and returns them in the Terraform outputs.
+The `credentials` submodule in both the [AWS](https://github.com/sourcegraph/terraform-aws-executors/tree/main/modules/credentials) and [Google](https://github.com/sourcegraph/terraform-google-executors/tree/main/modules/credentials) executor modules exists for that purpose. When used, the `credentials` module sets up the credentials on the cloud provider and returns them in the Terraform outputs.
Here's an example of how one would configure auto-scaling.
diff --git a/docs/self-hosted/executors/deploy-executors.mdx b/docs/self-hosted/executors/deploy-executors.mdx
index e2e19a7c9..ccbb86b37 100644
--- a/docs/self-hosted/executors/deploy-executors.mdx
+++ b/docs/self-hosted/executors/deploy-executors.mdx
@@ -4,8 +4,8 @@ Executors can be deployed in a variety of manners. The supported deployment opti
- [Linux Binary Service](/self-hosted/executors/deploy-executors-binary) ([Firecracker](./firecracker) compatible)
- [Terraform on AWS or GCP](/self-hosted/executors/deploy-executors-terraform) ([Firecracker](./firecracker) compatible)
-- [Native Kubernetes](/self-hosted/executors/deploy-executors-kubernetes)
-- [Docker-in-Docker on Kubernetes](/self-hosted/executors/deploy-executors-dind)
+- [Native Kubernetes](/self-hosted/executors/deploy-executors-kubernetes) *(Beta — not recommended for production)*
+- [Docker-in-Docker on Kubernetes](/self-hosted/executors/deploy-executors-dind) *(Beta — not recommended for production)*
- [Docker-Compose](/self-hosted/executors/deploy-executors-docker)
See [deciding which executor deployment method to use ](../executors#deciding-which-executor-deployment-method-to-use) for more information on these different deployment options.
@@ -110,13 +110,13 @@ Once the shared secret is set in Sourcegraph, you can start setting up executors
title="Native Kubernetes"
icon="installation"
href="/self-hosted/executors/deploy-executors-kubernetes"
- description="Run executors natively on kubernetes."
+ description="Run executors natively on kubernetes. (Beta — known reliability limitations, not recommended for production.)"
/>
**Note:** The flowchart above shows Kubernetes-based deployment options. Both Native Kubernetes
+> and Docker-in-Docker Kubernetes executors are currently in beta with known production reliability
+> limitations. For production workloads, Terraform or Linux binary deployments are recommended
+> even when nested virtualization is not available.
+
## How it works
Executor instances are capable of being deployed in a variety of ways. Each runtime varies in how jobs are executed.
@@ -122,7 +127,11 @@ Executor instances are capable of being deployed in a variety of ways. Each runt
### Native Kubernetes
-> NOTE: This is an experimental feature.
+
+ Native Kubernetes executors are in beta and are not recommended for production use.
+ See the [deployment guide](/self-hosted/executors/deploy-executors-kubernetes) for details
+ on known limitations.
+

@@ -142,7 +151,11 @@ Executor instances are capable of being deployed in a variety of ways. Each runt
### Docker-in-Docker Kubernetes
-> NOTE: This is an experimental feature.
+
+ Docker-in-Docker Kubernetes executors are in beta and are not recommended for production use.
+ See the [deployment guide](/self-hosted/executors/deploy-executors-dind) for details on known
+ limitations.
+

diff --git a/docs/self-hosted/index.mdx b/docs/self-hosted/index.mdx
index 1f66d8eda..7b56dff82 100644
--- a/docs/self-hosted/index.mdx
+++ b/docs/self-hosted/index.mdx
@@ -59,12 +59,12 @@ Get started running Sourcegraph on-prem.
- [Executors overview](/self-hosted/executors/)
- [Deploy executors](/self-hosted/executors/deploy-executors)
-- [Kubernetes deployment](/self-hosted/executors/deploy-executors-kubernetes)
+- [Kubernetes deployment](/self-hosted/executors/deploy-executors-kubernetes) *(Beta)*
- [Terraform deployment](/self-hosted/executors/deploy-executors-terraform)
- [Docker deployment](/self-hosted/executors/deploy-executors-docker)
- [Binary deployment](/self-hosted/executors/deploy-executors-binary)
- [Binary deployment (offline)](/self-hosted/executors/deploy-executors-binary-offline)
-- [Docker-in-Docker](/self-hosted/executors/deploy-executors-dind)
+- [Docker-in-Docker](/self-hosted/executors/deploy-executors-dind) *(Beta)*
- [Firecracker](/self-hosted/executors/firecracker)
- [Configuration](/self-hosted/executors/executors-config)
- [Troubleshooting](/self-hosted/executors/executors-troubleshooting)
From 85de55cd523a4a824df54b407ba2617ce55c4101 Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Sun, 7 Jun 2026 15:09:48 -0700
Subject: [PATCH 105/217] beta-and-experimental: relax credits terminology
(#1776)
Clarify usage limits for Beta and Experimental features regarding
credits and admin opt-in.
---
docs/beta-and-experimental/index.mdx | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/docs/beta-and-experimental/index.mdx b/docs/beta-and-experimental/index.mdx
index 0156c6c3a..c19750b1e 100644
--- a/docs/beta-and-experimental/index.mdx
+++ b/docs/beta-and-experimental/index.mdx
@@ -9,7 +9,7 @@ For both features labeled **Beta** or **Experimental**, Sourcegraph wants to be
- The feature is undergoing active development and your [feedback](mailto:feedback@sourcegraph.com) is especially appreciated
- The feature may have bugs, and is excluded from our support SLAs
- The feature may change, be deprecated, be removed, or be disabled at any time
-- The feature may have temporary usage limits during the beta and experimental period.
+- The feature may have temporary usage limits during the [Beta](#beta-features) and [Experimental](#experimental-features) period.
- The feature may require admin enablement or other intentional setup
- The feature may become [billable with credits](#credits-and-billing) once they become generally available
@@ -20,7 +20,7 @@ Features generally move through the following stages:
| Stage | Label | Credit impact |
| -------------------------------------- | ---------------- | ------------------------------------------------------------------------------ |
| [Experimental](#experimental-features) | **Experimental** | No credits consumed |
-| [Beta](#beta-features) | **Beta** | No credits consumed |
+| [Beta](#beta-features) | **Beta** | No credits consumed without explicit opt-in from an administrator |
| General availability | No special label | [Credits may apply according to the published rate card](#credits-and-billing) |
## Experimental features
@@ -49,7 +49,8 @@ General points about [both beta and experimental features](#beta-and-experimenta
Billing depends on the feature.
-- **Experimental** and **Beta** features do _not_ consume credits
+- **Experimental** and **Beta** features do _not_ consume credits without explicit opt-in from an administrator.
+ - Some Beta features may be free up to a limit, and with explicit opt-in, usage can be resumed with paid credits.
- Some **Beta** or **Experimental** features, when they graduate to general availability, may be billable with credits.
- Such features will have a **Beta** stage with messaging that identifies, if applicable, the upcoming credit cost and start date. Sourcegraph will provide at least 30 days notice before credits consumption begins.
- Admins can [configure limits](/admin/entitlements) on the use of credit-consuming features
From d890741269af1815913b44565a57398a7a7c7f6e Mon Sep 17 00:00:00 2001
From: Aditya Kalia <32119652+akalia25@users.noreply.github.com>
Date: Tue, 9 Jun 2026 12:24:50 -0400
Subject: [PATCH 106/217] update refresh cadence (#1780)
Updating the docs to reflect the new refresh cadence for the v2_events
pipeline to hourly.
---
docs/analytics/index.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/analytics/index.mdx b/docs/analytics/index.mdx
index 21d39528c..0b68de840 100644
--- a/docs/analytics/index.mdx
+++ b/docs/analytics/index.mdx
@@ -16,7 +16,7 @@ To get started, follow our [enablement instructions](#enablement-instructions).

-Analytics data refreshes every 12 hours, at 00:00 and 12:00 UTC. Recent activity may take up to 12 hours to appear.
+Analytics data refreshes hourly, on the hour. Recent activity may take up to 1 hour to appear.
## Enablement instructions
From 6c842ccb250562254ee6fc89676f1cb438674d8e Mon Sep 17 00:00:00 2001
From: Michael Lin
Date: Tue, 9 Jun 2026 19:13:34 -0700
Subject: [PATCH 107/217] docs: reframe k8s docker-in-docker executors around
threat model (#1781)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Reframes the Docker-in-Docker (DinD) Kubernetes executor docs away from
a "not recommended / requires privileged pod" warning toward a proper
threat-model explanation. Adds a "Security considerations" section
clarifying that running untrusted code is inherent to *all* executor
runtimes (not unique to DinD) and that defense in depth bounds the blast
radius regardless of runtime. Documents recommended hardening:
dedicated/isolated node pools, gVisor sandboxing (e.g. GKE Sandbox), and
network restrictions (blocking private ranges and the cloud metadata
service). The goal is to help customers evaluate `privileged: true` in
context rather than be scared off it.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context)
---
.../executors/deploy-executors-dind.mdx | 44 +++++++++++++------
1 file changed, 30 insertions(+), 14 deletions(-)
diff --git a/docs/self-hosted/executors/deploy-executors-dind.mdx b/docs/self-hosted/executors/deploy-executors-dind.mdx
index e2fabbcc5..2e1a4eb56 100644
--- a/docs/self-hosted/executors/deploy-executors-dind.mdx
+++ b/docs/self-hosted/executors/deploy-executors-dind.mdx
@@ -1,18 +1,17 @@
# Deploying Sourcegraph executors on Kubernetes (docker-in-docker)
- Docker-in-Docker Kubernetes executors are in beta and are not recommended for production use.
- This deployment mode requires privileged pod access and does not use Firecracker isolation.
- For production workloads, deploy using
+ Docker-in-Docker Kubernetes executors are in beta. For production workloads where you
+ want the strongest reliability and support guarantees, you can also deploy via
[Terraform](/self-hosted/executors/deploy-executors-terraform) or the
- [Linux binary](/self-hosted/executors/deploy-executors-binary) instead.
+ [Linux binary](/self-hosted/executors/deploy-executors-binary).
[Kubernetes manifests](https://github.com/sourcegraph/deploy-sourcegraph-k8s) are provided to deploy Sourcegraph Executors on a running Kubernetes cluster. If you are deploying Sourcegraph with helm, charts are available [here](https://github.com/sourcegraph/deploy-sourcegraph-helm).
## Deployment
-Executors on kubernetes machines require privileged access to a container runtime daemon in order to operate correctly. In order to ensure maximum capability across Kubernetes versions and container runtimes, a [Docker in Docker](https://www.docker.com/blog/docker-can-now-run-within-docker/) sidecar is deployed with each executor pod to avoid accessing the host container runtime directly.
+Executors on Kubernetes require privileged access to a container runtime daemon in order to operate correctly. To ensure maximum capability across Kubernetes versions and container runtimes, a [Docker in Docker](https://www.docker.com/blog/docker-can-now-run-within-docker/) sidecar is deployed with each executor pod so that the executor does not have to access the host container runtime directly.
### Step-by-step Guide
@@ -21,12 +20,6 @@ Ensure you have the following tools installed:
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
- [Helm](https://helm.sh/) if you're installing Sourcegraph with `helm`.
-#### Deployment via Kustomize
-
-Please refer to the [Sourcegraph Kustomize docs](/self-hosted/deploy/kubernetes/kustomize) for the latest instructions.
-
-To include Executors dind, see [configure Sourcegraph with Kustomize](/self-hosted/deploy/kubernetes/configure) on how to specify the component.
-
#### Deployment via Helm
Please refer to the [Sourcegraph Helm docs](/self-hosted/deploy/kubernetes#quickstart) for the latest instructions.
@@ -44,8 +37,31 @@ To specifically deploy Executors,
```
3. Confirm executors are working by checking the _Executors_ page under **Site admin > Executors > Instances** .
-## Note
+## Security considerations
+
+Docker-in-docker executors require the Docker sidecar to run as a [privileged](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) container. `privileged: true` understandably raises concerns, so it's worth understanding the threat model before evaluating it — and seeing why, with the right deployment practices, it is acceptable for the large majority of self-hosted Sourcegraph instances.
+
+### Executors run untrusted code by design
+
+Every executor deployment method exists to run **arbitrary, untrusted code**. Auto-indexing invokes language indexers and package-manager hooks to resolve dependencies, and batch changes run user-defined tooling against the contents of a repository. See [Executors](/admin/executors/) and [Firecracker](/self-hosted/executors/firecracker) for the full sandboxing model.
+
+This means the risk of a malicious job attempting to break out of its sandbox, consume excessive compute, or exfiltrate code and credentialsis is inherent to running executors. It is not unique to Docker-in-Docker:
+
+- **Firecracker** provides the strongest per-job isolation (a MicroVM boundary), but it is not a complete security control on its own. Even with Firecracker, Sourcegraph additionally configures `iptables` to stop jobs from reaching [private IP ranges](/self-hosted/executors/firecracker#known-caveats) and the cloud metadata service.
+- **Native Kubernetes** and **Docker-in-Docker** run jobs as containers without a MicroVM boundary, so they rely more heavily on the surrounding isolation and network controls.
+
+The runtime you choose changes the isolation boundary, but they do not negate the need for additional controls to furthur limit the blast radius.
+
+### Security hardening and risk management
+
+A privileged container shares the host kernel and can access host devices, so in principle a successful container breakout could affect the node. The mitigations below contain that blast radius to a pool of disposable nodes that run *only* untrusted executor jobs and that cannot reach your internal network — which is the same posture Sourcegraph applies to Firecracker-isolated executors.
+
+We strongly recommend applying the following controls when running docker-in-docker executors:
+
+1. **Run executors on a dedicated, isolated node pool.** Schedule executor pods onto their own node pool using taints/tolerations and node selectors or affinity, kept separate from the rest of your Sourcegraph workloads and any other sensitive services. A breakout is then contained to nodes that run only untrusted executor jobs, and those nodes can be recycled aggressively.
-Executors deployed in kubernetes do not use [Firecracker](/admin/executors/#how-it-works), meaning they require [privileged access](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) to the docker daemon running in a sidecar alongside the executor pod.
+2. **Sandbox the executor nodes where supported.** Run the executor node pool on a sandboxed runtime such as [gVisor](https://gvisor.dev/) (for example, [GKE Sandbox](https://cloud.google.com/kubernetes-engine/docs/concepts/sandbox-pods)). We offer built-in support for `gVisor` in the docker-in-docker helm chart. Learn more from the documentation.
-If you have security concerns, consider deploying via [terraform](/self-hosted/executors/deploy-executors-terraform) or [installing the binary](/self-hosted/executors/deploy-executors-binary) directly.
+3. **Restrict network access.** Apply Kubernetes [NetworkPolicies](https://kubernetes.io/docs/concepts/services-networking/network-policies/) and/or cloud firewall rules to the executor node pool to:
+ - Block access to internal and private resources and services.
+ - Block access to the cloud instance metadata service at `169.254.169.254` (AWS / GCP).
From 92b2068193fa1fd110cd19e5095468987ef83580 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Thu, 11 Jun 2026 09:47:31 -0700
Subject: [PATCH 108/217] Update docs latest version to 7.4 (#1782)
## Summary
- Set DOCS_LATEST_VERSION to 7.4
- Add 7.3 to the version selector as a previous version
- Update the legacy versions page with 7.3
Co-authored-by: Amp
---
docs.config.js | 2 +-
docs/legacy.mdx | 1 +
src/data/versions.ts | 4 ++++
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/docs.config.js b/docs.config.js
index 7c5cd3a51..6ae0c5425 100644
--- a/docs.config.js
+++ b/docs.config.js
@@ -1,5 +1,5 @@
const config = {
- DOCS_LATEST_VERSION: '7.3'
+ DOCS_LATEST_VERSION: '7.4'
};
module.exports = config;
diff --git a/docs/legacy.mdx b/docs/legacy.mdx
index 1371231ab..3d522ee8f 100644
--- a/docs/legacy.mdx
+++ b/docs/legacy.mdx
@@ -6,6 +6,7 @@
+- [7.3](https://7.3.sourcegraph.com)
- [7.2](https://7.2.sourcegraph.com)
- [7.1](https://7.1.sourcegraph.com)
- [7.0](https://7.0.sourcegraph.com)
diff --git a/src/data/versions.ts b/src/data/versions.ts
index f15188926..89793234e 100644
--- a/src/data/versions.ts
+++ b/src/data/versions.ts
@@ -13,6 +13,10 @@ export const versions: VersionI[] = [
label: 'latest',
url: '/docs'
},
+ {
+ name: 'v7.3',
+ url: 'https://7.3.sourcegraph.com'
+ },
{
name: 'v7.2',
url: 'https://7.2.sourcegraph.com'
From d811ba12c9562da17a8167ec81e00b516faed032 Mon Sep 17 00:00:00 2001
From: Michael Lin
Date: Mon, 15 Jun 2026 09:48:44 -0700
Subject: [PATCH 109/217] docs: remove experimental notice for Sourcegraph
Connect (#1784)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Removes the "Experimental stage" callout from the Sourcegraph Connect
agent page, as the feature is no longer experimental. No other changes
were needed since this was the only experimental notice tied to
Sourcegraph Connect.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context)
---
docs/cloud/private-connectivity-sourcegraph-connect.mdx | 5 -----
1 file changed, 5 deletions(-)
diff --git a/docs/cloud/private-connectivity-sourcegraph-connect.mdx b/docs/cloud/private-connectivity-sourcegraph-connect.mdx
index faf37c190..1292fc0fa 100644
--- a/docs/cloud/private-connectivity-sourcegraph-connect.mdx
+++ b/docs/cloud/private-connectivity-sourcegraph-connect.mdx
@@ -1,10 +1,5 @@
# Private resources in on-prem data centers via the Sourcegraph Connect agent
-
- This feature is in the Experimental stage. [Contact
- us](https://about.sourcegraph.com/contact) for more information.
-
-
As part of the [Enterprise tier](https://sourcegraph.com/pricing), Sourcegraph Cloud supports connecting to private code hosts and artifact registries in the customer's network by deploying the Sourcegraph Connect tunnel agent in the customer's network.
## How it works
From 00c1232906c9e3a81edb34bfa52cb977f040b347 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Tue, 16 Jun 2026 09:10:31 -0700
Subject: [PATCH 110/217] docs: clarify MCP tool availability by endpoint
(#1783)
## Summary
- Updates the MCP endpoint descriptions to focus on the documented
endpoints
- Adds a tool availability matrix after the Available Tools section
- Clarifies Deep Search creation vs reading availability and fixes
diff_search parameter docs
## Test plan
- npx prettier --config ./prettier.config.js --write
docs/api/mcp/index.mdx
- npm run build
---------
Co-authored-by: Amp
---
docs/api/mcp/index.mdx | 60 +++++++++++++++++++++++++++++++-----------
1 file changed, 45 insertions(+), 15 deletions(-)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 094480e74..2fd947319 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -37,11 +37,11 @@ This works similarly for other MCP-compatible agents. See [Client Integrations](
The MCP server provides different tool suites for various use cases:
-| Endpoint | Description |
-| ---------------------- | ----------------------------------- |
-| `/.api/mcp` | Core Sourcegraph search tools |
-| `/.api/mcp/all` | Full suite of Sourcegraph tools |
-| `/.api/mcp/deepsearch` | Deep Search agent |
+| Endpoint | Description |
+| ---------------------- | --------------------------------------------------------------------------- |
+| `/.api/mcp` | Core Sourcegraph search, repository, history, and Deep Search reading tools |
+| `/.api/mcp/all` | Full suite of Sourcegraph tools |
+| `/.api/mcp/deepsearch` | Deep Search agent tools only |
Example URL:
@@ -174,9 +174,9 @@ To restrict MCP to a subset of users:
See [Access control](/admin/access-control) for more about managing roles and permissions.
- MCP access control is separate from [repository permissions](/admin/permissions/).
- Users can only read data from repositories they are already allowed to access
- in Sourcegraph.
+ MCP access control is separate from [repository
+ permissions](/admin/permissions/). Users can only read data from
+ repositories they are already allowed to access in Sourcegraph.
## Available Tools
@@ -275,7 +275,6 @@ Run sandboxed Lua scripts for aggregation, cross-referencing, and computation ov
**Use cases:** Counting or aggregating many search matches, cross-referencing multiple searches, transforming or combining search output with custom logic
-
### Code Navigation
#### `go_to_definition`
@@ -316,6 +315,7 @@ Search commits by message, author, content, files, and date ranges.
- `contentTerms` - Search in actual code changes (optional)
- `files` - Filter by file paths (optional)
- `after`/`before` - Date range filters (optional)
+- `revisions` - Branches, tags, or ref globs to search (optional)
#### `diff_search`
@@ -327,8 +327,9 @@ Search actual code changes for specific patterns across repositories.
- `repos` - Array of repository names (required)
- `added` - Search only added code (optional)
- `removed` - Search only removed code (optional)
-- `author` - Filter by author (optional)
+- `authors` - Filter by authors (optional)
- `after`/`before` - Date range filters (optional)
+- `revisions` - Branches, tags, or ref globs to search (optional)
#### `compare_revisions`
@@ -355,11 +356,12 @@ Find repositories where a contributor has made commits.
### Deep Search
- Admins can disable the `deepsearch` tool on the default and v1 MCP endpoints
- by setting the environment variable `SRC_MCP_DISABLE_DEEPSEARCH_TOOL=true`
- on the Sourcegraph instance. This does not affect `deepsearch_read` or the
- dedicated `/deepsearch` endpoint. This is a temporary measure available in
- 7.0 and will be replaced by a proper tool allowlist in a future release.
+ Admins can disable the `deepsearch` tool on MCP endpoints where it is
+ exposed by setting the environment variable
+ `SRC_MCP_DISABLE_DEEPSEARCH_TOOL=true` on the Sourcegraph instance. This
+ does not affect `deepsearch_read` or the dedicated `/.api/mcp/deepsearch`
+ endpoint. This is a temporary measure available in 7.0 and will be replaced
+ by a proper tool allowlist in a future release.
### `deepsearch`
@@ -384,6 +386,34 @@ Read a Deep Search conversation and return the markdown content of the questions
**Use cases:** Reading or re-opening Deep Search results, summarizing existing answers, using past Deep Search as context for new questions
+## Tool Availability by Endpoint
+
+Use this matrix to choose the smallest endpoint that has the tools your MCP client needs.
+
+| Tool | `/.api/mcp` | `/.api/mcp/all` | `/.api/mcp/deepsearch` |
+| ----------------------- | :---------: | :-------------: | :--------------------: |
+| `commit_search` | ✓ | ✓ | |
+| `compare_revisions` | | ✓ | |
+| `deepsearch` | | ✓ | ✓ |
+| `deepsearch_read` | ✓ | ✓ | ✓ |
+| `diff_search` | ✓ | ✓ | |
+| `evaluator` | ✓ | ✓ | |
+| `find_references` | | ✓ | |
+| `get_contributor_repos` | | ✓ | |
+| `go_to_definition` | | ✓ | |
+| `keyword_search` | ✓ | ✓ | |
+| `list_files` | ✓ | ✓ | |
+| `list_repos` | ✓ | ✓ | |
+| `nls_search` | ✓ | ✓ | |
+| `read_file` | ✓ | ✓ | |
+
+
+ The default `/.api/mcp` endpoint can read existing Deep Search conversations
+ with `deepsearch_read`, but it cannot create new Deep Search conversations.
+ Use `/.api/mcp/all` or `/.api/mcp/deepsearch` when your client needs the
+ `deepsearch` tool.
+
+
## Best Practices
1. **Repository Scoping:** Use `list_repos` first to find relevant repositories for better performance
From 0baf73adc0dd0637414a771aafc8055fdca2ceb2 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Tue, 16 Jun 2026 19:58:29 -0400
Subject: [PATCH 111/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(#1764)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 7 +-
docs/admin/config/site-config.mdx | 17 +-
docs/admin/repo/perforce.mdx | 2 +-
.../telemetry/private-metadata-allowlist.mdx | 1 +
docs/cli/references/abc/index.mdx | 15 +
docs/cli/references/abc/variables/delete.mdx | 32 +
docs/cli/references/abc/variables/index.mdx | 16 +
docs/cli/references/abc/variables/set.mdx | 38 +
docs/cli/references/api.mdx | 59 +-
docs/cli/references/auth/index.mdx | 27 +
docs/cli/references/auth/token.mdx | 36 +
docs/cli/references/codeowners/create.mdx | 28 +
docs/cli/references/codeowners/delete.mdx | 26 +
docs/cli/references/codeowners/get.mdx | 26 +
docs/cli/references/codeowners/index.mdx | 29 +
docs/cli/references/codeowners/update.mdx | 28 +
docs/cli/references/index.mdx | 18 +-
docs/cli/references/login.mdx | 39 +-
docs/cli/references/orgs/create.mdx | 50 +-
docs/cli/references/orgs/delete.mdx | 50 +-
docs/cli/references/orgs/get.mdx | 52 +-
docs/cli/references/orgs/index.mdx | 28 +-
docs/cli/references/orgs/list.mdx | 54 +-
docs/cli/references/orgs/members/add.mdx | 50 +-
docs/cli/references/orgs/members/index.mdx | 25 +-
docs/cli/references/orgs/members/remove.mdx | 49 +-
docs/cli/references/users/create.mdx | 54 +-
docs/cli/references/users/delete.mdx | 50 +-
docs/cli/references/users/get.mdx | 54 +-
docs/cli/references/users/index.mdx | 29 +-
docs/cli/references/users/list.mdx | 58 +-
docs/cli/references/users/prune.mdx | 61 +-
docs/cli/references/users/tag.mdx | 58 +-
docs/cli/references/version.mdx | 45 +-
docs/cody/capabilities/supported-models.mdx | 1 +
docs/self-hosted/observability/alerts.mdx | 135 ++
docs/self-hosted/observability/dashboards.mdx | 1299 +++++++++++++++--
47 files changed, 1941 insertions(+), 725 deletions(-)
create mode 100644 docs/cli/references/abc/index.mdx
create mode 100644 docs/cli/references/abc/variables/delete.mdx
create mode 100644 docs/cli/references/abc/variables/index.mdx
create mode 100644 docs/cli/references/abc/variables/set.mdx
create mode 100644 docs/cli/references/auth/index.mdx
create mode 100644 docs/cli/references/auth/token.mdx
create mode 100644 docs/cli/references/codeowners/create.mdx
create mode 100644 docs/cli/references/codeowners/delete.mdx
create mode 100644 docs/cli/references/codeowners/get.mdx
create mode 100644 docs/cli/references/codeowners/index.mdx
create mode 100644 docs/cli/references/codeowners/update.mdx
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 598252204..4faac573f 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index fba7332cf..1fbc31c61 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -69,7 +69,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index cd611356b..68d795ef3 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index ef1661138..a37454dc8 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index 0d66540c4..b4e45c75e 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index f29014ff8..a223d69eb 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index b9970b075..546415c5c 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 8fe847b72..3bc7ebad6 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 4da97689c..0736cf14b 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 6982ca5a7..13810c73f 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 3922a2133..e5777841f 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
@@ -81,15 +81,20 @@ Settings options and their default values are shown below.
// Usually this setting is used in global and organization settings. If set in user settings, the message will only be displayed to that single user.
"cody.notices": null,
+ // BETA: Enable the new compare experience. This feature is under active development and will eventually become the default (and the setting will be removed)
+ "compareV2.enabled": false,
+
// Disable the Slack community call-to-action banner on the Deep Search page.
"deepSearch.slackCta.disabled": false,
// Experimental features and settings.
"experimentalFeatures": {
+ "batchChangeAgentsGuidance": [],
"batchChangesExecution": true,
"boostRelevantRepositories": true,
"clientSearchResultRanking": "by-zoekt-ranking",
"codeInsightsRepoUI": "single-search-query",
+ "deepSearchGuidance": [],
"disableOrderBySimilarity": false,
"enableLazyBlobSyntaxHighlighting": true,
"enableLazyFileResultSyntaxHighlighting": true,
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 745236abe..fedd63a38 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
@@ -268,6 +268,7 @@ All site configuration options and their default values are shown below.
// Experimental features and settings.
"experimentalFeatures": {
+ "batchChanges.enableAgentWebSearch": false,
"batchChanges.enableForkNameSuffix": false,
"batchChanges.enablePerforce": false,
"codeintelSyntacticIndexing.enabled": false,
@@ -311,7 +312,6 @@ All site configuration options and their default values are shown below.
"requireUpperandLowerCase": true
},
"perforceChangelistMapping": "enabled",
- "preciseCodeNavFlow": "v2",
"pythonPackages": "disabled",
"ranking": {
"flushWallTimeMS": 500,
@@ -677,9 +677,11 @@ All site configuration options and their default values are shown below.
// "enabled": true
// }
// - {
+ // "disabledMessage": "Need an account? [Open a ticket](https://tickets.example.com/new) to request access.",
// "enabled": false
// }
"auth.accessRequest": {
+ "disabledMessage": null,
"enabled": true
},
@@ -722,6 +724,9 @@ All site configuration options and their default values are shown below.
]
},
+ // When enabled, the sign-in and sign-up pages can be loaded inside an iframe (e.g. for embedded applications). When disabled (the default), these pages reject framing requests using Sec-Fetch-Dest/Sec-Fetch-Site fetch metadata headers to prevent clickjacking attacks. Password reset endpoints are always protected regardless of this setting.
+ "auth.allowEmbeddedAuth": false,
+
// IP allowlist for access to the Sourcegraph instance. If set, only requests from these IP addresses will be allowed. By default client IP is inferred connected client IP address, and you may configure to use a request header to determine the user IP.
"auth.allowedIpAddress": {
"clientIpAddress": null,
@@ -901,7 +906,7 @@ All site configuration options and their default values are shown below.
// The tag to use for the batcheshelper image in executors when using native execution. Use this value to use a custom tag. Sourcegraph by default uses the best match, so use this setting only if you really need to overwrite it and make sure to keep it updated.
// Other example values:
- // - "4.1.0"
+ // - "7.2.0"
"executors.batcheshelperImageTag": null,
// The URL where Sourcegraph executors can reach the Sourcegraph instance. If not set, defaults to externalURL. URLs with a path (other than `/`) are not allowed. For Docker executors, the special hostname `host.docker.internal` can be used to refer to the Docker container's host.
@@ -917,10 +922,6 @@ All site configuration options and their default values are shown below.
// The configuration for multiqueue executors.
"executors.multiqueue": {
"dequeueCacheConfig": {
- "agenticbatchchanges": {
- "limit": 50,
- "weight": 1
- },
"batches": {
"limit": 50,
"weight": 4
@@ -937,7 +938,7 @@ All site configuration options and their default values are shown below.
// The tag to use for the src-cli image in executors. Use this value to use a custom tag. Sourcegraph by default uses the best match, so use this setting only if you really need to overwrite it and make sure to keep it updated.
// Other example values:
- // - "4.1.0"
+ // - "7.2.0"
"executors.srcCLIImageTag": null,
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index 25fc0a683..d22d29063 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-04-27T11:17:39Z */}
+{/* Last updated: 2026-06-16T23:55:06Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
diff --git a/docs/admin/telemetry/private-metadata-allowlist.mdx b/docs/admin/telemetry/private-metadata-allowlist.mdx
index 78bdcc02a..965a8b987 100644
--- a/docs/admin/telemetry/private-metadata-allowlist.mdx
+++ b/docs/admin/telemetry/private-metadata-allowlist.mdx
@@ -33,6 +33,7 @@ To learn more, refer to the [telemetry documentation](https://sourcegraph.com/do
| `cody.modelSelector` | _(all)_ | `modelId` — High-cardinality model identifier; helpful for determining the model selected in the model selector. `modelProvider` — High-cardinality model provider; helpful for determining the model selected in the model selector. |
| `cody.smart-apply.context` | `applied` | `model` — High-cardinality model identifier; helpful for determining the model that was selected. |
| `deepsearch` | `search.toolcall` | `toolName` — High-cardinality tool name; helpful for determining which tools are being used during deep search. `toolId` — High-cardinality tool identifier; helpful for determining which tools are being used during deep search. `model` — High-cardinality model identifier; helpful for determining which models are being used during deep search. |
+| `deepsearch` | `search.categorized` | `topics` — LLM-extracted topic keywords for the question (e.g. authentication, batch-changes); used for product usage reporting. |
| `admin.users` | `delete` | `userIDs` — Numeric identifiers of users being deleted; needed for audit and analytics of admin user management actions. |
| `externalApi` | `request` | `procedure` — ConnectRPC procedure path (e.g. '/sourcegraph.users.v1.UsersService/GetUser'); not sensitive and needed to distinguish which external API RPCs are being used. |
| `metering` | `consume` | `meteringEventId` — The UUID of the billing event in the metering export queue, used to correlate billing events with telemetry events. |
\ No newline at end of file
diff --git a/docs/cli/references/abc/index.mdx b/docs/cli/references/abc/index.mdx
new file mode 100644
index 000000000..b0b1ac794
--- /dev/null
+++ b/docs/cli/references/abc/index.mdx
@@ -0,0 +1,15 @@
+# `src abc`
+
+manages agentic batch changes.
+
+
+
+## Usage
+
+```sh
+$ src abc [command options]
+```
+
+## Subcommands
+
+* [`variables`](abc/variables)
\ No newline at end of file
diff --git a/docs/cli/references/abc/variables/delete.mdx b/docs/cli/references/abc/variables/delete.mdx
new file mode 100644
index 000000000..f62ab0543
--- /dev/null
+++ b/docs/cli/references/abc/variables/delete.mdx
@@ -0,0 +1,32 @@
+# `src abc variables delete`
+
+Delete variables on a workflow instance.
+
+Delete workflow instance variables
+
+Examples:
+
+ Delete a variable from a workflow instance:
+
+ $ src abc variables delete QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== approval
+
+ Delete multiple variables in one request:
+
+ $ src abc variables delete QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== --var approval --var checkpoints
+
+## Usage
+
+```sh
+$ src abc variables delete [options] [ ...]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--var` | Variable name to delete. Repeat for multiple names. | ``|
\ No newline at end of file
diff --git a/docs/cli/references/abc/variables/index.mdx b/docs/cli/references/abc/variables/index.mdx
new file mode 100644
index 000000000..d6390599c
--- /dev/null
+++ b/docs/cli/references/abc/variables/index.mdx
@@ -0,0 +1,16 @@
+# `src abc variables`
+
+manage workflow instance variables.
+
+
+
+## Usage
+
+```sh
+$ src abc variables [command options]
+```
+
+## Subcommands
+
+* [`delete`](variables/delete)
+* [`set`](variables/set)
\ No newline at end of file
diff --git a/docs/cli/references/abc/variables/set.mdx b/docs/cli/references/abc/variables/set.mdx
new file mode 100644
index 000000000..944a250f4
--- /dev/null
+++ b/docs/cli/references/abc/variables/set.mdx
@@ -0,0 +1,38 @@
+# `src abc variables set`
+
+Set variables on a workflow instance.
+
+Set workflow instance variables
+
+Examples:
+
+ Set a string variable on a workflow instance:
+
+ $ src abc variables set QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== prompt="tighten the review criteria"
+
+ Set multiple variables in one request:
+
+ $ src abc variables set QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== --var prompt="tighten the review criteria" --var checkpoints='[1,2,3]'
+
+ Set a structured JSON value:
+
+ $ src abc variables set QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== checkpoints='[1,2,3]'
+
+NOTE: Values are interpreted as JSON literals when valid. Otherwise they are sent as plain strings.
+
+## Usage
+
+```sh
+$ src abc variables set [options] [= ...]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--var` | Variable assignment in <name>=<value> form. Repeat to set multiple variables. | ``|
\ No newline at end of file
diff --git a/docs/cli/references/api.mdx b/docs/cli/references/api.mdx
index 2204e1b1f..7ef9c324f 100644
--- a/docs/cli/references/api.mdx
+++ b/docs/cli/references/api.mdx
@@ -1,37 +1,6 @@
# `src api`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-query` | GraphQL query to execute, e.g. 'query \{ currentUser \{ username \} \}' (stdin otherwise) | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-| `-vars` | GraphQL query variables to include as JSON string, e.g. '\{"var": "val", "var2": "val2"\}' | |
-
-
-## Usage
-
-```
-Usage of 'src api':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -query string
- GraphQL query to execute, e.g. 'query { currentUser { username } }' (stdin otherwise)
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
- -vars string
- GraphQL query variables to include as JSON string, e.g. '{"var": "val", "var2": "val2"}'
+interacts with the Sourcegraph GraphQL API.
Exit codes:
@@ -43,21 +12,35 @@ Examples:
Run queries (identical behavior):
- $ echo 'query { currentUser { username } }' | src api
- $ src api -query='query { currentUser { username } }'
+ $ echo 'query \{ currentUser \{ username \} \}' | src api
+ $ src api -query='query \{ currentUser \{ username \} \}'
Specify query variables:
- $ echo '' | src api 'var1=val1' 'var2=val2'
+ $ echo '<query>' | src api 'var1=val1' 'var2=val2'
Searching for "Router" and getting result count:
- $ echo 'query($query: String!) { search(query: $query) { results { resultCount } } }' | src api 'query=Router'
+ $ echo 'query($query: String!) \{ search(query: $query) \{ results \{ resultCount \} \} \}' | src api 'query=Router'
Get the curl command for a query (just add '-get-curl' in the flags section):
- $ src api -get-curl -query='query { currentUser { username } }'
+ $ src api -get-curl -query='query \{ currentUser \{ username \} \}'
+## Usage
+```sh
+$ src api [options] [variable=value ...]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--query` | GraphQL query to execute, e.g. 'query \{ currentUser \{ username \} \}' (stdin otherwise) | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--vars` | GraphQL query variables to include as JSON string, e.g. '\{"var": "val", "var2": "val2"\}' | ``|
\ No newline at end of file
diff --git a/docs/cli/references/auth/index.mdx b/docs/cli/references/auth/index.mdx
new file mode 100644
index 000000000..9b08af382
--- /dev/null
+++ b/docs/cli/references/auth/index.mdx
@@ -0,0 +1,27 @@
+# `src auth`
+
+authentication helper commands.
+
+Authentication-related helper commands.
+
+Examples:
+
+Print the active auth token:
+
+$ src auth token
+sgp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+Print the current Authorization header:
+
+$ src auth token --header
+Authorization: token sgp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+## Usage
+
+```sh
+$ src auth [command options]
+```
+
+## Subcommands
+
+* [`token`](auth/token)
\ No newline at end of file
diff --git a/docs/cli/references/auth/token.mdx b/docs/cli/references/auth/token.mdx
new file mode 100644
index 000000000..e41e986ce
--- /dev/null
+++ b/docs/cli/references/auth/token.mdx
@@ -0,0 +1,36 @@
+# `src auth token`
+
+prints the current authentication token or Authorization header.
+
+Print the current authentication token.
+
+Use --header to print a complete Authorization header instead.
+
+Examples:
+
+Raw token output:
+
+$ src auth token
+sgp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+Authorization header output:
+
+$ src auth token --header
+Authorization: token sgp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+If you are authenticated with OAuth instead of SRC_ACCESS_TOKEN, the header uses the Bearer scheme:
+
+$ src auth token --header
+Authorization: Bearer eyJhbGciOi...
+
+## Usage
+
+```sh
+$ src auth token [options]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--header` | print the token as an Authorization header | `false`|
\ No newline at end of file
diff --git a/docs/cli/references/codeowners/create.mdx b/docs/cli/references/codeowners/create.mdx
new file mode 100644
index 000000000..134edb219
--- /dev/null
+++ b/docs/cli/references/codeowners/create.mdx
@@ -0,0 +1,28 @@
+# `src codeowners create`
+
+create a codeowners file.
+
+Create a codeowners file for a repository.
+
+Examples:
+
+ $ src codeowners create -repo='github.com/sourcegraph/sourcegraph' -f CODEOWNERS
+ $ src codeowners create -repo='github.com/sourcegraph/sourcegraph' -f -
+
+## Usage
+
+```sh
+$ src codeowners create [options]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--file, -f` | File path to read ownership information from (- for stdin) | ``|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--repo` | The repository to attach the data to | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/codeowners/delete.mdx b/docs/cli/references/codeowners/delete.mdx
new file mode 100644
index 000000000..7450227b9
--- /dev/null
+++ b/docs/cli/references/codeowners/delete.mdx
@@ -0,0 +1,26 @@
+# `src codeowners delete`
+
+delete a codeowners file.
+
+Delete a codeowners file for a repository.
+
+Examples:
+
+ $ src codeowners delete -repo='github.com/sourcegraph/sourcegraph'
+
+## Usage
+
+```sh
+$ src codeowners delete [options]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--repo` | The repository to delete the data for | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/codeowners/get.mdx b/docs/cli/references/codeowners/get.mdx
new file mode 100644
index 000000000..259443674
--- /dev/null
+++ b/docs/cli/references/codeowners/get.mdx
@@ -0,0 +1,26 @@
+# `src codeowners get`
+
+returns the codeowners file for a repository, if it exists.
+
+Read the current codeowners file for a repository.
+
+Examples:
+
+ $ src codeowners get -repo='github.com/sourcegraph/sourcegraph'
+
+## Usage
+
+```sh
+$ src codeowners get [options]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--repo` | The repository to attach the data to | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/codeowners/index.mdx b/docs/cli/references/codeowners/index.mdx
new file mode 100644
index 000000000..f580d73d5
--- /dev/null
+++ b/docs/cli/references/codeowners/index.mdx
@@ -0,0 +1,29 @@
+# `src codeowners`
+
+manages ingested code ownership data.
+
+'src codeowners' manages ingested code ownership data in a Sourcegraph instance.
+
+Usage:
+
+ src codeowners [command options]
+
+Examples:
+
+ $ src codeowners get -repo='github.com/sourcegraph/sourcegraph'
+ $ src codeowners create -repo='github.com/sourcegraph/sourcegraph' -f CODEOWNERS
+ $ src codeowners update -repo='github.com/sourcegraph/sourcegraph' -f CODEOWNERS
+ $ src codeowners delete -repo='github.com/sourcegraph/sourcegraph'
+
+## Usage
+
+```sh
+$ src codeowners [command options]
+```
+
+## Subcommands
+
+* [`create`](codeowners/create)
+* [`delete`](codeowners/delete)
+* [`get`](codeowners/get)
+* [`update`](codeowners/update)
\ No newline at end of file
diff --git a/docs/cli/references/codeowners/update.mdx b/docs/cli/references/codeowners/update.mdx
new file mode 100644
index 000000000..a7e2f7720
--- /dev/null
+++ b/docs/cli/references/codeowners/update.mdx
@@ -0,0 +1,28 @@
+# `src codeowners update`
+
+update a codeowners file.
+
+Update a codeowners file for a repository.
+
+Examples:
+
+ $ src codeowners update -repo='github.com/sourcegraph/sourcegraph' -f CODEOWNERS
+ $ src codeowners update -repo='github.com/sourcegraph/sourcegraph' -f -
+
+## Usage
+
+```sh
+$ src codeowners update [options]
+```
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--file, -f` | File path to read ownership information from (- for stdin) | ``|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--repo` | The repository to attach the data to | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/index.mdx b/docs/cli/references/index.mdx
index ce8d4246f..fb7a86720 100644
--- a/docs/cli/references/index.mdx
+++ b/docs/cli/references/index.mdx
@@ -3,22 +3,12 @@
## Subcommands
-* [`admin`](references/admin)
+* [`abc`](references/abc)
* [`api`](references/api)
-* [`batch`](references/batch)
-* [`code-intel`](references/code-intel)
+* [`auth`](references/auth)
* [`codeowners`](references/codeowners)
-* [`config`](references/config)
-* [`debug`](references/debug)
-* [`extsvc`](references/extsvc)
-* [`lsp`](references/lsp)
+* [`login`](references/login)
* [`orgs`](references/orgs)
-* [`repos`](references/repos)
-* [`search`](references/search)
-* [`search-jobs`](references/search-jobs)
-* [`serve-git`](references/serve-git)
-* [`snapshot`](references/snapshot)
-* [`teams`](references/teams)
* [`users`](references/users)
-* [`validate`](references/validate)
+* [`version`](references/version)
\ No newline at end of file
diff --git a/docs/cli/references/login.mdx b/docs/cli/references/login.mdx
index 19a74edaf..5fd07ddd8 100644
--- a/docs/cli/references/login.mdx
+++ b/docs/cli/references/login.mdx
@@ -1,20 +1,7 @@
# `src login`
+authenticate to a Sourcegraph instance with your user credentials.
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
'src login' helps you authenticate 'src' to access a Sourcegraph instance with your user credentials.
Usage:
@@ -35,16 +22,18 @@ Examples:
$ src login https://sourcegraph.com
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+## Usage
+```sh
+$ src login [command options] [SOURCEGRAPH_URL]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/orgs/create.mdx b/docs/cli/references/orgs/create.mdx
index 2842349a3..54f11b857 100644
--- a/docs/cli/references/orgs/create.mdx
+++ b/docs/cli/references/orgs/create.mdx
@@ -1,37 +1,6 @@
# `src orgs create`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-display-name` | The new organization's display name. Defaults to organization name if unspecified. | |
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-name` | The new organization's name. (required) | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src orgs create':
- -display-name string
- The new organization's display name. Defaults to organization name if unspecified.
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -name string
- The new organization's name. (required)
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+creates an organization.
Examples:
@@ -39,7 +8,20 @@ Examples:
$ src orgs create -name=abc-org -display-name='ABC Organization'
+## Usage
-
+```sh
+$ src orgs create [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--display-name` | The new organization's display name. Defaults to organization name if unspecified. | ``|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--name` | The new organization's name. (required) | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/orgs/delete.mdx b/docs/cli/references/orgs/delete.mdx
index 5175de533..586e806b7 100644
--- a/docs/cli/references/orgs/delete.mdx
+++ b/docs/cli/references/orgs/delete.mdx
@@ -1,34 +1,6 @@
# `src orgs delete`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-id` | The ID of the organization to delete. | |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src orgs delete':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -id string
- The ID of the organization to delete.
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+deletes an organization.
Examples:
@@ -38,13 +10,25 @@ Examples:
Delete an organization by name:
- $ src orgs delete -id=$(src orgs get -f='{{.ID}}' -name=abc-org)
+ $ src orgs delete -id=$(src orgs get -f='\{\{.ID\}\}' -name=abc-org)
Delete all organizations that match the query
- $ src orgs list -f='{{.ID}}' -query=abc-org | xargs -n 1 -I ORGID src orgs delete -id=ORGID
-
+ $ src orgs list -f='\{\{.ID\}\}' -query=abc-org | xargs -n 1 -I ORGID src orgs delete -id=ORGID
+## Usage
+```sh
+$ src orgs delete [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--id` | The ID of the organization to delete. | ``|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/orgs/get.mdx b/docs/cli/references/orgs/get.mdx
index 64e0c0295..443647055 100644
--- a/docs/cli/references/orgs/get.mdx
+++ b/docs/cli/references/orgs/get.mdx
@@ -1,37 +1,6 @@
# `src orgs get`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Name\}\} (\{\{.DisplayName\}\})") | `{{.\|json}}` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-name` | Look up organization by name. (e.g. "abc-org") | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src orgs get':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -f string
- Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Name}} ({{.DisplayName}})") (default "{{.|json}}")
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -name string
- Look up organization by name. (e.g. "abc-org")
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+gets an organization.
Examples:
@@ -41,9 +10,22 @@ Examples:
List usernames of members of organization named abc-org (replace '.Username' with '.ID' to list user IDs):
- $ src orgs get -f '{{range $i,$ := .Members.Nodes}}{{if ne $i 0}}{{"\n"}}{{end}}{{.Username}}{{end}}' -name=abc-org
-
+ $ src orgs get -f '\{\{range $i,$ := .Members.Nodes\}\}\{\{if ne $i 0\}\}\{\{"\n"\}\}\{\{end\}\}\{\{.Username\}\}\{\{end\}\}' -name=abc-org
+## Usage
+```sh
+$ src orgs get [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--name` | Look up organization by name. (e.g. "abc-org") | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Name\}\} (\{\{.DisplayName\}\})") \| `"\{\{.\\|json\}\}"`|
\ No newline at end of file
diff --git a/docs/cli/references/orgs/index.mdx b/docs/cli/references/orgs/index.mdx
index a3b4977dc..e816a97fa 100644
--- a/docs/cli/references/orgs/index.mdx
+++ b/docs/cli/references/orgs/index.mdx
@@ -1,11 +1,33 @@
# `src orgs`
-## Subcommands
+manages organizations.
+
+'src orgs' is a tool that manages organizations on a Sourcegraph instance.
+
+Usage:
+
+ src orgs command [command options]
+
+The commands are:
+ list lists organizations
+ get gets an organization
+ create creates an organization
+ delete deletes an organization
+ members manages organization members
+
+Use "src orgs [command] -h" for more information about a command.
+
+## Usage
+
+```sh
+$ src orgs [command options]
+```
+
+## Subcommands
* [`create`](orgs/create)
* [`delete`](orgs/delete)
* [`get`](orgs/get)
* [`list`](orgs/list)
-* [`members`](orgs/members)
-
\ No newline at end of file
+* [`members`](orgs/members)
\ No newline at end of file
diff --git a/docs/cli/references/orgs/list.mdx b/docs/cli/references/orgs/list.mdx
index 06f4bacb9..9bb10b521 100644
--- a/docs/cli/references/orgs/list.mdx
+++ b/docs/cli/references/orgs/list.mdx
@@ -1,40 +1,6 @@
# `src orgs list`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Name\}\} (\{\{.DisplayName\}\})" or "\{\{.\|json\}\}") | `{{.Name}}` |
-| `-first` | Returns the first n organizations from the list. | `1000` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-query` | Returns organizations whose names match the query. (e.g. "alice") | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src orgs list':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -f string
- Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Name}} ({{.DisplayName}})" or "{{.|json}}") (default "{{.Name}}")
- -first int
- Returns the first n organizations from the list. (default 1000)
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -query string
- Returns organizations whose names match the query. (e.g. "alice")
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+lists organizations.
Examples:
@@ -46,7 +12,21 @@ Examples:
$ src orgs list -query='myquery'
+## Usage
-
+```sh
+$ src orgs list [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--first` | Returns the first n organizations from the list. | `1000`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--query` | Returns organizations whose names match the query. (e.g. "alice") | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Name\}\} (\{\{.DisplayName\}\})" or "\{\{.\|json\}\}") \| `"\{\{.Name\}\}"`|
\ No newline at end of file
diff --git a/docs/cli/references/orgs/members/add.mdx b/docs/cli/references/orgs/members/add.mdx
index 3d87f9135..5e398363e 100644
--- a/docs/cli/references/orgs/members/add.mdx
+++ b/docs/cli/references/orgs/members/add.mdx
@@ -1,45 +1,27 @@
# `src orgs members add`
+adds a user as a member to an organization.
-## Flags
+Examples:
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-org-id` | ID of organization to which to add member. (required) | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-| `-username` | Username of user to add as member. (required) | |
+ Add a member (alice) to an organization (abc-org):
+ $ src orgs members add -org-id=$(src org get -f '\{\{.ID\}\}' -name=abc-org) -username=alice
## Usage
+```sh
+$ src orgs members add [options]
```
-Usage of 'src orgs members add':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -org-id string
- ID of organization to which to add member. (required)
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
- -username string
- Username of user to add as member. (required)
-
-Examples:
-
- Add a member (alice) to an organization (abc-org):
-
- $ src orgs members add -org-id=$(src org get -f '{{.ID}}' -name=abc-org) -username=alice
-
+## Flags
-```
-
\ No newline at end of file
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--org-id` | ID of organization to which to add member. (required) | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--username` | Username of user to add as member. (required) | ``|
\ No newline at end of file
diff --git a/docs/cli/references/orgs/members/index.mdx b/docs/cli/references/orgs/members/index.mdx
index bfaf71b88..a63b687cb 100644
--- a/docs/cli/references/orgs/members/index.mdx
+++ b/docs/cli/references/orgs/members/index.mdx
@@ -1,8 +1,27 @@
# `src orgs members`
-## Subcommands
+manages organization members.
+
+'src orgs members' is a tool that manages organization members on a Sourcegraph instance.
+
+Usage:
+
+ src orgs members command [command options]
+
+The commands are:
+ add adds a user as a member to an organization
+ remove removes a user as a member from an organization
+
+Use "src orgs members [command] -h" for more information about a command.
+
+## Usage
+
+```sh
+$ src orgs members [command options]
+```
+
+## Subcommands
* [`add`](members/add)
-* [`remove`](members/remove)
-
\ No newline at end of file
+* [`remove`](members/remove)
\ No newline at end of file
diff --git a/docs/cli/references/orgs/members/remove.mdx b/docs/cli/references/orgs/members/remove.mdx
index e4f09aa23..d9b8062f4 100644
--- a/docs/cli/references/orgs/members/remove.mdx
+++ b/docs/cli/references/orgs/members/remove.mdx
@@ -1,44 +1,27 @@
# `src orgs members remove`
+removes a user as a member from an organization.
-## Flags
+Examples:
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-org-id` | ID of organization from which to remove member. (required) | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-| `-user-id` | ID of user to remove as member. (required) | |
+ Remove a member (alice) from an organization (abc-org):
+ $ src orgs members remove -org-id=$(src org get -f '\{\{.ID\}\}' -name=abc-org) -user-id=$(src users get -f '\{\{.ID\}\}' -username=alice)
## Usage
+```sh
+$ src orgs members remove [options]
```
-Usage of 'src orgs members remove':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -org-id string
- ID of organization from which to remove member. (required)
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
- -user-id string
- ID of user to remove as member. (required)
-
-Examples:
-
- Remove a member (alice) from an organization (abc-org):
-
- $ src orgs members remove -org-id=$(src org get -f '{{.ID}}' -name=abc-org) -user-id=$(src users get -f '{{.ID}}' -username=alice)
+## Flags
-```
-
\ No newline at end of file
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--org-id` | ID of organization from which to remove member. (required) | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--user-id` | ID of user to remove as member. (required) | ``|
\ No newline at end of file
diff --git a/docs/cli/references/users/create.mdx b/docs/cli/references/users/create.mdx
index 096cfb496..8c47135c2 100644
--- a/docs/cli/references/users/create.mdx
+++ b/docs/cli/references/users/create.mdx
@@ -1,40 +1,6 @@
# `src users create`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-email` | The new user's email address. (required) | |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-reset-password-url` | Print the reset password URL to manually send to the new user. | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-| `-username` | The new user's username. (required) | |
-
-
-## Usage
-
-```
-Usage of 'src users create':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -email string
- The new user's email address. (required)
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -reset-password-url
- Print the reset password URL to manually send to the new user.
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
- -username string
- The new user's username. (required)
+creates a user account.
Examples:
@@ -42,7 +8,21 @@ Examples:
$ src users create -username=alice -email=alice@example.com
+## Usage
-
+```sh
+$ src users create [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--email` | The new user's email address | ``|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--reset-password-url` | Print the reset password URL to manually send to the new user. | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--username` | The new user's username. | ``|
\ No newline at end of file
diff --git a/docs/cli/references/users/delete.mdx b/docs/cli/references/users/delete.mdx
index 72b0db301..a616295da 100644
--- a/docs/cli/references/users/delete.mdx
+++ b/docs/cli/references/users/delete.mdx
@@ -1,34 +1,6 @@
# `src users delete`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-id` | The ID of the user to delete. | |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src users delete':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -id string
- The ID of the user to delete.
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+deletes a user account.
Examples:
@@ -38,13 +10,25 @@ Examples:
Delete a user account by username:
- $ src users delete -id=$(src users get -f='{{.ID}}' -username=alice)
+ $ src users delete -id=$(src users get -f='\{\{.ID\}\}' -username=alice)
Delete all user accounts that match the query:
- $ src users list -f='{{.ID}}' -query=alice | xargs -n 1 -I USERID src users delete -id=USERID
-
+ $ src users list -f='\{\{.ID\}\}' -query=alice | xargs -n 1 -I USERID src users delete -id=USERID
+## Usage
+```sh
+$ src users delete [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--id` | The ID of the user to delete. | ``|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/users/get.mdx b/docs/cli/references/users/get.mdx
index 15054f468..d434569dd 100644
--- a/docs/cli/references/users/get.mdx
+++ b/docs/cli/references/users/get.mdx
@@ -1,40 +1,6 @@
# `src users get`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-email` | Look up user by email. (e.g. "alice@sourcegraph.com") | |
-| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Username\}\} (\{\{.DisplayName\}\})") | `{{.\|json}}` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-| `-username` | Look up user by username. (e.g. "alice") | |
-
-
-## Usage
-
-```
-Usage of 'src users get':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -email string
- Look up user by email. (e.g. "alice@sourcegraph.com")
- -f string
- Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Username}} ({{.DisplayName}})") (default "{{.|json}}")
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
- -username string
- Look up user by username. (e.g. "alice")
+gets a user.
Examples:
@@ -42,7 +8,21 @@ Examples:
$ src users get -username=alice
+## Usage
-
+```sh
+$ src users get [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--email` | Look up user by email. (e.g. "alice@sourcegraph.com") | ``|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--username` | Look up user by username. (e.g. "alice") | ``|
+| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Username\}\} (\{\{.DisplayName\}\})") \| `"\{\{.\\|json\}\}"`|
\ No newline at end of file
diff --git a/docs/cli/references/users/index.mdx b/docs/cli/references/users/index.mdx
index 359e58f4e..99f7a9c57 100644
--- a/docs/cli/references/users/index.mdx
+++ b/docs/cli/references/users/index.mdx
@@ -1,12 +1,35 @@
# `src users`
-## Subcommands
+manages users.
+
+'src users' is a tool that manages users on a Sourcegraph instance.
+
+Usage:
+
+ src users command [command options]
+
+The commands are:
+ list lists users
+ get gets a user
+ create creates a user account
+ delete deletes a user account
+ prune deletes inactive users
+ tag add/remove a tag on a user
+
+Use "src users [command] -h" for more information about a command.
+
+## Usage
+
+```sh
+$ src users [command options]
+```
+
+## Subcommands
* [`create`](users/create)
* [`delete`](users/delete)
* [`get`](users/get)
* [`list`](users/list)
* [`prune`](users/prune)
-* [`tag`](users/tag)
-
\ No newline at end of file
+* [`tag`](users/tag)
\ No newline at end of file
diff --git a/docs/cli/references/users/list.mdx b/docs/cli/references/users/list.mdx
index bc4d8c97b..ba5336627 100644
--- a/docs/cli/references/users/list.mdx
+++ b/docs/cli/references/users/list.mdx
@@ -1,43 +1,6 @@
# `src users list`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Username\}\} (\{\{.DisplayName\}\})" or "\{\{.\|json\}\}") | `{{.Username}}` |
-| `-first` | Returns the first n users from the list. | `1000` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-query` | Returns users whose names match the query. (e.g. "alice") | |
-| `-tag` | Returns users with the given tag. | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src users list':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -f string
- Format for the output, using the syntax of Go package text/template. (e.g. "{{.ID}}: {{.Username}} ({{.DisplayName}})" or "{{.|json}}") (default "{{.Username}}")
- -first int
- Returns the first n users from the list. (default 1000)
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -query string
- Returns users whose names match the query. (e.g. "alice")
- -tag string
- Returns users with the given tag.
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+lists users.
Examples:
@@ -53,7 +16,22 @@ Examples:
$ src users list -tag=foo
+## Usage
-
+```sh
+$ src users list [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--first` | Returns the first n users from the list. | `1000`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--query` | Returns users whose names match the query. (e.g. "alice") | ``|
+| `--tag` | Returns users with the given tag. | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `-f` | Format for the output, using the syntax of Go package text/template. (e.g. "\{\{.ID\}\}: \{\{.Username\}\} (\{\{.DisplayName\}\})" or "\{\{.\|json\}\}") \| `"\{\{.Username\}\}"`|
\ No newline at end of file
diff --git a/docs/cli/references/users/prune.mdx b/docs/cli/references/users/prune.mdx
index 471fb7b90..bc9072d66 100644
--- a/docs/cli/references/users/prune.mdx
+++ b/docs/cli/references/users/prune.mdx
@@ -1,46 +1,6 @@
# `src users prune`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-days` | Days threshold on which to remove users, must be 60 days or greater and defaults to this value | `60` |
-| `-display-users` | display table of users to be deleted by prune | `false` |
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-force` | skips user confirmation step allowing programmatic use | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-remove-admin` | prune admin accounts | `false` |
-| `-remove-null-users` | removes users with no last active value | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-
-
-## Usage
-
-```
-Usage of 'src users prune':
- -days int
- Days threshold on which to remove users, must be 60 days or greater and defaults to this value (default 60)
- -display-users
- display table of users to be deleted by prune
- -dump-requests
- Log GraphQL requests and responses to stdout
- -force
- skips user confirmation step allowing programmatic use
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -remove-admin
- prune admin accounts
- -remove-null-users
- removes users with no last active value
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
+deletes inactive users.
This command removes users from a Sourcegraph instance who have been inactive for 60 or more days. Admin accounts are omitted by default.
@@ -50,6 +10,23 @@ Examples:
$ src users prune -remove-admin -remove-null-users
+## Usage
+```sh
+$ src users prune [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--days` | Days threshold on which to remove users, must be 60 days or greater and defaults to this value | `60`|
+| `--display-users` | display table of users to be deleted by prune | `false`|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--force` | skips user confirmation step allowing programmatic use | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--remove-admin` | prune admin accounts | `false`|
+| `--remove-null-users` | removes users with no last active value | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cli/references/users/tag.mdx b/docs/cli/references/users/tag.mdx
index 5ec8cd5d2..e4fec504d 100644
--- a/docs/cli/references/users/tag.mdx
+++ b/docs/cli/references/users/tag.mdx
@@ -1,50 +1,16 @@
# `src users tag`
-
-## Flags
-
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-remove` | Remove the tag. (default: add the tag | `false` |
-| `-tag` | The tag to set on the user. (required) | |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
-| `-user-id` | The ID of the user to tag. (required) | |
-
-
-## Usage
-
-```
-Usage of 'src users tag':
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -remove
- Remove the tag. (default: add the tag
- -tag string
- The tag to set on the user. (required)
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
- -user-id string
- The ID of the user to tag. (required)
+add/remove a tag on a user.
Examples:
Add a tag "foo" to a user:
- $ src users tag -user-id=$(src users get -f '{{.ID}}' -username=alice) -tag=foo
+ $ src users tag -user-id=$(src users get -f '\{\{.ID\}\}' -username=alice) -tag=foo
Remove a tag "foo" to a user:
- $ src users tag -user-id=$(src users get -f '{{.ID}}' -username=alice) -remove -tag=foo
+ $ src users tag -user-id=$(src users get -f '\{\{.ID\}\}' -username=alice) -remove -tag=foo
Related examples:
@@ -52,7 +18,21 @@ Related examples:
$ src users list -tag=foo
+## Usage
-
+```sh
+$ src users tag [options]
```
-
\ No newline at end of file
+
+## Flags
+
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--remove` | Remove the tag. (default: add the tag) | `false`|
+| `--tag` | The tag to set on the user. | ``|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
+| `--user-id` | The ID of the user to tag. | ``|
\ No newline at end of file
diff --git a/docs/cli/references/version.mdx b/docs/cli/references/version.mdx
index 8971177a3..e59c6ffe4 100644
--- a/docs/cli/references/version.mdx
+++ b/docs/cli/references/version.mdx
@@ -1,41 +1,26 @@
# `src version`
+Display and compare the src-cli version against the recommended version for your instance
-## Flags
+Examples:
-| Name | Description | Default Value |
-|------|-------------|---------------|
-| `-client-only` | If true, only the client version will be printed. | `false` |
-| `-dump-requests` | Log GraphQL requests and responses to stdout | `false` |
-| `-get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false` |
-| `-insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false` |
-| `-trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false` |
-| `-user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true` |
+Get the src-cli version and the Sourcegraph instance's recommended version:
+$ src version
## Usage
+```sh
+$ src version [options]
```
-Usage of 'src version':
- -client-only
- If true, only the client version will be printed.
- -dump-requests
- Log GraphQL requests and responses to stdout
- -get-curl
- Print the curl command for executing this query and exit (WARNING: includes printing your access token!)
- -insecure-skip-verify
- Skip validation of TLS certificates against trusted chains
- -trace
- Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing
- -user-agent-telemetry
- Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph (default true)
-
-Examples:
-
- Get the src-cli version and the Sourcegraph instance's recommended version:
-
- $ src version
+## Flags
-```
-
\ No newline at end of file
+| Name | Description | Default Value |
+|------|-------------|---------------|
+| `--client-only` | If true, only the client version will be printed. | `false`|
+| `--dump-requests` | Log GraphQL requests and responses to stdout | `false`|
+| `--get-curl` | Print the curl command for executing this query and exit (WARNING: includes printing your access token!) | `false`|
+| `--insecure-skip-verify` | Skip validation of TLS certificates against trusted chains | `false`|
+| `--trace` | Log the trace ID for requests. See https://docs.sourcegraph.com/admin/observability/tracing | `false`|
+| `--user-agent-telemetry` | Include the operating system and architecture in the User-Agent sent with requests to Sourcegraph | `true`|
\ No newline at end of file
diff --git a/docs/cody/capabilities/supported-models.mdx b/docs/cody/capabilities/supported-models.mdx
index 9658a1efe..21acfeb7f 100644
--- a/docs/cody/capabilities/supported-models.mdx
+++ b/docs/cody/capabilities/supported-models.mdx
@@ -14,6 +14,7 @@ Cody supports a variety of cutting-edge large language models for use in chat an
| **Provider** | **Model** | **Status** | **Vision Support** |
| :----------- | :-------- | :--------- | :----------------- |
+| Anthropic | [Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Opus 4.7](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Opus 4.6](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
| Anthropic | [Claude Sonnet 4.6](https://platform.claude.com/docs/en/about-claude/models/overview) | ✅ | ✅ |
diff --git a/docs/self-hosted/observability/alerts.mdx b/docs/self-hosted/observability/alerts.mdx
index 6892d0f3e..b34e75d3d 100644
--- a/docs/self-hosted/observability/alerts.mdx
+++ b/docs/self-hosted/observability/alerts.mdx
@@ -4340,6 +4340,11 @@ Generated query for critical alert: `max((max(max_over_time(src_conf_client_time
**Next steps**
+- Treat sustained high searcher traffic as a sign that indexed search is not carrying enough of the search load. Searcher handles unindexed search, so high per-replica traffic usually means queries are not using Zoekt enough.
+- Check Zoekt availability, indexing backlog, and indexing errors to make sure repositories are being indexed and served by indexed search.
+- Inspect recent search traffic for broad or repeated unindexed queries, especially automated clients or queries against revisions that cannot use indexed search.
+- If users often search non-default branches, consider indexing more branches by configuring `search.index.branches` or `search.index.revisions` in site configuration.
+- If the traffic is expected and Zoekt indexing is healthy, consider scaling out searcher replicas to reduce per-replica load and search latency.
- More help interpreting this metric is available in the [dashboards reference](dashboards#searcher-replica_traffic).
- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
@@ -6184,6 +6189,40 @@ Generated query for critical alert: `min((sum by (app) (up{app=~".*prometheus"\}
+## executor: managed_instance_groups_autoscaler_unhealthy
+
+
managed instance group(s) marked unhealthy by the cascade
+
+**Descriptions**
+
+- warning executor: 1+ managed instance group(s) marked unhealthy by the cascade for 10m0s
+
+**Next steps**
+
+- Inspect the affected managed instance group in the GCP console; check the autoscaler status and recent instance creation errors.
+- Check the worker logs filtered to InstrumentationScope "worker.executorqueue.gcp.autoscaler" for the "cascade decision" lines covering the affected (name, queue).
+- If unhealthy due to spot stockout in one region, the cascade is doing its job — verify the standard MIG (or next region`s spot MIG) absorbed the demand. Confirm by inspecting src_executors_managed_instance_groups_autoscaler_assigned_demand for the same queue.
+- If unhealthy due to quota, request a quota increase. If the sticky cooldown is keeping a recovered MIG in unhealthy state, no action needed — it will clear within 5 minutes.
+- More help interpreting this metric is available in the [dashboards reference](dashboards#executor-managed_instance_groups_autoscaler_unhealthy).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_executor_managed_instance_groups_autoscaler_unhealthy"
+]
+```
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((max by (name, queue) (src_executors_managed_instance_groups_autoscaler_unhealthy)) >= 1)`
+
+
+
+
+
## executor: executor_handlers
credit usage notification routine operation errors every 30m
+
+**Descriptions**
+
+- warning metering: 0+ credit usage notification routine operation errors every 30m
+
+**Next steps**
+
+- Failures indicate that site admin credit usage notifications are not being refreshed.
+- Check worker logs for credit usage notification monitor failures and Enterprise Portal connectivity issues.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#metering-licensing_credit_usage_notifications_errors_total).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_licensing_credit_usage_notifications_errors_total"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_licensing_credit_usage_notifications_errors_total{job=~"^worker.*"}[30m]))) > 0)`
+
+
+
+
+
+## metering: licensing_fast_quota_check_routine_99th_percentile_duration
+
+
aggregate successful fast quota check probe operation duration distribution over 30m
+
+**Descriptions**
+
+- warning metering: 30+ aggregate successful fast quota check probe operation duration distribution over 30m for 5m0s
+
+**Next steps**
+
+- The 99th percentile probe duration has been above 30 seconds for at least 5 minutes; the probe should normally complete in well under its configured interval (default 1m).
+- Check Enterprise Portal latency and worker logs for the `licensing.fast-quota-check` routine.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#metering-licensing_fast_quota_check_routine_99th_percentile_duration).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_licensing_fast_quota_check_routine_99th_percentile_duration"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Custom query for warning alert: `max((histogram_quantile(0.99, sum by (le) (rate(src_licensing_fast_quota_check_routine_duration_seconds_bucket{job=~"^worker.*"}[30m])))) > 30)`
+
+
+
+
+
+## metering: licensing_fast_quota_check_routine_error_rate
+
+
fast quota check probe operation error rate over 30m
+
+**Descriptions**
+
+- warning metering: 15%+ fast quota check probe operation error rate over 30m for 5m0s
+
+**Next steps**
+
+- The probe failure rate has been at or above 15% over the last 30 minutes for at least 5 consecutive minutes; FastCheckQuota is consistently failing open and quota enforcement is degraded.
+- Check worker logs for the `licensing.fast-quota-check` routine and Enterprise Portal connectivity.
+- Learn more about the related dashboard panel in the [dashboards reference](dashboards#metering-licensing_fast_quota_check_routine_error_rate).
+- **Silence this alert:** If you are aware of this alert and want to silence notifications for it, add the following to your site configuration and set a reminder to re-evaluate the alert:
+
+```json
+"observability.silenceAlerts": [
+ "warning_metering_licensing_fast_quota_check_routine_error_rate"
+]
+```
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Generated query for warning alert: `max((sum(increase(src_licensing_fast_quota_check_routine_errors_total{job=~"^worker.*"\}[30m])) / (sum(increase(src_licensing_fast_quota_check_routine_total\{job=~"^worker.*"\}[30m])) + sum(increase(src_licensing_fast_quota_check_routine_errors_total\{job=~"^worker.*"}[30m]))) * 100) >= 15)`
+
+
+
+
+
## otel-collector: otel_span_refused
spans refused per receiver
diff --git a/docs/self-hosted/observability/dashboards.mdx b/docs/self-hosted/observability/dashboards.mdx
index 3be352e0a..5b9495677 100644
--- a/docs/self-hosted/observability/dashboards.mdx
+++ b/docs/self-hosted/observability/dashboards.mdx
@@ -18257,6 +18257,11 @@ sum by (code) (rate(searcher_service_request_total{instance=~`${instance:regex}`
This graph is the average number of requests per second searcher is
experiencing over the last 10 minutes broken down per replica.
+Sustained high traffic here is undesirable because it indicates Sourcegraph is
+using unindexed searcher requests instead of Zoekt indexed search for a good amount
+of the search load. That can increase searcher and gitserver load and cause
+broader search reliability or latency problems downstream.
+
The code is the HTTP Status code. 200 is success. We have a special code
"canceled" which is common when doing a large search request and we find
enough results before searching all possible repos.
@@ -25482,6 +25487,58 @@ multiqueue_executor_dequeue_cache_size{queue=~"$queue",job=~"^(executor|sourcegr
+### Executor: Multi-MIG priority-cascade autoscaler
+
+#### executor: managed_instance_groups_autoscaler_unhealthy
+
+
Managed instance group(s) marked unhealthy by the cascade
+
+1 when the cascade considered the named managed instance group unhealthy on the most recent cycle; 0 when healthy.
+A managed instance group is marked unhealthy when GCP cannot provision VMs for it — creation errors (ZONE_RESOURCE_POOL_EXHAUSTED, QUOTA_EXCEEDED, stockout), a sustained scaling gap past the configured wait timeout, or a sticky cooldown after a prior failure.
+While unhealthy, demand cascades to the next priority tier (typically the standard MIG behind the spot MIG).
+
+Refer to the [alerts reference](alerts#executor-managed_instance_groups_autoscaler_unhealthy) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100100` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+max by (name, queue) (src_executors_managed_instance_groups_autoscaler_unhealthy)
+```
+
+
+
+
+#### executor: managed_instance_groups_autoscaler_assigned_demand
+
+
Demand assigned by the cascade per managed instance group
+
+Demand (in task units) the cascade assigned to each managed instance group on the most recent cycle. Sums to the queue depth that the cascade saw. A non-zero value on a non-top-priority MIG means the higher-priority MIG was treated as unhealthy and demand spilled.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100101` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Platform team.*
+
+
+Technical details
+
+Query:
+
+```
+max by (name, queue) (src_executors_managed_instance_groups_autoscaler_assigned_demand)
+```
+
+
+
+
### Executor: Executor: Executor jobs
#### executor: executor_handlers
@@ -25490,7 +25547,7 @@ multiqueue_executor_dequeue_cache_size{queue=~"$queue",job=~"^(executor|sourcegr
Refer to the [alerts reference](alerts#executor-executor_handlers) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100100` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100200` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25512,7 +25569,7 @@ sum(src_executor_processor_handlers{queue=~"${queue:regex}",sg_job=~"^sourcegrap
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100110` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100210` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25534,7 +25591,7 @@ sum(increase(src_executor_processor_total{queue=~"${queue:regex}",sg_job=~"^sour
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100111` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100211` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25556,7 +25613,7 @@ sum by (le)(rate(src_executor_processor_duration_seconds_bucket{queue=~"${queue
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100112` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100212` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25578,7 +25635,7 @@ sum(increase(src_executor_processor_errors_total{queue=~"${queue:regex}",sg_job=
Refer to the [alerts reference](alerts#executor-executor_processor_error_rate) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100113` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100213` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25602,7 +25659,7 @@ sum(increase(src_executor_processor_errors_total{queue=~"${queue:regex}",sg_job=
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100300` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25624,7 +25681,7 @@ sum(increase(src_apiworker_apiclient_queue_total{sg_job=~"^sourcegraph-executors
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100201` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100301` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25646,7 +25703,7 @@ sum by (le)(rate(src_apiworker_apiclient_queue_duration_seconds_bucket{sg_job=~
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100202` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100302` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25668,7 +25725,7 @@ sum(increase(src_apiworker_apiclient_queue_errors_total{sg_job=~"^sourcegraph-ex
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100203` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100303` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25690,7 +25747,7 @@ sum(increase(src_apiworker_apiclient_queue_errors_total{sg_job=~"^sourcegraph-ex
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100310` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25712,7 +25769,7 @@ sum by (op)(increase(src_apiworker_apiclient_queue_total{sg_job=~"^sourcegraph-e
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100311` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25734,7 +25791,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_apiworker_apiclient_queue_dura
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100312` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25756,7 +25813,7 @@ sum by (op)(increase(src_apiworker_apiclient_queue_errors_total{sg_job=~"^source
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100213` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100313` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25780,7 +25837,7 @@ sum by (op)(increase(src_apiworker_apiclient_queue_errors_total{sg_job=~"^source
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100300` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100400` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25802,7 +25859,7 @@ sum(increase(src_apiworker_apiclient_files_total{sg_job=~"^sourcegraph-executors
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100301` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100401` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25824,7 +25881,7 @@ sum by (le)(rate(src_apiworker_apiclient_files_duration_seconds_bucket{sg_job=~
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100302` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100402` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25846,7 +25903,7 @@ sum(increase(src_apiworker_apiclient_files_errors_total{sg_job=~"^sourcegraph-ex
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100303` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100403` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25868,7 +25925,7 @@ sum(increase(src_apiworker_apiclient_files_errors_total{sg_job=~"^sourcegraph-ex
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100310` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100410` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25890,7 +25947,7 @@ sum by (op)(increase(src_apiworker_apiclient_files_total{sg_job=~"^sourcegraph-e
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100311` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100411` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25912,7 +25969,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_apiworker_apiclient_files_dura
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100312` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100412` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25934,7 +25991,7 @@ sum by (op)(increase(src_apiworker_apiclient_files_errors_total{sg_job=~"^source
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100313` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100413` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25958,7 +26015,7 @@ sum by (op)(increase(src_apiworker_apiclient_files_errors_total{sg_job=~"^source
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100400` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100500` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -25980,7 +26037,7 @@ sum(increase(src_apiworker_command_total{op=~"setup.*",sg_job=~"^sourcegraph-exe
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100401` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100501` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26002,7 +26059,7 @@ sum by (le)(rate(src_apiworker_command_duration_seconds_bucket{op=~"setup.*",sg
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100402` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100502` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26024,7 +26081,7 @@ sum(increase(src_apiworker_command_errors_total{op=~"setup.*",sg_job=~"^sourcegr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100403` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100503` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26046,7 +26103,7 @@ sum(increase(src_apiworker_command_errors_total{op=~"setup.*",sg_job=~"^sourcegr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100410` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100510` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26068,7 +26125,7 @@ sum by (op)(increase(src_apiworker_command_total{op=~"setup.*",sg_job=~"^sourceg
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100411` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100511` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26090,7 +26147,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_apiworker_command_duration_sec
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100412` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100512` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26112,7 +26169,7 @@ sum by (op)(increase(src_apiworker_command_errors_total{op=~"setup.*",sg_job=~"^
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100413` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100513` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26136,7 +26193,7 @@ sum by (op)(increase(src_apiworker_command_errors_total{op=~"setup.*",sg_job=~"^
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100500` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100600` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26158,7 +26215,7 @@ sum(increase(src_apiworker_command_total{op=~"exec.*",sg_job=~"^sourcegraph-exec
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100501` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100601` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26180,7 +26237,7 @@ sum by (le)(rate(src_apiworker_command_duration_seconds_bucket{op=~"exec.*",sg_
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100502` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100602` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26202,7 +26259,7 @@ sum(increase(src_apiworker_command_errors_total{op=~"exec.*",sg_job=~"^sourcegra
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100503` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100603` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26224,7 +26281,7 @@ sum(increase(src_apiworker_command_errors_total{op=~"exec.*",sg_job=~"^sourcegra
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100510` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100610` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26246,7 +26303,7 @@ sum by (op)(increase(src_apiworker_command_total{op=~"exec.*",sg_job=~"^sourcegr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100511` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100611` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26268,7 +26325,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_apiworker_command_duration_sec
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100512` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100612` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26290,7 +26347,7 @@ sum by (op)(increase(src_apiworker_command_errors_total{op=~"exec.*",sg_job=~"^s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100513` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100613` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26314,7 +26371,7 @@ sum by (op)(increase(src_apiworker_command_errors_total{op=~"exec.*",sg_job=~"^s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100600` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100700` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26336,7 +26393,7 @@ sum(increase(src_apiworker_command_total{op=~"teardown.*",sg_job=~"^sourcegraph-
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100601` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100701` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26358,7 +26415,7 @@ sum by (le)(rate(src_apiworker_command_duration_seconds_bucket{op=~"teardown.*"
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100602` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100702` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26380,7 +26437,7 @@ sum(increase(src_apiworker_command_errors_total{op=~"teardown.*",sg_job=~"^sourc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100603` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100703` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26402,7 +26459,7 @@ sum(increase(src_apiworker_command_errors_total{op=~"teardown.*",sg_job=~"^sourc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100610` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100710` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26424,7 +26481,7 @@ sum by (op)(increase(src_apiworker_command_total{op=~"teardown.*",sg_job=~"^sour
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100611` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100711` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26446,7 +26503,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_apiworker_command_duration_sec
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100612` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100712` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26468,7 +26525,7 @@ sum by (op)(increase(src_apiworker_command_errors_total{op=~"teardown.*",sg_job=
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100613` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100713` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -26494,7 +26551,7 @@ Indicates the amount of CPU time excluding idle and iowait time, divided by the
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100700` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100800` on your Sourcegraph instance.
@@ -26517,7 +26574,7 @@ Indicates the average summed time a number of (but strictly not all) non-idle pr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100701` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100801` on your Sourcegraph instance.
@@ -26540,7 +26597,7 @@ Indicates the amount of available memory (including cache and buffers) as a perc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100710` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100810` on your Sourcegraph instance.
@@ -26563,7 +26620,7 @@ Indicates the efficiency of page reclaim, calculated as pgsteal/pgscan. Optimal
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100711` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100811` on your Sourcegraph instance.
@@ -26586,7 +26643,7 @@ Indicates the amount of time all non-idle processes were stalled waiting on memo
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100712` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100812` on your Sourcegraph instance.
@@ -26609,7 +26666,7 @@ Indicates the percentage of time a disk was busy. If this is less than 100%, the
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100720` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100820` on your Sourcegraph instance.
@@ -26632,7 +26689,7 @@ Indicates the number of outstanding/queued IO requests. High but short-lived que
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100721` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100821` on your Sourcegraph instance.
@@ -26655,7 +26712,7 @@ Indicates the averaged amount of time for which all non-idle processes were stal
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100722` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100822` on your Sourcegraph instance.
@@ -26678,7 +26735,7 @@ Indicates the average summed receiving throughput of all network interfaces. Thi
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100730` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100830` on your Sourcegraph instance.
@@ -26701,7 +26758,7 @@ Number of dropped received packets. This can happen if the receive queues/buffer
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100731` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100831` on your Sourcegraph instance.
@@ -26724,7 +26781,7 @@ Number of bad/malformed packets received. https://www.kernel.org/doc/html/latest
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100732` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100832` on your Sourcegraph instance.
@@ -26747,7 +26804,7 @@ Indicates the average summed transmitted throughput of all network interfaces. T
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100740` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100840` on your Sourcegraph instance.
@@ -26770,7 +26827,7 @@ Number of dropped transmitted packets. This can happen if the receiving side`s r
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100741` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100841` on your Sourcegraph instance.
@@ -26793,7 +26850,7 @@ Number of packet transmission errors. This is distinct from tx packet dropping,
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100742` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100842` on your Sourcegraph instance.
@@ -26818,7 +26875,7 @@ Indicates the amount of CPU time excluding idle and iowait time, divided by the
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100800` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100900` on your Sourcegraph instance.
@@ -26841,7 +26898,7 @@ Indicates the average summed time a number of (but strictly not all) non-idle pr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100801` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100901` on your Sourcegraph instance.
@@ -26864,7 +26921,7 @@ Indicates the amount of available memory (including cache and buffers) as a perc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100810` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100910` on your Sourcegraph instance.
@@ -26887,7 +26944,7 @@ Indicates the efficiency of page reclaim, calculated as pgsteal/pgscan. Optimal
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100811` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100911` on your Sourcegraph instance.
@@ -26910,7 +26967,7 @@ Indicates the amount of time all non-idle processes were stalled waiting on memo
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100812` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100912` on your Sourcegraph instance.
@@ -26933,7 +26990,7 @@ Indicates the percentage of time a disk was busy. If this is less than 100%, the
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100820` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100920` on your Sourcegraph instance.
@@ -26956,7 +27013,7 @@ Indicates the number of outstanding/queued IO requests. High but short-lived que
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100821` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100921` on your Sourcegraph instance.
@@ -26979,7 +27036,7 @@ Indicates the averaged amount of time for which all non-idle processes were stal
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100822` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100922` on your Sourcegraph instance.
@@ -27002,7 +27059,7 @@ Indicates the average summed receiving throughput of all network interfaces. Thi
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100830` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100930` on your Sourcegraph instance.
@@ -27025,7 +27082,7 @@ Number of dropped received packets. This can happen if the receive queues/buffer
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100831` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100931` on your Sourcegraph instance.
@@ -27048,7 +27105,7 @@ Number of bad/malformed packets received. https://www.kernel.org/doc/html/latest
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100832` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100932` on your Sourcegraph instance.
@@ -27071,7 +27128,7 @@ Indicates the average summed transmitted throughput of all network interfaces. T
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100840` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100940` on your Sourcegraph instance.
@@ -27094,7 +27151,7 @@ Number of dropped transmitted packets. This can happen if the receiving side`s r
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100841` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100941` on your Sourcegraph instance.
@@ -27117,7 +27174,7 @@ Number of packet transmission errors. This is distinct from tx packet dropping,
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100842` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100942` on your Sourcegraph instance.
@@ -27142,7 +27199,7 @@ A high value here indicates a possible goroutine leak.
Refer to the [alerts reference](alerts#executor-go_goroutines) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100900` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=101000` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -27164,7 +27221,7 @@ max by(sg_instance) (go_goroutines{sg_job=~".*sourcegraph-executors"})
Refer to the [alerts reference](alerts#executor-go_gc_duration_seconds) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=100901` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/executor/executor?viewPanel=101001` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -30516,6 +30573,32 @@ sum by (op)(increase(src_codeintel_uploads_store_errors_total{job=~"^${source:re
+### Code Intelligence > Uploads: Codeintel: Uploads > Supersession
+
+#### codeintel-uploads: codeintel_uploads_queued_superseded_total
+
+
Queued upload records superseded every 5m
+
+Number of queued upload records superseded by newer queued uploads
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100200` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Understanding team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_codeintel_uploads_queued_superseded_total{job=~"^${source:regex}.*"}[5m]))
+```
+
+
+
+
### Code Intelligence > Uploads: Codeintel: Uploads > GQL Transport
#### codeintel-uploads: codeintel_uploads_transport_graphql_total
@@ -30524,7 +30607,7 @@ sum by (op)(increase(src_codeintel_uploads_store_errors_total{job=~"^${source:re
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100300` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30546,7 +30629,7 @@ sum(increase(src_codeintel_uploads_transport_graphql_total{job=~"^${source:regex
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100201` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100301` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30568,7 +30651,7 @@ sum by (le)(rate(src_codeintel_uploads_transport_graphql_duration_seconds_bucke
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100202` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100302` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30590,7 +30673,7 @@ sum(increase(src_codeintel_uploads_transport_graphql_errors_total{job=~"^${sourc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100203` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100303` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30612,7 +30695,7 @@ sum(increase(src_codeintel_uploads_transport_graphql_errors_total{job=~"^${sourc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100310` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30634,7 +30717,7 @@ sum by (op)(increase(src_codeintel_uploads_transport_graphql_total{job=~"^${sour
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100311` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30656,7 +30739,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_transport_gr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100312` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30678,7 +30761,7 @@ sum by (op)(increase(src_codeintel_uploads_transport_graphql_errors_total{job=~"
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100213` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100313` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30702,7 +30785,7 @@ sum by (op)(increase(src_codeintel_uploads_transport_graphql_errors_total{job=~"
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100300` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100400` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30724,7 +30807,7 @@ sum(increase(src_codeintel_uploads_transport_http_total{job=~"^${source:regex}.*
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100301` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100401` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30746,7 +30829,7 @@ sum by (le)(rate(src_codeintel_uploads_transport_http_duration_seconds_bucket{j
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100302` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100402` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30768,7 +30851,7 @@ sum(increase(src_codeintel_uploads_transport_http_errors_total{job=~"^${source:r
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100303` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100403` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30790,7 +30873,7 @@ sum(increase(src_codeintel_uploads_transport_http_errors_total{job=~"^${source:r
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100310` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100410` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30812,7 +30895,7 @@ sum by (op)(increase(src_codeintel_uploads_transport_http_total{job=~"^${source:
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100311` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100411` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30834,7 +30917,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_transport_ht
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100312` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100412` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30856,7 +30939,7 @@ sum by (op)(increase(src_codeintel_uploads_transport_http_errors_total{job=~"^${
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100313` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100413` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30882,7 +30965,7 @@ Number of repositories scanned for data retention
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100400` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100500` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30906,7 +30989,7 @@ Number of codeintel upload records scanned for data retention
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100401` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100501` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30930,7 +31013,7 @@ Number of commits reachable from a codeintel upload record scanned for data rete
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100402` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100502` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30954,7 +31037,7 @@ Number of codeintel upload records marked as expired
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100403` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100503` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -30980,7 +31063,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100500` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100600` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31004,7 +31087,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100501` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100601` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31026,7 +31109,7 @@ sum(increase(src_codeintel_uploads_janitor_unknown_repository_records_altered_to
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100510` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100610` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31048,7 +31131,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_unknown_repository_total{job=
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100511` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100611` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31070,7 +31153,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_unkn
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100512` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100612` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31092,7 +31175,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_unknown_repository_errors_tot
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100513` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100613` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31118,7 +31201,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100600` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100700` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31142,7 +31225,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100601` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100701` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31164,7 +31247,7 @@ sum(increase(src_codeintel_uploads_janitor_unknown_commit_records_altered_total{
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100610` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100710` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31186,7 +31269,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_unknown_commit_total{job=~"^$
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100611` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100711` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31208,7 +31291,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_unkn
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100612` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100712` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31230,7 +31313,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_unknown_commit_errors_total{j
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100613` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100713` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31256,7 +31339,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100700` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100800` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31280,7 +31363,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100701` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100801` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31302,7 +31385,7 @@ sum(increase(src_codeintel_uploads_janitor_abandoned_records_altered_total{job=~
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100710` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100810` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31324,7 +31407,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_abandoned_total{job=~"^${sour
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100711` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100811` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31346,7 +31429,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_aban
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100712` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100812` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31368,7 +31451,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_abandoned_errors_total{job=~"
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100713` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100813` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31394,7 +31477,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100800` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100900` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31418,7 +31501,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100801` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100901` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31440,7 +31523,7 @@ sum(increase(src_codeintel_uploads_expirer_unreferenced_records_altered_total{jo
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100810` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100910` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31462,7 +31545,7 @@ sum by (op)(increase(src_codeintel_uploads_expirer_unreferenced_total{job=~"^${s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100811` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100911` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31484,7 +31567,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_expirer_unre
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100812` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100912` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31506,7 +31589,7 @@ sum by (op)(increase(src_codeintel_uploads_expirer_unreferenced_errors_total{job
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100813` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100913` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31532,7 +31615,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100900` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101000` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31556,7 +31639,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100901` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101001` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31578,7 +31661,7 @@ sum(increase(src_codeintel_uploads_expirer_unreferenced_graph_records_altered_to
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100910` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101010` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31600,7 +31683,7 @@ sum by (op)(increase(src_codeintel_uploads_expirer_unreferenced_graph_total{job=
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100911` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101011` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31622,7 +31705,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_expirer_unre
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100912` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101012` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31644,7 +31727,7 @@ sum by (op)(increase(src_codeintel_uploads_expirer_unreferenced_graph_errors_tot
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=100913` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101013` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31670,7 +31753,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101000` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101100` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31694,7 +31777,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101001` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101101` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31716,7 +31799,7 @@ sum(increase(src_codeintel_uploads_hard_deleter_records_altered_total{job=~"^${s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101010` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101110` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31738,7 +31821,7 @@ sum by (op)(increase(src_codeintel_uploads_hard_deleter_total{job=~"^${source:re
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101011` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101111` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31760,7 +31843,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_hard_deleter
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101012` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101112` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31782,7 +31865,7 @@ sum by (op)(increase(src_codeintel_uploads_hard_deleter_errors_total{job=~"^${so
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101013` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101113` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31808,7 +31891,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101100` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101200` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31832,7 +31915,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101101` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101201` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31854,7 +31937,7 @@ sum(increase(src_codeintel_uploads_janitor_audit_logs_records_altered_total{job=
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101110` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101210` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31876,7 +31959,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_total{job=~"^${sou
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101111` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101211` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31898,7 +31981,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_audi
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101112` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101212` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31920,7 +32003,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_audit_logs_errors_total{job=~
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101113` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101213` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31946,7 +32029,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101300` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31970,7 +32053,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101201` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101301` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -31992,7 +32075,7 @@ sum(increase(src_codeintel_uploads_janitor_scip_documents_records_altered_total{
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101310` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32014,7 +32097,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_total{job=~"^$
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101311` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32036,7 +32119,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_janitor_scip
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101312` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32058,7 +32141,7 @@ sum by (op)(increase(src_codeintel_uploads_janitor_scip_documents_errors_total{j
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101213` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101313` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32084,7 +32167,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101300` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101400` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32108,7 +32191,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101301` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101401` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32130,7 +32213,7 @@ sum(increase(src_codeintel_uploads_reconciler_scip_metadata_records_altered_tota
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101310` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101410` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32152,7 +32235,7 @@ sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_total{job=~"
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101311` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101411` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32174,7 +32257,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_reconciler_s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101312` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101412` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32196,7 +32279,7 @@ sum by (op)(increase(src_codeintel_uploads_reconciler_scip_metadata_errors_total
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101313` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101413` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32222,7 +32305,7 @@ The number of candidate records considered for cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101400` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101500` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32246,7 +32329,7 @@ The number of candidate records altered as part of cleanup.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101401` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101501` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32268,7 +32351,7 @@ sum(increase(src_codeintel_uploads_reconciler_scip_data_records_altered_total{jo
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101410` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101510` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32290,7 +32373,7 @@ sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_total{job=~"^${s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101411` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101511` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32312,7 +32395,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_codeintel_uploads_reconciler_s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101412` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101512` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -32334,7 +32417,7 @@ sum by (op)(increase(src_codeintel_uploads_reconciler_scip_data_errors_total{job
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101413` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/codeintel-uploads/codeintel-uploads?viewPanel=101513` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -33332,6 +33415,912 @@ sum(increase(src_meteringexporter_queue_metrics_reporter_errors_total{job=~"^wor
+### Metering: Metering: Credit usage notification routine operations
+
+#### metering: licensing_credit_usage_notifications_total
+
+
Credit usage notification routine operations every 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100400` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_licensing_credit_usage_notifications_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: licensing_credit_usage_notifications_99th_percentile_duration
+
+
Aggregate successful credit usage notification routine operation duration distribution over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100401` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (le)(rate(src_licensing_credit_usage_notifications_duration_seconds_bucket{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: licensing_credit_usage_notifications_errors_total
+
+
Credit usage notification routine operation errors every 30m
+
+Refer to the [alerts reference](alerts#metering-licensing_credit_usage_notifications_errors_total) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100402` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_licensing_credit_usage_notifications_errors_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: licensing_credit_usage_notifications_error_rate
+
+
Credit usage notification routine operation error rate over 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100403` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_licensing_credit_usage_notifications_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_licensing_credit_usage_notifications_total{job=~"^worker.*"}[30m])) + sum(increase(src_licensing_credit_usage_notifications_errors_total{job=~"^worker.*"}[30m]))) * 100
+```
+
+
+
+
+### Metering: Fast quota check routine (cached, latency-sensitive)
+
+#### metering: licensing_fast_quota_check_routine_total
+
+
Fast quota check probe operations every 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100500` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_licensing_fast_quota_check_routine_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: licensing_fast_quota_check_routine_99th_percentile_duration
+
+
Aggregate successful fast quota check probe operation duration distribution over 30m
+
+Refer to the [alerts reference](alerts#metering-licensing_fast_quota_check_routine_99th_percentile_duration) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100501` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (le)(rate(src_licensing_fast_quota_check_routine_duration_seconds_bucket{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: licensing_fast_quota_check_routine_errors_total
+
+
Fast quota check probe operation errors every 30m
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100502` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_licensing_fast_quota_check_routine_errors_total{job=~"^worker.*"}[30m]))
+```
+
+
+
+
+#### metering: licensing_fast_quota_check_routine_error_rate
+
+
Fast quota check probe operation error rate over 30m
+
+Refer to the [alerts reference](alerts#metering-licensing_fast_quota_check_routine_error_rate) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100503` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_licensing_fast_quota_check_routine_errors_total{job=~"^worker.*"}[30m])) / (sum(increase(src_licensing_fast_quota_check_routine_total{job=~"^worker.*"}[30m])) + sum(increase(src_licensing_fast_quota_check_routine_errors_total{job=~"^worker.*"}[30m]))) * 100
+```
+
+
+
+
+### Metering: Metering V2 Connect client metrics
+
+#### metering: metering_v2_success_p99_duration_per_method
+
+
99th percentile success connect client duration per method over 2m
+
+99th percentile duration of success outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100600` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v2_success_p95_duration_per_method
+
+
95th percentile success connect client duration per method over 2m
+
+95th percentile duration of success outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100601` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v2_success_p90_duration_per_method
+
+
90th percentile success connect client duration per method over 2m
+
+90th percentile duration of success outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100602` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v2_failure_p99_duration_per_method
+
+
99th percentile failure connect client duration per method over 2m
+
+99th percentile duration of failure outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100610` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v2_failure_p95_duration_per_method
+
+
95th percentile failure connect client duration per method over 2m
+
+95th percentile duration of failure outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100611` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v2_failure_p90_duration_per_method
+
+
90th percentile failure connect client duration per method over 2m
+
+90th percentile duration of failure outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100612` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v2_connect_request_rate_per_method
+
+
Connect request rate per method over 5m
+
+Rate of outbound Connect calls to enterpriseportal.metering.v2.MeteringService, per method, over a 5 minute window.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100620` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}"}[5m]))
+```
+
+
+
+
+#### metering: metering_v2_connect_error_rate_per_method
+
+
Connect error percentage per method over 2m
+
+Percentage of outbound Connect calls to enterpriseportal.metering.v2.MeteringService that returned a non-OK code, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100630` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+(100 * sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m]))) / sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}"}[2m]))
+```
+
+
+
+
+#### metering: metering_v2_connect_error_rate_per_method_by_code
+
+
Connect error request rate per method and code over 2m
+
+Rate of failing outbound Connect calls to enterpriseportal.metering.v2.MeteringService, broken down by method and connect error code.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100631` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+label_replace(sum by (rpc_method, rpc_connect_rpc_error_code) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])), "rpc_connect_rpc_error_code", "ok", "rpc_connect_rpc_error_code", "")
+```
+
+
+
+
+#### metering: metering_v2_connect_response_code_distribution
+
+
Connect response code distribution per method over 2m
+
+Rate of outbound Connect calls to enterpriseportal.metering.v2.MeteringService per method, broken down by rpc_connect_rpc_error_code. Successful calls (which carry no error-code attribute) are normalized to "ok".
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100640` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+label_replace(sum by (rpc_method, rpc_connect_rpc_error_code) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v2.MeteringService",rpc_method=~"${metering_v2_method:regex}",job=~"${caller:regex}"}[2m])), "rpc_connect_rpc_error_code", "ok", "rpc_connect_rpc_error_code", "")
+```
+
+
+
+
+### Metering: Metering V1 Connect client metrics
+
+#### metering: metering_v1_success_p99_duration_per_method
+
+
99th percentile success connect client duration per method over 2m
+
+99th percentile duration of success outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100700` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v1_success_p95_duration_per_method
+
+
95th percentile success connect client duration per method over 2m
+
+95th percentile duration of success outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100701` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v1_success_p90_duration_per_method
+
+
90th percentile success connect client duration per method over 2m
+
+90th percentile duration of success outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100702` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v1_failure_p99_duration_per_method
+
+
99th percentile failure connect client duration per method over 2m
+
+99th percentile duration of failure outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100710` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v1_failure_p95_duration_per_method
+
+
95th percentile failure connect client duration per method over 2m
+
+95th percentile duration of failure outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100711` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v1_failure_p90_duration_per_method
+
+
90th percentile failure connect client duration per method over 2m
+
+90th percentile duration of failure outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100712` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: metering_v1_connect_request_rate_per_method
+
+
Connect request rate per method over 5m
+
+Rate of outbound Connect calls to enterpriseportal.metering.v1.MeteringService, per method, over a 5 minute window.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100720` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}"}[5m]))
+```
+
+
+
+
+#### metering: metering_v1_connect_error_rate_per_method
+
+
Connect error percentage per method over 2m
+
+Percentage of outbound Connect calls to enterpriseportal.metering.v1.MeteringService that returned a non-OK code, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100730` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+(100 * sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m]))) / sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}"}[2m]))
+```
+
+
+
+
+#### metering: metering_v1_connect_error_rate_per_method_by_code
+
+
Connect error request rate per method and code over 2m
+
+Rate of failing outbound Connect calls to enterpriseportal.metering.v1.MeteringService, broken down by method and connect error code.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100731` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+label_replace(sum by (rpc_method, rpc_connect_rpc_error_code) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])), "rpc_connect_rpc_error_code", "ok", "rpc_connect_rpc_error_code", "")
+```
+
+
+
+
+#### metering: metering_v1_connect_response_code_distribution
+
+
Connect response code distribution per method over 2m
+
+Rate of outbound Connect calls to enterpriseportal.metering.v1.MeteringService per method, broken down by rpc_connect_rpc_error_code. Successful calls (which carry no error-code attribute) are normalized to "ok".
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100740` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+label_replace(sum by (rpc_method, rpc_connect_rpc_error_code) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.metering.v1.MeteringService",rpc_method=~"${metering_v1_method:regex}",job=~"${caller:regex}"}[2m])), "rpc_connect_rpc_error_code", "ok", "rpc_connect_rpc_error_code", "")
+```
+
+
+
+
+### Metering: Broadcast Messages V1 Connect client metrics
+
+#### metering: broadcast_messages_v1_success_p99_duration_per_method
+
+
99th percentile success connect client duration per method over 2m
+
+99th percentile duration of success outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100800` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_success_p95_duration_per_method
+
+
95th percentile success connect client duration per method over 2m
+
+95th percentile duration of success outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100801` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_success_p90_duration_per_method
+
+
90th percentile success connect client duration per method over 2m
+
+90th percentile duration of success outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100802` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code=""}[2m])))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_failure_p99_duration_per_method
+
+
99th percentile failure connect client duration per method over 2m
+
+99th percentile duration of failure outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100810` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.99, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_failure_p95_duration_per_method
+
+
95th percentile failure connect client duration per method over 2m
+
+95th percentile duration of failure outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100811` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_failure_p90_duration_per_method
+
+
90th percentile failure connect client duration per method over 2m
+
+90th percentile duration of failure outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100812` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.90, sum by (le, rpc_method) (rate(rpc_client_duration_milliseconds_bucket{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_connect_request_rate_per_method
+
+
Connect request rate per method over 5m
+
+Rate of outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, per method, over a 5 minute window.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100820` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}"}[5m]))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_connect_error_rate_per_method
+
+
Connect error percentage per method over 2m
+
+Percentage of outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService that returned a non-OK code, per method.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100830` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+(100 * sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m]))) / sum by (rpc_method) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}"}[2m]))
+```
+
+
+
+
+#### metering: broadcast_messages_v1_connect_error_rate_per_method_by_code
+
+
Connect error request rate per method and code over 2m
+
+Rate of failing outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService, broken down by method and connect error code.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100831` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+label_replace(sum by (rpc_method, rpc_connect_rpc_error_code) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}",rpc_connect_rpc_error_code!=""}[2m])), "rpc_connect_rpc_error_code", "ok", "rpc_connect_rpc_error_code", "")
+```
+
+
+
+
+#### metering: broadcast_messages_v1_connect_response_code_distribution
+
+
Connect response code distribution per method over 2m
+
+Rate of outbound Connect calls to enterpriseportal.broadcastmessages.v1.BroadcastMessagesService per method, broken down by rpc_connect_rpc_error_code. Successful calls (which carry no error-code attribute) are normalized to "ok".
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/metering/metering?viewPanel=100840` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Services team.*
+
+
+Technical details
+
+Query:
+
+```
+label_replace(sum by (rpc_method, rpc_connect_rpc_error_code) (rate(rpc_client_duration_milliseconds_count{rpc_service="enterpriseportal.broadcastmessages.v1.BroadcastMessagesService",rpc_method=~"${broadcast_messages_v1_method:regex}",job=~"${caller:regex}"}[2m])), "rpc_connect_rpc_error_code", "ok", "rpc_connect_rpc_error_code", "")
+```
+
+
+
+
## OpenTelemetry Collector
The OpenTelemetry collector ingests OpenTelemetry data from Sourcegraph and exports it to the configured backends.
From ddb660892d9d2ecadc5081fe9b167f3da062175a Mon Sep 17 00:00:00 2001
From: Michael Bahr <1830132+bahrmichael@users.noreply.github.com>
Date: Wed, 17 Jun 2026 11:58:32 +0200
Subject: [PATCH 112/217] docs: document Codex MCP setup and invalid_scope
workaround (#1786)
Adds documentation for connecting OpenAI Codex to the Sourcegraph MCP
server.
Codex's OAuth login to the MCP server fails with an `invalid_scope`
error
unless the `mcp` scope is pinned, because MCP endpoints require the
`mcp`
scope. This documents the fix.
Changes:
- Adds a Codex section to docs/api/mcp/client-integrations.mdx showing
the
`config.toml` setup (`scopes = ["mcp"]`).
- Adds a Troubleshooting section to docs/api/mcp/index.mdx documenting
the
`invalid_scope` error and its fix.
[_Created by Sourcegraph batch change
`bahrmichael/6a183402-8f47-46ab-8ce0-48661bae0502`._](https://sourcegraph.sourcegraph.com/users/bahrmichael/batch-changes/6a183402-8f47-46ab-8ce0-48661bae0502)
---
docs/api/mcp/client-integrations.mdx | 30 ++++++++++++++++++++++++++++
docs/api/mcp/index.mdx | 16 +++++++++++++++
2 files changed, 46 insertions(+)
diff --git a/docs/api/mcp/client-integrations.mdx b/docs/api/mcp/client-integrations.mdx
index ad95ce6e2..5daaf0323 100644
--- a/docs/api/mcp/client-integrations.mdx
+++ b/docs/api/mcp/client-integrations.mdx
@@ -18,6 +18,7 @@
- [Antigravity](#antigravity)
- [Windsurf](#windsurf)
- [OpenCode](#opencode)
+- [Codex](#codex)
### Amp
@@ -281,3 +282,32 @@ You can add the Sourcegraph MCP server to OpenCode by configuring it in your MCP
3. Save the configuration file.
4. Restart OpenCode to apply the changes.
+
+### Codex
+
+You can add the Sourcegraph MCP server to [OpenAI Codex](https://github.com/openai/codex) by editing its `config.toml` file (default `~/.codex/config.toml`, or a project-scoped `.codex/config.toml`):
+
+1. Open or create the configuration file at `~/.codex/config.toml` (or `.codex/config.toml` in your project).
+2. Add the following configuration:
+
+ ```toml
+ [mcp_servers.sourcegraph]
+ url = "https://your-sourcegraph-instance.com/.api/mcp"
+ scopes = ["mcp"]
+ ```
+
+
+ Replace `your-sourcegraph-instance.com` with your Sourcegraph instance
+ URL.
+
+
+
+ `scopes = ["mcp"]` is required. Without it, Codex's OAuth login fails
+ with an `invalid_scope` error because Sourcegraph's MCP endpoints
+ require the `mcp` scope. See [Troubleshooting:
+ `invalid_scope` error during
+ OAuth](/api/mcp#invalid_scope-error-during-oauth) for details.
+
+
+3. Save the configuration file.
+4. Restart Codex and complete the Codex OAuth login flow to sign in to your Sourcegraph instance.
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 2fd947319..9a9982f91 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -414,6 +414,22 @@ Use this matrix to choose the smallest endpoint that has the tools your MCP clie
`deepsearch` tool.
+## Troubleshooting
+
+### `invalid_scope` error during OAuth
+
+If your MCP client's OAuth login fails with an `invalid_scope` error when connecting to `/.api/mcp`, the client requested a scope that the Sourcegraph identity provider does not allow for the MCP resource. MCP endpoints require the `mcp` scope.
+
+To fix this, pin `scopes = ["mcp"]` in your client's OAuth configuration so the client requests only the `mcp` scope during the OAuth flow.
+
+For OpenAI Codex specifically, set `scopes = ["mcp"]` in your `config.toml`. See the [Codex](/api/mcp/client-integrations#codex) section on the client integrations page for the full configuration.
+
+
+ Clients that use Dynamic Client Registration (for example, Claude Code with
+ `--transport http` and Amp CLI) are automatically registered with the `mcp`
+ scope and should not normally encounter this error.
+
+
## Best Practices
1. **Repository Scoping:** Use `list_repos` first to find relevant repositories for better performance
From e552275462685a2628a37d4e082a1bbf49453b5b Mon Sep 17 00:00:00 2001
From: Aditya Kalia <32119652+akalia25@users.noreply.github.com>
Date: Wed, 17 Jun 2026 13:09:44 -0400
Subject: [PATCH 113/217] Add documentation for `credits` API endpoint (#1767)
---
docs/analytics/api.mdx | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/docs/analytics/api.mdx b/docs/analytics/api.mdx
index cd886d311..ae19db78b 100644
--- a/docs/analytics/api.mdx
+++ b/docs/analytics/api.mdx
@@ -56,3 +56,27 @@ export END_DATE="2025-12-31"
curl -X GET "https://analytics.sourcegraph.com/api/reports/by-user-client-date?instanceURL=$INSTANCE_URL&startDate=$START_DATE&endDate=$END_DATE" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
+
+### Credit buckets
+
+The credits API endpoint provides access to credit bucket allocations and consumption for your instance. To retrieve this data, run the following commands:
+
+```sh
+export INSTANCE_URL="" # e.g. example.sourcegraphcloud.com
+
+curl -X GET "https://analytics.sourcegraph.com/api/credits?instanceURL=$INSTANCE_URL" \
+ -H "Authorization: Bearer $ACCESS_TOKEN"
+```
+
+Optional `startDate` and `endDate` values (formatted as `YYYY-MM-DD`) can be specified to filter buckets by their active period. Both parameters are optional. If neither is specified, all buckets are returned.
+
+Example:
+
+```sh
+export INSTANCE_URL="" # e.g. example.sourcegraphcloud.com
+export START_DATE="2026-05-01"
+export END_DATE="2026-12-31"
+
+curl -X GET "https://analytics.sourcegraph.com/api/credits?instanceURL=$INSTANCE_URL&startDate=$START_DATE&endDate=$END_DATE" \
+ -H "Authorization: Bearer $ACCESS_TOKEN"
+```
From a7077aa72ee985aee62af4b1458e97f0a6e3595a Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Wed, 17 Jun 2026 16:53:36 -0400
Subject: [PATCH 114/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(#1787)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an automated pull request, created by //doc:generated.push on
sourcegraph/sourcegraph
Co-authored-by: Buildkite
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 2 +-
docs/admin/config/site-config.mdx | 5 ++++-
docs/admin/repo/perforce.mdx | 2 +-
13 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 4faac573f..da3a764c5 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 1fbc31c61..759a7ec9a 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -69,7 +69,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 68d795ef3..61efa8942 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index a37454dc8..ec3ec526f 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index b4e45c75e..158e2d36c 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index a223d69eb..2e5c92390 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index 546415c5c..2f35fee0e 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 3bc7ebad6..6c811da9e 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index 0736cf14b..af3a0c32b 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index 13810c73f..3ba085b9f 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index e5777841f..0778de46b 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index fedd63a38..ee575cacf 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
@@ -55,6 +55,9 @@ All site configuration options and their default values are shown below.
// - "5h30m40s"
"batchChanges.changesetsRetention": null,
+ // Configuration for out-of-the-box coding agent steps in Batch Changes. When an access token is configured for an agent, Sourcegraph routes that agent's LLM traffic directly to the corresponding provider from the frontend proxy. Access tokens remain server-side and are never sent to executors. Agents without an access token continue to use the Sourcegraph Model Provider.
+ "batchChanges.codingAgents": null,
+
// A list of permitted container registries for use in batch changes, e.g., docker.io. If empty, all container registries are allowed. It cannot be used together with 'batchChanges.containerRegistryDenylist'
// Other example values:
// - "docker.io"
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index d22d29063..849da799a 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-06-16T23:55:06Z */}
+{/* Last updated: 2026-06-17T20:29:01Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
From c96660e6fdad3dd499606a44cd3eec0c0d27e1fc Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Fri, 19 Jun 2026 14:56:46 -0700
Subject: [PATCH 115/217] executors binary deploy type docs cleanup (#1789)
closes PLAT-739
This PR is mostly just cleanup for deadlinks, typos, and some stale
versions.
I tested the binary runs and starts via the `sg start` and `sg start
batches-executor` local dev methods. This isn't a good full walkthrough
of the binary installation path, but is sufficient for the task at hand.
Tested that installation docs worked locally via an orb vm. Unable to
test the ignite on local machine.
---
.../deploy-executors-binary-offline.mdx | 35 +++++++++++--------
.../executors/deploy-executors-binary.mdx | 14 ++++----
2 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/docs/self-hosted/executors/deploy-executors-binary-offline.mdx b/docs/self-hosted/executors/deploy-executors-binary-offline.mdx
index 9ea5b293c..380036cd2 100644
--- a/docs/self-hosted/executors/deploy-executors-binary-offline.mdx
+++ b/docs/self-hosted/executors/deploy-executors-binary-offline.mdx
@@ -6,7 +6,7 @@ When running in an air-gap environment, the executor binary can be deployed with
Executors
require [initial dependencies](/self-hosted/executors/deploy-executors-binary#dependencies) to
-be installed on the host machine. The minimum dependencies (when not using [Firecracker](/admin/executors/#firecracker)
+be installed on the host machine. The minimum dependencies (when not using [Firecracker](/self-hosted/executors/firecracker)
Isolation) are:
- [Docker](https://docs.docker.com/engine/install/binaries/#install-daemon-and-client-binaries-on-linux)
@@ -47,7 +47,7 @@ Executors require `src-cli` to be installed on the host machine. To install `src
2. Copy the `src` binary to the offline host machine
3. Extract the binary from the archive
```shell
- $ tar -zxcf src-cli_${VERSION}_linux_amd64.tar.gz
+ $ tar -zxf src-cli_${VERSION}_linux_amd64.tar.gz
```
4. Set the binary as executable by running `chmod +x src`
5. Move the binary to a location in your `$PATH` (e.g. `/usr/local/bin`)
@@ -97,25 +97,23 @@ be installed on the host machine.
In order for `ignite` to function properly, CNI Plugins must be installed. To install CNI Plugins:
1. Download
- the [CNI Plugins](https://github.com/containernetworking/plugins/releases/download/v0.9.1/cni-plugins-linux-amd64-v0.9.1.tgz)
- and [CNI Isolation](https://github.com/AkihiroSuda/cni-isolation/releases/download/v0.0.4/cni-isolation-amd64.tgz)
- archives on a machine with internet access
-2. Copy the archives to the offline host machine
+ the [CNI Plugins](https://github.com/containernetworking/plugins/releases/download/v1.7.1/cni-plugins-linux-amd64-v1.7.1.tgz)
+ archive on a machine with internet access
+2. Copy the archive to the offline host machine
3. Create the `/opt/cni/bin` directory
```shell
$ mkdir -p /opt/cni/bin
```
-4. Extract the archives to the `/opt/cni/bin` directory
+4. Extract the archive to the `/opt/cni/bin` directory
```shell
- $ tar -zxcf cni-plugins-linux-amd64-v0.9.1.tgz -C /opt/cni/bin
- $ tar -zxcf cni-isolation-amd64.tgz -C /opt/cni/bin
+ $ tar -zxf cni-plugins-linux-amd64-v1.7.1.tgz -C /opt/cni/bin
```
### Install Ignite
Executors use `ignite` to spawn Firecracker VMs to run code in isolation. To install `ignite`:
-1. Download [`ignite`](https://github.com/sourcegraph/ignite/releases/download/v0.10.5/ignite-amd64) on a machine with
+1. Download [`ignite`](https://github.com/sourcegraph/ignite/releases/download/v0.10.8/ignite-amd64) on a machine with
internet access
2. Copy `ignite-amd64` to the offline host machine
3. Set the binary as executable by running `chmod +x ignite-amd64`
@@ -123,7 +121,7 @@ Executors use `ignite` to spawn Firecracker VMs to run code in isolation. To ins
5. Confirm `ignite` is installed by running `ignite`
```shell
$ ignite version
- Ignite version: version.Info{Major:"0", Minor:"8", GitVersion:"v0.10.0", GitCommit:"...", GitTreeState:"clean", BuildDate:"...", GoVersion:"...", Compiler:"gc", Platform:"linux/amd64"}
+ Ignite version: version.Info{Major:"0", Minor:"10", GitVersion:"v0.10.8", GitCommit:"...", GitTreeState:"clean", BuildDate:"...", GoVersion:"...", Compiler:"gc", Platform:"linux/amd64"}
Firecracker version: v0.22.4
Runtime: containerd
```
@@ -160,7 +158,7 @@ If you are using a custom image instead of the Sourcegraph image, you will need
To install the Firecracker sandbox image, import the image using `docker`.
```shell
-$ docker pull
+$ docker pull
```
> Note: Check the version against the version of executors being installed.
@@ -170,10 +168,10 @@ If you are using a custom image instead of the Sourcegraph image, you will need
#### Kernel Image
-To install the Firecracker Kernel image, import the image (`sourcegraph/ignite-kernel:5.10.135-amd64`) using `ignite`.
+To install the Firecracker Kernel image, import the image (`sourcegraph/ignite-kernel:6.1.140-amd64`) using `ignite`.
```shell
-$ ignite kernel import --runtime docker
+$ ignite kernel import --runtime docker
```
> Note: Check the version against the version of executors being installed.
@@ -188,3 +186,12 @@ Once the `executor` binary is installed and dependencies are met, you can valida
```shell
$ executor validate
```
+
+If you are using [Firecracker](/self-hosted/executors/firecracker) isolation, you can also verify that the executor is able to spin up isolation VMs properly:
+
+```shell
+# Optionally provide a repo to clone into the VM's workspace, to verify that cloning works properly as well.
+$ executor test-vm [--repo=github.com/sourcegraph/sourcegraph --revision=main]
+```
+
+This should succeed and print a command to use to attach to the guest VM. If it is able to spin up properly, that is a good indication that everything is set up correctly.
diff --git a/docs/self-hosted/executors/deploy-executors-binary.mdx b/docs/self-hosted/executors/deploy-executors-binary.mdx
index 465dbfaed..1151f2140 100644
--- a/docs/self-hosted/executors/deploy-executors-binary.mdx
+++ b/docs/self-hosted/executors/deploy-executors-binary.mdx
@@ -28,7 +28,7 @@ If [Firecracker isolation will be used](/self-hosted/executors/firecracker): _(r
### **Step 0:** Confirm that virtualization is enabled (if using Firecracker)
-KVM (virtualization) support is required for our [sandboxing model](/admin/executors/#sandboxing-model) with Firecracker. The following command checks whether virtualization is enabled on the machine (it should print something):
+KVM (virtualization) support is required for our [sandboxing model](/self-hosted/executors#sandboxing-model) with Firecracker. The following command checks whether virtualization is enabled on the machine (it should print something):
```bash
$ lscpu | grep Virtualization
@@ -53,8 +53,7 @@ KVM acceleration can be used
Below are the download links for the _latest_ release of executors:
-**Note:** Executors need to match the version of Sourcegraph they're running against. Latest will usually only work for you when
-you run the latest version of Sourcegraph.
+**Note:** The executor binary version must match the version of the Sourcegraph instance it connects to.
- [`linux-amd64/executor`](https://storage.googleapis.com/sourcegraph-artifacts/executor/latest/linux-amd64/executor)
- [`linux-amd64/executor_SHA256SUM`](https://storage.googleapis.com/sourcegraph-artifacts/executor/latest/linux-amd64/executor_SHA256SUM)
@@ -63,8 +62,7 @@ you run the latest version of Sourcegraph.
Download and setup the `executor` binary:
```bash
-# Plug in the version of your Sourcegraph instance, like v4.1.0.
-# Before Sourcegraph 3.43.0, tagged releases of executors are not available and you should default to using "latest" instead.
+# Plug in the version of your Sourcegraph instance, e.g. v7.4.0.
# Using latest is NOT recommended, because it might be incompatible with your Sourcegraph version.
curl -sfLo executor https://storage.googleapis.com/sourcegraph-artifacts/executor/${SOURCEGRAPH_VERSION}/linux-amd64/executor
chmod +x executor
@@ -74,7 +72,7 @@ mv executor /usr/local/bin
### **Step 2:** Setup environment variables
-The executor Linux binary is configured through environment variables which need to be passed to it when you run it (including for the `install`, `validate` and `test-vm` comamnds). You can add these to your shell profile, or an environment file. The `EXECUTOR_FRONTEND_URL`, `EXECUTOR_FRONTEND_PASSWORD` and `EXECUTOR_QUEUE_NAME` **or** `EXECUTOR_QUEUE_NAMES` are _required_ and will need to be set prior to running the executor service for the first time.
+The executor Linux binary is configured through environment variables which need to be passed to it when you run it (including for the `install`, `validate` and `test-vm` commands). You can add these to your shell profile, or an environment file. The `EXECUTOR_FRONTEND_URL`, `EXECUTOR_FRONTEND_PASSWORD` and `EXECUTOR_QUEUE_NAME` **or** `EXECUTOR_QUEUE_NAMES` are _required_ and will need to be set prior to running the executor service for the first time.
See [Executor configuration](/self-hosted/executors/executors-config) for a full list of configuration options for the executor service.
@@ -97,6 +95,8 @@ executor install all
executor install --help
```
+> Note: `executor install all` includes Firecracker-specific components (ignite, CNI plugins, VM images) and requires KVM to be available on the host. If KVM is not enabled, this command will fail. Ensure [Step 0](#step-0-confirm-that-virtualization-is-enabled-if-using-firecracker) passes before running this command.
+
### **Step 4:** Validate your machine is ready to receive workloads
All set up! Before letting the executor start receiving workloads from your Sourcegraph instance, you might want to verify your setup. Run the following command:
@@ -107,7 +107,7 @@ executor validate
If any issues are found, correct them before proceeding.
-If you use our [sandboxing model](/admin/executors/#sandboxing-model) with Firecracker _(recommended)_, you can also verify that the executor is able to spin up the isolation VMs properly. For that, use the following command:
+If you use our [sandboxing model](/self-hosted/executors#sandboxing-model) with Firecracker _(recommended)_, you can also verify that the executor is able to spin up the isolation VMs properly. For that, use the following command:
```bash
# Optionally provide a repo to clone into the VMs workspace, to verify that cloning works properly as well.
From 27a5f44fb842af809f084b2066b35ea070a33767 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Tue, 23 Jun 2026 16:24:53 -0700
Subject: [PATCH 116/217] chore/executors: executors dind deploy docs
improvements (#1792)
closes PLAT-743
These docs improvements are mostly just ease of use improvements linking
relevant docs and providing some visual examples in the dind splash
page.
Procedure tested via a local deployment with `kind` and the executors
helm charts
I did uncover an issue about the frontend port specification in our
configmaps for dind but that will be addressed in a separate PR
---
.../executors/deploy-executors-dind.mdx | 32 +++++++++++++++----
1 file changed, 26 insertions(+), 6 deletions(-)
diff --git a/docs/self-hosted/executors/deploy-executors-dind.mdx b/docs/self-hosted/executors/deploy-executors-dind.mdx
index 2e1a4eb56..fcfc975a5 100644
--- a/docs/self-hosted/executors/deploy-executors-dind.mdx
+++ b/docs/self-hosted/executors/deploy-executors-dind.mdx
@@ -7,7 +7,7 @@
[Linux binary](/self-hosted/executors/deploy-executors-binary).
-[Kubernetes manifests](https://github.com/sourcegraph/deploy-sourcegraph-k8s) are provided to deploy Sourcegraph Executors on a running Kubernetes cluster. If you are deploying Sourcegraph with helm, charts are available [here](https://github.com/sourcegraph/deploy-sourcegraph-helm).
+[Kubernetes manifests](https://github.com/sourcegraph/deploy-sourcegraph-k8s/tree/main/components/executors/dind) are provided to deploy Sourcegraph Executors on a running Kubernetes cluster. If you are deploying Sourcegraph with Helm, charts are available [here](https://github.com/sourcegraph/deploy-sourcegraph-helm/tree/main/charts/sourcegraph-executor/dind).
## Deployment
@@ -15,6 +15,11 @@ Executors on Kubernetes require privileged access to a container runtime daemon
### Step-by-step Guide
+
+ Before deploying, ensure your Sourcegraph instance is configured to accept executor connections.
+ See [Executor authentication](/self-hosted/executors/deploy-executors#executor-authentication) for instructions on setting the required `executors.accessToken` in your site configuration.
+
+
Ensure you have the following tools installed:
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
@@ -26,16 +31,31 @@ Please refer to the [Sourcegraph Helm docs](/self-hosted/deploy/kubernetes#quick
To specifically deploy Executors,
-1. Create an overrides file, `override.yaml`, with any other customizations you may require.
+1. Create an overrides file, `override.yaml`, with any other customizations you may require. At a minimum, you must set the frontend URL and access token:
+
+ ```yaml
+ executor:
+ # The in-cluster frontend service endpoint.
+ # If the executor is deployed in a different namespace than Sourcegraph, use the FQDN form:
+ # "http://sourcegraph-frontend.sourcegraph.svc.cluster.local:30080"
+ frontendUrl: "http://sourcegraph-frontend:30080"
+ frontendPassword: "the-shared-access-token-from-site-config"
+ # Required. Valid values: batches, codeintel, or both.
+ queueNames: ["batches", "codeintel"]
+ ```
+
+ For additional configuration options:
1. See [details on configurations](/self-hosted/deploy/kubernetes#configuration)
- 2. See [here](/self-hosted/executors/executors-config) for a full list of executor environment variables
+ 2. See the [full values reference](https://github.com/sourcegraph/deploy-sourcegraph-helm/blob/main/charts/sourcegraph-executor/dind/README.md) for all available Helm fields
+ 3. See [executor environment variables](/self-hosted/executors/executors-config) for the complete configuration reference
+ 4. See the [GCP example override](https://github.com/sourcegraph/deploy-sourcegraph-helm/blob/main/charts/sourcegraph-executor/dind/examples/gcp/values.yaml) for a more complete example including storage, replica count, and gVisor configuration
2. Run the following command:
```bash
helm upgrade --install --values ./override.yaml --version sg-executor sourcegraph/sourcegraph-executor-dind
```
-3. Confirm executors are working by checking the _Executors_ page under **Site admin > Executors > Instances** .
+3. Confirm executors are working by checking the _Executors_ page under **Site admin > Executors > Instances**.
## Security considerations
@@ -45,12 +65,12 @@ Docker-in-docker executors require the Docker sidecar to run as a [privileged](h
Every executor deployment method exists to run **arbitrary, untrusted code**. Auto-indexing invokes language indexers and package-manager hooks to resolve dependencies, and batch changes run user-defined tooling against the contents of a repository. See [Executors](/admin/executors/) and [Firecracker](/self-hosted/executors/firecracker) for the full sandboxing model.
-This means the risk of a malicious job attempting to break out of its sandbox, consume excessive compute, or exfiltrate code and credentialsis is inherent to running executors. It is not unique to Docker-in-Docker:
+This means the risk of a malicious job attempting to break out of its sandbox, consume excessive compute, or exfiltrate code and credentials is inherent to running executors. It is not unique to Docker-in-Docker:
- **Firecracker** provides the strongest per-job isolation (a MicroVM boundary), but it is not a complete security control on its own. Even with Firecracker, Sourcegraph additionally configures `iptables` to stop jobs from reaching [private IP ranges](/self-hosted/executors/firecracker#known-caveats) and the cloud metadata service.
- **Native Kubernetes** and **Docker-in-Docker** run jobs as containers without a MicroVM boundary, so they rely more heavily on the surrounding isolation and network controls.
-The runtime you choose changes the isolation boundary, but they do not negate the need for additional controls to furthur limit the blast radius.
+The runtime you choose changes the isolation boundary, but they do not negate the need for additional controls to further limit the blast radius.
### Security hardening and risk management
From e1381d0c881ee8bee1476644f4fa7c227ab78732 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Thu, 25 Jun 2026 13:24:32 -0700
Subject: [PATCH 117/217] chore/executors: executors binary offline docs
cleanup (#1791)
closes PLAT-742
Minor docs cleanups for the offline executors binary deployment option.
I'm unable to test the instructions for firecracker installs on a local
machine. The locally testable installation guide is similar enough to
the online binary instructions, which were tested for
https://github.com/sourcegraph/docs/pull/1789
---
.../executors/deploy-executors-binary-offline.mdx | 6 +++---
docs/self-hosted/executors/deploy-executors-binary.mdx | 2 +-
docs/self-hosted/executors/deploy-executors.mdx | 10 +++++-----
docs/self-hosted/executors/executors-config.mdx | 4 ++--
docs/self-hosted/executors/firecracker.mdx | 2 +-
5 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/docs/self-hosted/executors/deploy-executors-binary-offline.mdx b/docs/self-hosted/executors/deploy-executors-binary-offline.mdx
index 380036cd2..bc8bfd4cf 100644
--- a/docs/self-hosted/executors/deploy-executors-binary-offline.mdx
+++ b/docs/self-hosted/executors/deploy-executors-binary-offline.mdx
@@ -14,7 +14,7 @@ Isolation) are:
## Install Binary
-1. Download the executor binary version that matches your deployed Sourcegraph Version (e.g. `v4.1.0`) from a machine
+1. Download the executor binary version that matches your deployed Sourcegraph Version (e.g. `v7.4.0`) from a machine
with internet access
```shell
curl -sfLo executor https://storage.googleapis.com/sourcegraph-artifacts/executor/${SOURCEGRAPH_VERSION}/linux-amd64/executor
@@ -43,7 +43,7 @@ Batch Changes requires `src-cli` to be installed on the host machine for running
Executors require `src-cli` to be installed on the host machine. To install `src-cli`:
1. Download the `src-cli` binary [version](https://github.com/sourcegraph/src-cli/releases) that matches your deployed
- Sourcegraph Version (e.g. `v4.1.0`) from a machine with internet access.
+ Sourcegraph Version (e.g. `v7.4.0`) from a machine with internet access.
2. Copy the `src` binary to the offline host machine
3. Extract the binary from the archive
```shell
@@ -54,7 +54,7 @@ Executors require `src-cli` to be installed on the host machine. To install `src
6. Confirm `src` is installed by running `src`
```shell
$ src version
- Current version: 4.1.0
+ Current version: 7.4.0
```
Ensure the image `sourcegraph/batcheshelper` is available in the internal Docker Registry if using the native execution mode.
diff --git a/docs/self-hosted/executors/deploy-executors-binary.mdx b/docs/self-hosted/executors/deploy-executors-binary.mdx
index 1151f2140..80f817368 100644
--- a/docs/self-hosted/executors/deploy-executors-binary.mdx
+++ b/docs/self-hosted/executors/deploy-executors-binary.mdx
@@ -159,7 +159,7 @@ Also, check the [changelog](https://sourcegraph.com/changelog) for any Executors
### **Step 1:** First, grab the executor binary for the new target Sourcegraph version.
-> NOTE: Keep in mind that only one minor version bumps are guaranteed to be disruption-free.
+> NOTE: Keep in mind that only minor version bumps of one are guaranteed to be disruption-free.
```bash
curl -sfLo executor https://storage.googleapis.com/sourcegraph-artifacts/executor/${SOURCEGRAPH_VERSION}/linux-amd64/executor
diff --git a/docs/self-hosted/executors/deploy-executors.mdx b/docs/self-hosted/executors/deploy-executors.mdx
index ccbb86b37..88208a604 100644
--- a/docs/self-hosted/executors/deploy-executors.mdx
+++ b/docs/self-hosted/executors/deploy-executors.mdx
@@ -104,25 +104,25 @@ Once the shared secret is set in Sourcegraph, you can start setting up executors
title="Install executor on your machine"
icon="theming"
href="/self-hosted/executors/deploy-executors-binary"
- description="Run executors on any linux amd64 machine."
+ description="Run executors on any Linux amd64 machine."
/>
@@ -236,7 +236,7 @@ After successfully [deploying binaries](/self-hosted/executors/deploy-executors-
#### Adding certificates with Firecracker
-When running executors with the [firecracker runtime](/admin/executors/#firecracker), custom certificates need to be added in
+When running executors with the [firecracker runtime](/self-hosted/executors/firecracker), custom certificates need to be added in
the container that is running within the Firecracker VM. To add custom certificates, you must create a new Docker image
that contains the certificates. For example,
diff --git a/docs/self-hosted/executors/executors-config.mdx b/docs/self-hosted/executors/executors-config.mdx
index 95fe98c55..164b780d7 100644
--- a/docs/self-hosted/executors/executors-config.mdx
+++ b/docs/self-hosted/executors/executors-config.mdx
@@ -29,8 +29,8 @@ The following is a list of all of the configuration options for the executor ser
| `EXECUTOR_VM_STARTUP_SCRIPT_PATH` | A path to a file on the host that is loaded into a fresh virtual machine and executed on startup. | `/vm-startup.sh` |
| `NODE_EXPORTER_URL` | The URL of the node_exporter instance, without the /metrics path. | `http://127.0.0.1:9000` |
| `EXECUTOR_FIRECRACKER_IMAGE` | The base image to use for virtual machines. | `sourcegraph/executor-vm:insiders` |
-| `EXECUTOR_FIRECRACKER_KERNEL_IMAGE` | The base image containing the kernel binary to use for virtual machines. | `sourcegraph/ignite-kernel:5.10.135-amd64` |
-| `EXECUTOR_FIRECRACKER_SANDBOX_IMAGE` | The OCI image for the ignite VM sandbox. | `sourcegraph/ignite:v0.10.5` |
+| `EXECUTOR_FIRECRACKER_KERNEL_IMAGE` | The base image containing the kernel binary to use for virtual machines. | `sourcegraph/ignite-kernel:6.1.140-amd64` |
+| `EXECUTOR_FIRECRACKER_SANDBOX_IMAGE` | The OCI image for the ignite VM sandbox. | `sourcegraph/ignite:v0.10.8` |
| `DOCKER_REGISTRY_NODE_EXPORTER_URL` | The URL of the Docker Registry instance's node_exporter, without the /metrics path. | `http://localhost:9000` |
| `SRC_LOG_LEVEL` | upper log level to restrict log output to (dbug, info, warn, error, crit) (default value: "warn") | `warn` |
diff --git a/docs/self-hosted/executors/firecracker.mdx b/docs/self-hosted/executors/firecracker.mdx
index d56b68d74..db035d529 100644
--- a/docs/self-hosted/executors/firecracker.mdx
+++ b/docs/self-hosted/executors/firecracker.mdx
@@ -6,7 +6,7 @@ Because Sourcegraph has access to your code and credentials to external tools, w
Jobs handled by the executor are defined as a series of Docker (or Docker-like) image invocations sharing the same filesystem workspace initialized with the contents of the repository being indexed or modified. When the executor process is running on a raw compute node (specifically, not using the Kubernetes runner in-cluster), the executor can create a [Firecracker "MicroVM"](https://firecracker-microvm.github.io/) for every job and run the containers in a _completely isolated_ manner. The Docker (or Docker-like) daemon running in a MicroVM is isolated from the host, hence each job is also isolated from one another.
-See [this architecture diagram](/admin/executors/#firecracker) detailing Firecracker isolation.
+See [this architecture diagram](/self-hosted/executors#firecracker) detailing Firecracker isolation.
## When to use
From cfd2da54ec4fcce5871f4b2a9f6eb91b15eaa08b Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Thu, 25 Jun 2026 16:31:28 -0700
Subject: [PATCH 118/217] Update MCP tool reference layout (#1793)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Update the MCP server docs tool reference to use collapsible ``
sections for each tool
---
docs/api/mcp/index.mdx | 73 +++++++++++++++++++++++++++++++++---------
1 file changed, 57 insertions(+), 16 deletions(-)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index 9a9982f91..bceca0033 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -195,7 +195,8 @@ The MCP server provides these tools for code exploration and analysis:
#### `read_file`
-Read file contents with line numbers and support for specific ranges and revisions.
+
+Read file contents with line numbers and support for specific ranges and revisions.
**Parameters:**
@@ -211,9 +212,12 @@ Read file contents with line numbers and support for specific ranges and revisio
File size limit is 128KB. Use line ranges for larger files.
+
+
#### `list_files`
-List files and directories in a repository path.
+
+List files and directories in a repository path.
**Parameters:**
@@ -221,9 +225,12 @@ List files and directories in a repository path.
- `path` - Directory path (optional, defaults to root)
- `revision` - Branch, tag, or commit hash (optional)
+
+
#### `list_repos`
-Search and list repositories by name patterns with pagination support.
+
+Search and list repositories by name patterns with pagination support.
**Parameters:**
@@ -231,11 +238,14 @@ Search and list repositories by name patterns with pagination support.
- `limit` - Maximum results per page (optional, default 50)
- `after`/`before` - Pagination cursors (optional)
+
+
### Code Search
#### `keyword_search`
-Perform exact keyword searches with boolean operators and filters.
+
+Perform exact keyword searches with boolean operators and filters.
**Parameters:**
@@ -249,9 +259,12 @@ Perform exact keyword searches with boolean operators and filters.
**Features:** Boolean AND/OR operators, regex patterns
+
+
#### `nls_search`
-Semantic search with flexible linguistic matching.
+
+Semantic search with flexible linguistic matching.
**Parameters:**
@@ -265,9 +278,12 @@ Semantic search with flexible linguistic matching.
**Features:** Flexible linguistic matching, stemming, broader results than keyword search
+
+
#### `evaluator`
-Run sandboxed Lua scripts for aggregation, cross-referencing, and computation over search results.
+
+Run sandboxed Lua scripts for aggregation, cross-referencing, and computation over search results.
**Parameters:**
@@ -275,11 +291,14 @@ Run sandboxed Lua scripts for aggregation, cross-referencing, and computation ov
**Use cases:** Counting or aggregating many search matches, cross-referencing multiple searches, transforming or combining search output with custom logic
+
+
### Code Navigation
#### `go_to_definition`
-Find the definition of a symbol from a usage location.
+
+Find the definition of a symbol from a usage location.
**Parameters:**
@@ -290,9 +309,12 @@ Find the definition of a symbol from a usage location.
**Features:** Cross-repository support, compiler-level accuracy
+
+
#### `find_references`
-Find all references to a symbol from its definition location.
+
+Find all references to a symbol from its definition location.
**Parameters:**
@@ -301,11 +323,14 @@ Find all references to a symbol from its definition location.
- `symbol` - Symbol name to find references for (required)
- `revision` - Branch, tag, or commit hash (optional)
+
+
### Version Control & History
#### `commit_search`
-Search commits by message, author, content, files, and date ranges.
+
+Search commits by message, author, content, files, and date ranges.
**Parameters:**
@@ -317,9 +342,12 @@ Search commits by message, author, content, files, and date ranges.
- `after`/`before` - Date range filters (optional)
- `revisions` - Branches, tags, or ref globs to search (optional)
+
+
#### `diff_search`
-Search actual code changes for specific patterns across repositories.
+
+Search actual code changes for specific patterns across repositories.
**Parameters:**
@@ -331,9 +359,12 @@ Search actual code changes for specific patterns across repositories.
- `after`/`before` - Date range filters (optional)
- `revisions` - Branches, tags, or ref globs to search (optional)
+
+
#### `compare_revisions`
-Compare changes between two specific revisions.
+
+Compare changes between two specific revisions.
**Parameters:**
@@ -343,9 +374,12 @@ Compare changes between two specific revisions.
- `first` - Maximum file diffs to return (optional, default 50)
- `after` - Pagination cursor (optional)
+
+
#### `get_contributor_repos`
-Find repositories where a contributor has made commits.
+
+Find repositories where a contributor has made commits.
**Parameters:**
@@ -353,6 +387,8 @@ Find repositories where a contributor has made commits.
- `limit` - Maximum repositories to return (optional, default 20)
- `minCommits` - Minimum commits required (optional, default 1)
+
+
### Deep Search
@@ -363,10 +399,10 @@ Find repositories where a contributor has made commits.
endpoint. This is a temporary measure available in 7.0 and will be replaced
by a proper tool allowlist in a future release.
+#### `deepsearch`
-### `deepsearch`
-
-Create a new Deep Search conversation to answer complex questions about your codebase.
+
+Create a new Deep Search conversation to answer complex questions about your codebase.
**Parameters:**
@@ -374,9 +410,12 @@ Create a new Deep Search conversation to answer complex questions about your cod
**Use cases:** Comprehensive analysis of complex technical questions, multi-step research across one or many remote codebases, detailed explanations with supporting evidence, questions that require combining information from multiple sources
+
+
#### `deepsearch_read`
-Read a Deep Search conversation and return the markdown content of the questions and answers.
+
+Read a Deep Search conversation and return the markdown content of the questions and answers.
**Parameters:**
@@ -386,6 +425,8 @@ Read a Deep Search conversation and return the markdown content of the questions
**Use cases:** Reading or re-opening Deep Search results, summarizing existing answers, using past Deep Search as context for new questions
+
+
## Tool Availability by Endpoint
Use this matrix to choose the smallest endpoint that has the tools your MCP client needs.
From e81db3c6d4df5feb713de203efe019a54897a258 Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Thu, 25 Jun 2026 16:33:41 -0700
Subject: [PATCH 119/217] Show pointer cursor on details summaries (#1794)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Prose.tsx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/components/Prose.tsx b/src/components/Prose.tsx
index 82d1612ad..eeba543a0 100644
--- a/src/components/Prose.tsx
+++ b/src/components/Prose.tsx
@@ -34,6 +34,8 @@ export function Prose({
'prose-strong:text-vermilion-08 dark:prose-strong:text-vermilion-08',
// Inline code block
'prose-code:before:content-none prose-code:after:content-none',
+ // Details summary
+ '[&_summary]:cursor-pointer',
// Video
'prose-video:rounded-xl',
From 1d547c5ec2b5d99b9e54915ff2d32353e891c16e Mon Sep 17 00:00:00 2001
From: Gabe Torres <69164745+gabtorre@users.noreply.github.com>
Date: Fri, 26 Jun 2026 14:31:42 -0700
Subject: [PATCH 120/217] docs: update MCP tool parameter docs (#1795)
- Update MCP tool parameter docs to match current schemas
- Add missing parameters such as count, limit, authors
- Clarify limits/defaults for several MCP tools
- Fix list_repos docs to remove unsupported cursor pagination
- Tighten spacing inside docs blocks for Parameters: labels
---
docs/api/mcp/index.mdx | 34 ++++++++++++++++++++++++----------
src/components/Prose.tsx | 4 +++-
2 files changed, 27 insertions(+), 11 deletions(-)
diff --git a/docs/api/mcp/index.mdx b/docs/api/mcp/index.mdx
index bceca0033..463cc67a9 100644
--- a/docs/api/mcp/index.mdx
+++ b/docs/api/mcp/index.mdx
@@ -209,7 +209,8 @@ The MCP server provides these tools for code exploration and analysis:
**Use cases:** Reading specific files, examining code sections, reviewing different versions
- File size limit is 128KB. Use line ranges for larger files.
+ Files over 128KB return the first 200 lines with a truncation notice. Use
+ `startLine` and `endLine` to read specific sections of larger files.
@@ -225,18 +226,26 @@ The MCP server provides these tools for code exploration and analysis:
- `path` - Directory path (optional, defaults to root)
- `revision` - Branch, tag, or commit hash (optional)
+
+ Results are limited to 1000 entries; narrow `path` to inspect
+ larger directories.
+
+
#### `list_repos`
-Search and list repositories by name patterns with pagination support.
+Search and list repositories by name substring.
**Parameters:**
-- `query` - Search pattern for repository names (required)
-- `limit` - Maximum results per page (optional, default 50)
-- `after`/`before` - Pagination cursors (optional)
+- `query` - Substring to match against repository names (required)
+- `limit` - Maximum repositories to return (optional, default 50, maximum 10000)
+
+
+ Responses include `hasMoreResults` to indicate whether the result set was truncated; refine the query or increase `limit` to return more repositories.
+
@@ -245,7 +254,7 @@ The MCP server provides these tools for code exploration and analysis:
#### `keyword_search`
-Perform exact keyword searches with boolean operators and filters.
+Perform exact keyword code searches.
**Parameters:**
@@ -256,8 +265,9 @@ The MCP server provides these tools for code exploration and analysis:
- `repo:` - limit to specific repositories
- `file:` - search specific file patterns
- `rev:` - search specific revisions
+- `count:` - set the number of returned matches
-**Features:** Boolean AND/OR operators, regex patterns
+**Features:** Boolean AND/OR operators, exact keyword matching
@@ -322,6 +332,7 @@ The MCP server provides these tools for code exploration and analysis:
- `path` - File path containing symbol definition (required)
- `symbol` - Symbol name to find references for (required)
- `revision` - Branch, tag, or commit hash (optional)
+- `limit` - Maximum references to return (optional, default 10)
@@ -341,6 +352,7 @@ The MCP server provides these tools for code exploration and analysis:
- `files` - Filter by file paths (optional)
- `after`/`before` - Date range filters (optional)
- `revisions` - Branches, tags, or ref globs to search (optional)
+- `count` - Number of results to return (optional, default 50, maximum 100)
@@ -358,6 +370,7 @@ The MCP server provides these tools for code exploration and analysis:
- `authors` - Filter by authors (optional)
- `after`/`before` - Date range filters (optional)
- `revisions` - Branches, tags, or ref globs to search (optional)
+- `count` - Maximum results to return (optional, default 20, maximum 50)
@@ -371,7 +384,7 @@ The MCP server provides these tools for code exploration and analysis:
- `repo` - Repository name (required)
- `base` - Base revision (older version) (required)
- `head` - Head revision (newer version) (required)
-- `first` - Maximum file diffs to return (optional, default 50)
+- `first` - Maximum file diffs to return (optional, default 50, maximum 100)
- `after` - Pagination cursor (optional)
@@ -383,8 +396,8 @@ The MCP server provides these tools for code exploration and analysis:
**Parameters:**
-- `author` - Author name or email (required)
-- `limit` - Maximum repositories to return (optional, default 20)
+- `authors` - Author names or email addresses (required, maximum 5)
+- `limit` - Maximum repositories to return (optional, default 20, maximum 100)
- `minCommits` - Minimum commits required (optional, default 1)
@@ -399,6 +412,7 @@ The MCP server provides these tools for code exploration and analysis:
endpoint. This is a temporary measure available in 7.0 and will be replaced
by a proper tool allowlist in a future release.
+
#### `deepsearch`
diff --git a/src/components/Prose.tsx b/src/components/Prose.tsx
index eeba543a0..3f1b8eef6 100644
--- a/src/components/Prose.tsx
+++ b/src/components/Prose.tsx
@@ -34,8 +34,10 @@ export function Prose({
'prose-strong:text-vermilion-08 dark:prose-strong:text-vermilion-08',
// Inline code block
'prose-code:before:content-none prose-code:after:content-none',
- // Details summary
+ // Details blocks
'[&_summary]:cursor-pointer',
+ // Tighten the first paragraph under
+ '[&_details>p:first-of-type]:mt-2',
// Video
'prose-video:rounded-xl',
From 546355b3b96f81b2ab11420c0f852d60d814af25 Mon Sep 17 00:00:00 2001
From: Eugenio Sanchez
Date: Mon, 29 Jun 2026 10:07:07 -0700
Subject: [PATCH 121/217] docs: clarify AWS PrivateLink firewall requirements
(#1796)
Clarifies that AWS PrivateLink setup requires the network path behind
the VPC endpoint service to allow inbound traffic from
Sourcegraph-provided source CIDR ranges.
Adds an FAQ for cases where the VPC endpoint is accepted and available,
but Sourcegraph requests still time out because backend firewall, NLB,
security group, or NACL rules block traffic.
---
docs/cloud/private-connectivity-aws.mdx | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/docs/cloud/private-connectivity-aws.mdx b/docs/cloud/private-connectivity-aws.mdx
index f6bcc097b..fe8531729 100644
--- a/docs/cloud/private-connectivity-aws.mdx
+++ b/docs/cloud/private-connectivity-aws.mdx
@@ -37,6 +37,8 @@ When a customer has private resources inside the AWS VPC and needs to expose it
Sourcegraph will provide the Sourcegraph-managed AWS account ARN that needs to be allowlisted in your VPC endpoint service, e.g., `arn:aws:iam::$accountId:root`. It must be allowlisted by customer before the connection can be established. Note: The AWS account is created exclusively for individual Cloud customers and not shared with others.
+In addition to allowlisting the Sourcegraph-managed AWS account ARN on the VPC endpoint service, ensure that the network path behind the endpoint service allows inbound traffic from the Sourcegraph-provided source CIDR ranges to the private resource.
+
The customer needs to share the following details with Sourcegraph:
- VPC endpoint service name in the format of `com.amazonaws.vpce..`.
@@ -72,6 +74,12 @@ Advantages of the site-to-site GCP to AWS VPN include:
The customer has full control over the exposed service and they may terminate the connection at any point.
+### The VPC endpoint is available, but Sourcegraph cannot reach the private resource. What should I check?
+
+If the endpoint connection is accepted and available but requests from Sourcegraph time out, verify that the private resource allows traffic from the Sourcegraph-provided source CIDR ranges. Check the Network Load Balancer listener, target security groups, network ACLs, and any host or application firewalls for the relevant port, usually `443`.
+
+DNS and endpoint health can be correct even when backend firewall rules block the traffic.
+
### What are the next steps when artifact registry connectivity is working?
Only if the private artifact registry is protected by authentication, the customer will need to:
From df30816f4364aa809ce6814e47aaaa8182bde1fc Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Tue, 30 Jun 2026 07:51:19 -0700
Subject: [PATCH 122/217] abc: initial docs (#1798)
Starting point!
Closes
https://linear.app/sourcegraph/issue/EPD2-158/bca-product-documentation
---
docs/agentic-batch-changes/index.mdx | 75 ++++++++++++++++++++++++++++
src/data/navigation.ts | 4 ++
2 files changed, 79 insertions(+)
create mode 100644 docs/agentic-batch-changes/index.mdx
diff --git a/docs/agentic-batch-changes/index.mdx b/docs/agentic-batch-changes/index.mdx
new file mode 100644
index 000000000..4c7e1041b
--- /dev/null
+++ b/docs/agentic-batch-changes/index.mdx
@@ -0,0 +1,75 @@
+---
+seoPriority: 1.0
+---
+
+# Agentic Batch Changes
+
+[Agentic Batch Changes](http://sourcegraph.com/agentic-batch-changes) lets you describe a change in plain language: then, the agent scopes it, applies it across every repo, and tracks it through to merge.
+
+
+ Agentic Batch Changes is currently a [Beta feature](/beta-and-experimental).
+ The Beta is currently only available upon request: **[schedule a
+ demo](https://sourcegraph.com/contact) or reach out to your account manager
+ to get started.**
+
+
+Agentic Batch Changes is built on top of [Batch Changes](/batch-changes), our precision tool for applying code changes at scale. Paired with [Deep Search](/deep-search), our code understanding agent, these two tools form the foundation of an agent harness specialised for operating across your entire codebase: from thousands of repositories, to the largest monorepos.
+
+
+
+## Getting started
+
+Agentic Batch Changes is currently a [Beta feature](/beta-and-experimental). The Beta is currently only available upon request: **[schedule a demo](https://sourcegraph.com/contact) or reach out to your account manager to get started.**
+
+Once Agentic Batch Changes is enabled, you can find it in the Sourcegraph navigation bar.
+
+### Setup
+
+Before creating an Agentic Batch Change, make sure your Sourcegraph instance can access the repositories and publish changes back to your code host:
+
+- [Configure code host connections](/admin/code-hosts) for the repositories you want the agent to search and modify.
+- [Configure Batch Changes credentials](/batch-changes/configuring-credentials) for each code host where the agent should publish pull requests or merge requests.
+- [Deploy Sourcegraph executors](/self-hosted/executors/deploy-executors) so Agentic Batch Changes can run code-modification jobs in isolated workspaces. Executors are available with no additional setup on [Sourcegraph Cloud](/cloud).
+
+### Prompting
+
+Each Agentic Batch Change starts with a prompt. Like any agent, specificity and a clear success criteria can dramatically improve results. The agent works particularly well with detailed migration plans, which you can upload for the agent to consume. However, you can also start with some fairly simple requests to see how the agent responds:
+
+- "Generate documentation for these repositories to describe the purpose of the repository."
+- "Generate `AGENTS.md` guidance for these repositories to help coding agents."
+- "Identify usage of primitive wrapper constructors in Java projects, like `new Boolean(true)`, and replace them with the recommended `.valueOf()` factory method `Boolean.valueOf(true)`."
+- "In our Go 1.16+ code, remove `ioutil` imports, replacing them with the appropriate modern methods in packages like `io` and `os`."
+- "Find repositories affected by CVE-2025-55182. Prioritize repositories that have execution paths to vulnerable code. If the application’s React code does not use a server, it is not affected by this vulnerability. If the app does not use a framework, bundler, or bundler plugin that supports React Server Components, the app is not affected by this vulnerability."
+
+### Customisation
+
+Most organisations will also have specific conventions, technologies, and preferences. The agent may discover some of these conventions in its research, but you can also improve performance by customising the agent with skills and `AGENTS.md`-style guidance, available on a per-user, per-organisation, or global level in settings:
+
+- **Users → Settings → Batch Changes → Agent**
+- **Administration → Batch Changes → Agent**
+
+## Administration
+
+Most Batch Changes configurations still apply in Agentic Batch Changes, unless otherwise listed before. To learn more about Batch Changes configuration options, refer to [Site Admin Configuration for Batch Changes](/batch-changes/site-admin-configuration).
+
+### Access control
+
+Access to Agentic Batch Changes can be managed through [role-based access control](/admin/access-control). Users will need both of:
+
+- Batch Changes permissions `Batch Changes: Read` or `Batch Changes: Write`
+- Agentic Batch Changes permissions `Batch Changes: Agent Read` or `Batch Changes: Agent Write`
+
+## Security
+
+Agentic Batch Changes uses the same security model as Batch Changes, with additional safeguards for agent-generated work:
+
+- [Repository permissions](/admin/permissions/) are enforced when users view, create, update, or publish changes, so users can only act on repositories they are allowed to access.
+- [Batch Changes credentials](/batch-changes/configuring-credentials) control which code host identity publishes pull requests or merge requests.
+- Code host protections, including CI checks, branch protections, and review requirements, continue to apply to pull requests or merge requests created by Agentic Batch Changes.
+- [Executors](/admin/executors/) run code-modification jobs in isolated workspaces. Executors do not access code host credentials directly.
+- [Executor secrets](/admin/executors/executor-secrets) are scoped by user, organisation, or globally, and are redacted in logs. Agentic Batch Changes will ask you for approval on any agent-generated actions that reference your secrets before those actions run.
diff --git a/src/data/navigation.ts b/src/data/navigation.ts
index e11e2e540..5f9486c96 100644
--- a/src/data/navigation.ts
+++ b/src/data/navigation.ts
@@ -270,6 +270,10 @@ export const navigation: NavigationItem[] = [
{
separator: 'Code management',
topics: [
+ {
+ title: 'Agentic Batch Changes',
+ href: '/agentic-batch-changes'
+ },
{
title: 'Batch Changes',
href: '/batch-changes',
From 21b8905b3c603fa1c4fa81a22aae378eef80730e Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Tue, 30 Jun 2026 15:43:01 -0700
Subject: [PATCH 123/217] abc: capability docs (#1799)
---
docs/agentic-batch-changes/index.mdx | 49 +++++++++++++++++++++++++---
1 file changed, 44 insertions(+), 5 deletions(-)
diff --git a/docs/agentic-batch-changes/index.mdx b/docs/agentic-batch-changes/index.mdx
index 4c7e1041b..ef6084f06 100644
--- a/docs/agentic-batch-changes/index.mdx
+++ b/docs/agentic-batch-changes/index.mdx
@@ -13,7 +13,7 @@ seoPriority: 1.0
to get started.**
-Agentic Batch Changes is built on top of [Batch Changes](/batch-changes), our precision tool for applying code changes at scale. Paired with [Deep Search](/deep-search), our code understanding agent, these two tools form the foundation of an agent harness specialised for operating across your entire codebase: from thousands of repositories, to the largest monorepos.
+Agentic Batch Changes is built on top of [Batch Changes](/batch-changes), our precision tool for applying code changes at scale. Paired with [Deep Search](/deep-search), our code understanding agent, these two tools form the foundation of an agent harness specialized for operating across your entire codebase: from thousands of repositories, to the largest monorepos.
@@ -15875,7 +16045,7 @@ max(rate(src_repo_perms_syncer_schedule_repos_total[1m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101400` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -15897,7 +16067,7 @@ sum(increase(src_gitserver_client_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101201` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101401` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -15919,7 +16089,7 @@ sum by (le)(rate(src_gitserver_client_duration_seconds_bucket{job=~"^worker.*"}
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101202` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101402` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -15941,7 +16111,7 @@ sum(increase(src_gitserver_client_errors_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101203` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101403` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -15963,7 +16133,7 @@ sum(increase(src_gitserver_client_errors_total{job=~"^worker.*"}[5m])) / (sum(in
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101410` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -15985,7 +16155,7 @@ sum by (op,scope)(increase(src_gitserver_client_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101411` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16007,7 +16177,7 @@ histogram_quantile(0.99, sum by (le,op,scope)(rate(src_gitserver_client_duratio
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101412` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16029,7 +16199,7 @@ sum by (op,scope)(increase(src_gitserver_client_errors_total{job=~"^worker.*"}[5
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101213` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101413` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16053,7 +16223,7 @@ sum by (op,scope)(increase(src_gitserver_client_errors_total{job=~"^worker.*"}[5
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101300` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101500` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16075,7 +16245,7 @@ sum(increase(src_gitserver_repositoryservice_client_total{job=~"^worker.*"}[5m])
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101301` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101501` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16097,7 +16267,7 @@ sum by (le)(rate(src_gitserver_repositoryservice_client_duration_seconds_bucket
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101302` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101502` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16119,7 +16289,7 @@ sum(increase(src_gitserver_repositoryservice_client_errors_total{job=~"^worker.*
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101303` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101503` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16141,7 +16311,7 @@ sum(increase(src_gitserver_repositoryservice_client_errors_total{job=~"^worker.*
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101310` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101510` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16163,7 +16333,7 @@ sum by (op,scope)(increase(src_gitserver_repositoryservice_client_total{job=~"^w
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101311` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101511` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16185,7 +16355,7 @@ histogram_quantile(0.99, sum by (le,op,scope)(rate(src_gitserver_repositoryserv
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101312` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101512` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16207,7 +16377,7 @@ sum by (op,scope)(increase(src_gitserver_repositoryservice_client_errors_total{j
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101313` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101513` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16231,7 +16401,7 @@ sum by (op,scope)(increase(src_gitserver_repositoryservice_client_errors_total{j
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101400` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101600` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16253,7 +16423,7 @@ sum(increase(src_batches_dbstore_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101401` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101601` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16275,7 +16445,7 @@ sum by (le)(rate(src_batches_dbstore_duration_seconds_bucket{job=~"^worker.*"}[
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101402` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101602` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16297,7 +16467,7 @@ sum(increase(src_batches_dbstore_errors_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101403` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101603` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16319,7 +16489,7 @@ sum(increase(src_batches_dbstore_errors_total{job=~"^worker.*"}[5m])) / (sum(inc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101410` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101610` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16341,7 +16511,7 @@ sum by (op)(increase(src_batches_dbstore_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101411` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101611` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16363,7 +16533,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_batches_dbstore_duration_secon
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101412` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101612` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16385,7 +16555,7 @@ sum by (op)(increase(src_batches_dbstore_errors_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101413` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101613` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16409,7 +16579,7 @@ sum by (op)(increase(src_batches_dbstore_errors_total{job=~"^worker.*"}[5m])) /
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101500` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101700` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16431,7 +16601,7 @@ sum(increase(src_batches_service_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101501` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101701` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16453,7 +16623,7 @@ sum by (le)(rate(src_batches_service_duration_seconds_bucket{job=~"^worker.*"}[
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101502` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101702` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16475,7 +16645,7 @@ sum(increase(src_batches_service_errors_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101503` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101703` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16497,7 +16667,7 @@ sum(increase(src_batches_service_errors_total{job=~"^worker.*"}[5m])) / (sum(inc
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101510` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101710` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16519,7 +16689,7 @@ sum by (op)(increase(src_batches_service_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101511` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101711` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16541,7 +16711,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_batches_service_duration_secon
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101512` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101712` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16563,7 +16733,7 @@ sum by (op)(increase(src_batches_service_errors_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101513` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101713` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16587,7 +16757,7 @@ sum by (op)(increase(src_batches_service_errors_total{job=~"^worker.*"}[5m])) /
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101600` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101800` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16609,7 +16779,7 @@ sum(src_query_runner_worker_processor_handlers{job=~"^worker.*"})
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101610` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101810` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16631,7 +16801,7 @@ sum(increase(src_query_runner_worker_processor_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101611` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101811` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16653,7 +16823,7 @@ sum by (le)(rate(src_query_runner_worker_processor_duration_seconds_bucket{job=
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101612` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101812` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16675,7 +16845,7 @@ sum(increase(src_query_runner_worker_processor_errors_total{job=~"^worker.*"}[5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101613` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101813` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16699,7 +16869,7 @@ sum(increase(src_query_runner_worker_processor_errors_total{job=~"^worker.*"}[5m
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101700` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101900` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16721,7 +16891,7 @@ sum(increase(src_workerutil_dbworker_store_total{domain='insights_query_runner_j
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101701` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101901` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16743,7 +16913,7 @@ sum by (le)(rate(src_workerutil_dbworker_store_duration_seconds_bucket{domain='
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101702` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101902` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16765,7 +16935,7 @@ sum(increase(src_workerutil_dbworker_store_errors_total{domain='insights_query_r
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101703` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101903` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16787,7 +16957,7 @@ sum(increase(src_workerutil_dbworker_store_errors_total{domain='insights_query_r
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101710` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101910` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16809,7 +16979,7 @@ sum by (op)(increase(src_workerutil_dbworker_store_total{domain='insights_query_
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101711` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101911` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16831,7 +17001,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_workerutil_dbworker_store_dura
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101712` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101912` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16853,7 +17023,7 @@ sum by (op)(increase(src_workerutil_dbworker_store_errors_total{domain='insights
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101713` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101913` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -16880,7 +17050,7 @@ A value of 0 indicates the routine isn`t running currently, it awaits it`s next
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101800` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102000` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -16905,7 +17075,7 @@ A low or zero value could indicate that a routine is stalled or encountering err
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101801` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102001` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -16930,7 +17100,7 @@ A sustained high error rate may indicate a problem with the routine`s configurat
Refer to the [alerts reference](alerts#worker-goroutine_error_rate) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101810` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102010` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16955,7 +17125,7 @@ A value above 5% indicates that a significant portion of routine executions are
Refer to the [alerts reference](alerts#worker-goroutine_error_percentage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101811` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102011` on your Sourcegraph instance.
*Managed by the Sourcegraph Services team.*
@@ -16980,7 +17150,7 @@ Longer durations might indicate increased load or processing time.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101820` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102020` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17005,7 +17175,7 @@ This represents how long a complete loop iteration takes before sleeping for the
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101821` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102021` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17030,7 +17200,7 @@ Higher values indicate that tenant processing is taking longer and may affect ov
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101830` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102030` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17055,7 +17225,7 @@ Consistently high values might indicate problematic tenants or inefficient proce
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101831` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102031` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17080,7 +17250,7 @@ Unexpected changes can indicate tenant configuration issues or scaling events.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101840` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102040` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17105,7 +17275,7 @@ A healthy routine should maintain a consistent processing rate.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101841` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102041` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17130,7 +17300,7 @@ Consistent errors indicate problems with specific tenants.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101850` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102050` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17155,7 +17325,7 @@ Values above 5% indicate significant tenant processing problems.
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101851` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102051` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17179,7 +17349,7 @@ Query:
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101900` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102100` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17201,7 +17371,7 @@ sum by (app_name, db_name) (src_pgsql_conns_max_open{app_name="worker"})
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101901` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102101` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17223,7 +17393,7 @@ sum by (app_name, db_name) (src_pgsql_conns_open{app_name="worker"})
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101910` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102110` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17245,7 +17415,7 @@ sum by (app_name, db_name) (src_pgsql_conns_in_use{app_name="worker"})
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101911` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102111` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17267,7 +17437,7 @@ sum by (app_name, db_name) (src_pgsql_conns_idle{app_name="worker"})
Refer to the [alerts reference](alerts#worker-mean_blocked_seconds_per_conn_request) for 2 alerts related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101920` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102120` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17289,7 +17459,7 @@ sum by (app_name, db_name) (increase(src_pgsql_conns_blocked_seconds{app_name="w
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101930` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102130` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17311,7 +17481,7 @@ sum by (app_name, db_name) (increase(src_pgsql_conns_closed_max_idle{app_name="w
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101931` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102131` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17333,7 +17503,7 @@ sum by (app_name, db_name) (increase(src_pgsql_conns_closed_max_lifetime{app_nam
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=101932` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102132` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -17357,7 +17527,7 @@ sum by (app_name, db_name) (increase(src_pgsql_conns_closed_max_idle_time{app_na
Refer to the [alerts reference](alerts#worker-cpu_usage_percentage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102000` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102200` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17381,7 +17551,7 @@ An estimate for the active memory in use, which includes anonymous memory, file
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102001` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102201` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17405,7 +17575,7 @@ An estimate for the active memory in use in bytes, which includes anonymous memo
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102002` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102202` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17429,7 +17599,7 @@ The total anonymous memory in use by the application, which includes Go stack an
Refer to the [alerts reference](alerts#worker-memory_rss) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102010` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102210` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17453,7 +17623,7 @@ This metric shows the total active file-backed memory currently in use by the ap
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102011` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102211` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17477,7 +17647,7 @@ The kernel usage metric shows the amount of memory used by the kernel on behalf
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102012` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102212` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17511,7 +17681,7 @@ value change independent of deployment events (such as an upgrade), it could ind
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102100` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102300` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17533,7 +17703,7 @@ count by(name) ((time() - container_last_seen{name=~"^worker.*"}) > 60)
Refer to the [alerts reference](alerts#worker-container_cpu_usage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102101` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102301` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17555,7 +17725,7 @@ cadvisor_container_cpu_usage_percentage_total{name=~"^worker.*"}
Refer to the [alerts reference](alerts#worker-container_memory_usage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102102` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102302` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17580,7 +17750,7 @@ When extremely high, this can indicate a resource usage problem, or can cause pr
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102103` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102303` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17604,7 +17774,7 @@ sum by(name) (rate(container_fs_reads_total{name=~"^worker.*"}[1h]) + rate(conta
Refer to the [alerts reference](alerts#worker-provisioning_container_cpu_usage_long_term) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102200` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102400` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17626,7 +17796,7 @@ quantile_over_time(0.9, cadvisor_container_cpu_usage_percentage_total{name=~"^wo
Refer to the [alerts reference](alerts#worker-provisioning_container_memory_usage_long_term) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102201` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102401` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17648,7 +17818,7 @@ max_over_time(cadvisor_container_memory_usage_percentage_total{name=~"^worker.*"
Refer to the [alerts reference](alerts#worker-provisioning_container_cpu_usage_short_term) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102210` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102410` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17670,7 +17840,7 @@ max_over_time(cadvisor_container_cpu_usage_percentage_total{name=~"^worker.*"}[5
Refer to the [alerts reference](alerts#worker-provisioning_container_memory_usage_short_term) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102211` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102411` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17695,7 +17865,7 @@ When it occurs frequently, it is an indicator of underprovisioning.
Refer to the [alerts reference](alerts#worker-container_oomkill_events_total) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102212` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102412` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17721,7 +17891,7 @@ A high value here indicates a possible goroutine leak.
Refer to the [alerts reference](alerts#worker-go_goroutines) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102300` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102500` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17743,7 +17913,7 @@ max by(instance) (go_goroutines{job=~".*worker"})
Refer to the [alerts reference](alerts#worker-go_gc_duration_seconds) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102301` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102501` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17767,7 +17937,7 @@ max by(instance) (go_gc_duration_seconds{job=~".*worker"})
Refer to the [alerts reference](alerts#worker-pods_available_percentage) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102400` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102600` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17791,7 +17961,7 @@ sum by(app) (up{app=~".*worker"}) / count by (app) (up{app=~".*worker"}) * 100
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102500` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102700` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17813,7 +17983,7 @@ sum(increase(src_workerutil_dbworker_store_total{domain='own_background_worker_s
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102501` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102701` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17835,7 +18005,7 @@ sum by (le)(rate(src_workerutil_dbworker_store_duration_seconds_bucket{domain='
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102502` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102702` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17857,7 +18027,7 @@ sum(increase(src_workerutil_dbworker_store_errors_total{domain='own_background_w
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102503` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102703` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17879,7 +18049,7 @@ sum(increase(src_workerutil_dbworker_store_errors_total{domain='own_background_w
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102510` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102710` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17901,7 +18071,7 @@ sum by (op)(increase(src_workerutil_dbworker_store_total{domain='own_background_
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102511` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102711` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17923,7 +18093,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_workerutil_dbworker_store_dura
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102512` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102712` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17945,7 +18115,7 @@ sum by (op)(increase(src_workerutil_dbworker_store_errors_total{domain='own_back
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102513` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102713` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -17969,7 +18139,7 @@ sum by (op)(increase(src_workerutil_dbworker_store_errors_total{domain='own_back
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102600` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102800` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -17991,7 +18161,7 @@ sum(src_own_background_worker_processor_handlers{job=~"^worker.*"})
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102610` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102810` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -18013,7 +18183,7 @@ sum(increase(src_own_background_worker_processor_total{job=~"^worker.*"}[5m]))
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102611` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102811` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -18035,7 +18205,7 @@ sum by (le)(rate(src_own_background_worker_processor_duration_seconds_bucket{jo
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102612` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102812` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -18057,7 +18227,7 @@ sum(increase(src_own_background_worker_processor_errors_total{job=~"^worker.*"}[
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102613` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102813` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Plane team.*
@@ -18081,7 +18251,7 @@ sum(increase(src_own_background_worker_processor_errors_total{job=~"^worker.*"}[
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102700` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102900` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -18103,7 +18273,7 @@ sum by (op)(increase(src_own_background_index_scheduler_total{job=~"^worker.*"}[
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102701` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102901` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -18125,7 +18295,7 @@ histogram_quantile(0.99, sum by (le,op)(rate(src_own_background_index_scheduler
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102702` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102902` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -18147,7 +18317,7 @@ sum by (op)(increase(src_own_background_index_scheduler_errors_total{job=~"^work
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102703` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102903` on your Sourcegraph instance.
*Managed by the Sourcegraph Code Understanding team.*
@@ -18173,7 +18343,7 @@ The duration since the configuration client used by the "worker" service last su
This panel has no related alerts.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102800` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=103000` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -18195,7 +18365,7 @@ src_conf_client_time_since_last_successful_update_seconds{job=~`^worker.*`,insta
Refer to the [alerts reference](alerts#worker-worker_site_configuration_duration_since_last_successful_update_by_instance) for 1 alert related to this panel.
-To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=102801` on your Sourcegraph instance.
+To see this panel, visit `/-/debug/grafana/d/worker/worker?viewPanel=103001` on your Sourcegraph instance.
*Managed by the Sourcegraph Platform team.*
@@ -34879,7 +35049,7 @@ To see this panel, visit `/-/debug/grafana/d/deepsearch/deepsearch?viewPanel=100
Query:
```
-sum(rate(src_deepsearch_question_processing_errors_total{operation="question"}[5m])) / (sum(rate(src_deepsearch_question_processing_total{operation="question"}[5m])) > 0) * 100
+sum(increase(src_deepsearch_question_processing_errors_total{operation="question"}[5m])) / (sum(increase(src_deepsearch_question_processing_total{operation="question"}[5m])) + sum(increase(src_deepsearch_question_processing_errors_total{operation="question"}[5m]))) * 100
```
@@ -35129,6 +35299,698 @@ sum(increase(src_deepsearch_question_outcome_total{outcome="token_limit_exceeded
+## Batch Change Agents
+
+
Background processing for batch change agents: the message and wake workers, their queues and resetters, and the event streams that drive live UI updates.
+
+To see this dashboard, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents` on your Sourcegraph instance.
+
+### Batch Change Agents: Message worker
+
+#### batch-change-agents: batch_change_agent_message_active_handlers
+
+
Active message handlers
+
+Number of batch change agent messages being processed concurrently. Each worker is configured for up to 100 concurrent handlers; sustained values near that ceiling mean new messages are waiting for a free slot.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100000` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(src_batch_change_agent_message_handlers)
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_processing_rate
+
+
Messages processed per minute
+
+Rate of successfully processed batch change agent messages. A message is one turn of the agent loop for a user; this counts only successful completions (failures appear in the error rate panel).
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100001` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_batch_change_agent_message_total{op="Handle"}[5m])) * 60
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_p95_duration
+
+
95th percentile message processing duration
+
+95th percentile end-to-end time to process a message (the full agent loop, including all LLM requests). The histogram buckets span 1s to 1h; values pinned at the top bucket mean messages are running longer than an hour.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100010` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum(rate(src_batch_change_agent_message_duration_seconds_bucket{op="Handle"}[15m])) by (le))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_p50_duration
+
+
50th percentile message processing duration
+
+Median end-to-end time to process a message. Useful for spotting a shift in typical agent-loop latency that the error rate would not reveal.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100011` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.50, sum(rate(src_batch_change_agent_message_duration_seconds_bucket{op="Handle"}[15m])) by (le))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_error_rate
+
+
Message processing error rate over 5m
+
+Percentage of message handler invocations that ended in an error. The alert is gated on at least 5 attempts in the window so it stays quiet during idle periods.
+
+Refer to the [alerts reference](alerts#batch-change-agents-batch_change_agent_message_error_rate) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100020` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_batch_change_agent_message_errors_total{op="Handle"}[5m])) / (sum(increase(src_batch_change_agent_message_total{op="Handle"}[5m])) + sum(increase(src_batch_change_agent_message_errors_total{op="Handle"}[5m]))) * 100
+```
+
+
+
+
+### Batch Change Agents: Queue backlog
+
+#### batch-change-agents: batch_change_agent_message_queue_depth
+
+
Messages waiting in the queue
+
+Number of batch change agent messages enqueued but not yet picked up by a handler. Sustained growth means messages are arriving faster than the 100-handler pool can process them.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100100` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+max(src_workerutil_queue_depth{domain="batch_change_agent_message_worker"})
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_queue_wait
+
+
Oldest queued message wait time
+
+How long the oldest queued message has been waiting for a handler. Zero when the queue is empty.
+
+Refer to the [alerts reference](alerts#batch-change-agents-batch_change_agent_message_queue_wait) for 2 alerts related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100101` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+max(src_workerutil_queue_duration_seconds{domain="batch_change_agent_message_worker"})
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_wake_queue_depth
+
+
Wake jobs waiting in the queue
+
+Number of wake jobs enqueued but not yet processed. These enqueue a message for the message worker, so a backlog here delays idle threads from re-activating.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100110` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+max(src_workerutil_queue_depth{domain="batch_change_agent_wake_worker"})
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_wake_queue_wait
+
+
Oldest queued wake job wait time
+
+How long the oldest queued wake job has been waiting for a handler. Zero when the queue is empty.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100111` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+max(src_workerutil_queue_duration_seconds{domain="batch_change_agent_wake_worker"})
+```
+
+
+
+
+### Batch Change Agents: Tool calls
+
+#### batch-change-agents: batch_change_agent_tool_call_rate
+
+
Tool calls per minute by tool
+
+Rate of successful tool invocations within the agent loop, broken down by tool name (e.g. prepare_batch_spec, run_workspaces, deepsearch). A tool is counted here once it completes without error; failures appear in the error rate panel. Tools called inside subagents (e.g. the read-only workspace tools the analyze_workspaces subagent runs) are counted here too. This is the per-tool view of what the agent loop spends its turns doing.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100200` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (tool) (rate(src_batch_change_agent_tool_total[5m])) * 60
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_tool_error_rate
+
+
Tool error rate over 5m by tool
+
+Percentage of invocations per tool that returned an error to the agent loop. A consistently hot tool usually points at a flaky downstream integration it wraps (gitserver, the batch-spec executor, deep search) rather than the agent itself; the model often recovers by retrying, so this complements rather than duplicates the message worker error rate.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100201` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (tool) (increase(src_batch_change_agent_tool_errors_total[5m])) / (sum by (tool) (increase(src_batch_change_agent_tool_total[5m])) + sum by (tool) (increase(src_batch_change_agent_tool_errors_total[5m]))) * 100
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_tool_p95_duration
+
+
95th percentile tool call duration by tool
+
+95th percentile execution time per tool. This is the per-tool breakdown of where time in the agent loop goes; long-running tools (deepsearch, wait_for_changesets, wait_for_workspaces) are expected to dominate, while batch-spec and filesystem tools should stay fast. A subagent tool`s duration (e.g. analyze_workspaces) overlaps the inner tool calls it makes, which are also recorded here, so durations should not be summed into a single total.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100202` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, tool) (rate(src_batch_change_agent_tool_duration_seconds_bucket[5m])))
+```
+
+
+
+
+### Batch Change Agents: Wake worker
+
+#### batch-change-agents: batch_change_agent_wake_active_handlers
+
+
Active wake handlers
+
+Number of wake jobs being processed concurrently. The wake worker only resolves an agent and enqueues a wake message (the LLM work happens in the message worker), so it runs a small pool of 3 handlers.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100300` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(src_batch_change_agent_wake_handlers)
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_wake_processing_rate
+
+
Wake jobs processed per minute
+
+Rate of successfully processed wake jobs that re-activate idle threads with unread inbox items.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100301` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_batch_change_agent_wake_total{op="Handle"}[5m])) * 60
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_wake_p95_duration
+
+
95th percentile wake processing duration
+
+95th percentile time to process a wake job. Wake jobs are a few quick DB operations, so this should stay well under a second.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100302` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum(rate(src_batch_change_agent_wake_duration_seconds_bucket{op="Handle"}[5m])) by (le))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_wake_error_rate
+
+
Wake processing error rate over 5m
+
+Percentage of wake handler invocations that ended in an error. Wake failures are retried and rarely user-visible, but a sustained nonzero rate means threads are not being re-activated when new inbox items arrive.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100310` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(increase(src_batch_change_agent_wake_errors_total{op="Handle"}[5m])) / (sum(increase(src_batch_change_agent_wake_total{op="Handle"}[5m])) + sum(increase(src_batch_change_agent_wake_errors_total{op="Handle"}[5m]))) * 100
+```
+
+
+
+
+### Batch Change Agents: Job queue stores
+
+#### batch-change-agents: batch_change_agent_store_operation_rate
+
+
Worker store operations per second by queue
+
+Rate of successful worker store operations (dequeue, mark-complete, etc.) for the batch change agent message and wake queues.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100400` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (domain) (rate(src_workerutil_dbworker_store_total{domain=~"^batch_change_agent.*_worker_store$"}[5m]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_store_error_rate
+
+
Worker store error rate over 5m by queue
+
+Percentage of worker store operations that errored, per queue. A sustained nonzero rate usually points at database problems (contention, connection exhaustion, or migration drift) rather than the agent logic itself.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100401` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (domain) (increase(src_workerutil_dbworker_store_errors_total{domain=~"^batch_change_agent.*_worker_store$"}[5m])) / (sum by (domain) (increase(src_workerutil_dbworker_store_total{domain=~"^batch_change_agent.*_worker_store$"}[5m])) + sum by (domain) (increase(src_workerutil_dbworker_store_errors_total{domain=~"^batch_change_agent.*_worker_store$"}[5m]))) * 100
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_store_p95_duration
+
+
95th percentile worker store operation duration by queue
+
+95th percentile duration of worker store operations, per queue. Elevated values indicate database latency affecting how quickly jobs are dequeued and finalized.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100402` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, domain) (rate(src_workerutil_dbworker_store_duration_seconds_bucket{domain=~"^batch_change_agent.*_worker_store$"}[5m])))
+```
+
+
+
+
+### Batch Change Agents: Stalled job resetters
+
+#### batch-change-agents: batch_change_agent_records_reset
+
+
Stalled jobs reset to queued over 1h by queue
+
+Number of stalled batch change agent jobs that the resetter moved back to the queued state, per queue.
+
+Refer to the [alerts reference](alerts#batch-change-agents-batch_change_agent_records_reset) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100500` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (domain) (increase(src_dbworker_resetter_record_resets_total{domain=~"^batch_change_agent_.*_resetter$"}[1h]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_record_reset_failures
+
+
Stalled jobs marked failed over 1h by queue
+
+Number of stalled jobs that exhausted their retries and were marked as failed, per queue. A nonzero value means some agent messages or wakes were permanently dropped after repeated crashes.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100501` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (domain) (increase(src_dbworker_resetter_record_reset_failures_total{domain=~"^batch_change_agent_.*_resetter$"}[1h]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_stall_duration
+
+
95th percentile job stall duration before reset
+
+95th percentile time jobs spent stalled before the resetter recovered them, per queue.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100502` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+histogram_quantile(0.95, sum by (le, domain) (rate(src_dbworker_resetter_stall_duration_seconds_bucket{domain=~"^batch_change_agent_.*_resetter$"}[1h])))
+```
+
+
+
+
+### Batch Change Agents: Event streams (Redis pub/sub)
+
+#### batch-change-agents: batch_change_agent_message_stream_publish_rate
+
+
Message stream events published per second by type
+
+Rate of per-message stream events (turn deltas, tool calls, completion, etc.) successfully published to Redis for live delivery to connected clients.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100600` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (event_type) (rate(src_batch_change_agents_stream_publish_success_total[5m]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_stream_publish_errors
+
+
Message stream publish errors per second
+
+Rate of per-message stream events that could not be published to Redis after retries.
+
+Refer to the [alerts reference](alerts#batch-change-agents-batch_change_agent_message_stream_publish_errors) for 1 alert related to this panel.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100601` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_batch_change_agents_stream_publish_errors_total[5m]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_message_stream_transport_errors
+
+
Message stream transport errors per second
+
+Rate of Redis subscription transport errors (a subscription died mid-stream). Subscribers reconnect, but clients may briefly stop receiving live updates when this is elevated.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100602` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_batch_change_agents_stream_transport_errors_total[5m]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_thread_stream_publish_rate
+
+
Thread stream events published per second by type
+
+Rate of thread-level stream events (new message created, title updated) successfully published to Redis. These prompt clients to refetch the thread.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100610` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum by (event_type) (rate(src_batch_change_agents_thread_stream_publish_success_total[5m]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_thread_stream_publish_errors
+
+
Thread stream publish errors per second
+
+Rate of thread-level stream events that could not be published to Redis after retries. Clients recover thread state on their next refetch.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100611` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_batch_change_agents_thread_stream_publish_errors_total[5m]))
+```
+
+
+
+
+#### batch-change-agents: batch_change_agent_thread_stream_transport_errors
+
+
Thread stream transport errors per second
+
+Rate of Redis subscription transport errors on the thread-level stream.
+
+This panel has no related alerts.
+
+To see this panel, visit `/-/debug/grafana/d/batch-change-agents/batch-change-agents?viewPanel=100612` on your Sourcegraph instance.
+
+*Managed by the Sourcegraph Code Plane team.*
+
+
+Technical details
+
+Query:
+
+```
+sum(rate(src_batch_change_agents_thread_stream_transport_errors_total[5m]))
+```
+
+
+
+
## Sourcegraph external API
Monitoring for the Sourcegraph external API.
From f47bf45916838dc8afef20c848d36c9ab5e819e2 Mon Sep 17 00:00:00 2001
From: Enrique Gonzalez
Date: Thu, 2 Jul 2026 16:20:23 -0700
Subject: [PATCH 128/217] Add docs version publishing skill (#1774)
## Summary
- Add a repo-specific Amp skill for the Sourcegraph docs release-version
workflow
- Document how to cut legacy branches, update version metadata, push to
legacy, and open origin PRs
- Include the 7.x branch naming convention and recent cut-point examples
## Test plan
- Not run (documentation/skill instructions only)
---
.../skills/publishing-docs-versions/SKILL.md | 130 ++++++++++++++++++
1 file changed, 130 insertions(+)
create mode 100644 .agents/skills/publishing-docs-versions/SKILL.md
diff --git a/.agents/skills/publishing-docs-versions/SKILL.md b/.agents/skills/publishing-docs-versions/SKILL.md
new file mode 100644
index 000000000..6dbd3abb9
--- /dev/null
+++ b/.agents/skills/publishing-docs-versions/SKILL.md
@@ -0,0 +1,130 @@
+---
+name: publishing-docs-versions
+description: "Archives Sourcegraph docs release branches and updates latest-version metadata. Use when a new Sourcegraph docs version is released, when creating docs legacy branches, or when updating DOCS_LATEST_VERSION and previous-version lists."
+---
+
+# Publishing Sourcegraph Docs Versions
+
+Use this skill for the Sourcegraph docs repo release-version workflow: cutting legacy branches in the `legacy` remote and updating `origin` so the newest version becomes `latest`.
+
+## Repository conventions
+
+- Remotes:
+ - `origin` = `sourcegraph/docs`
+ - `legacy` = `sourcegraph/docs-legacy-versions`
+- 7.x legacy branches use underscores: `v7_0`, `v7_1`, `v7_2`, etc.
+- Legacy branches are pushed directly to the `legacy` remote.
+- `origin/main` is protected; direct pushes are rejected. Make a branch on `origin` and open a PR.
+- The files that control latest/previous versions are:
+ - `docs.config.js`
+ - `src/data/versions.ts`
+ - `docs/legacy.mdx`
+
+## Standard workflow for a new release
+
+For a new release `X.Y`:
+
+1. Archive the previous docs version `P.Q` in the `legacy` remote.
+2. Ensure the legacy branch’s own config says it is version `P.Q` and lists older versions only.
+3. Update `origin` so `X.Y` is latest and `P.Q` appears as a previous version.
+
+Example: when 7.4 is released, archive 7.3 as `legacy/v7_3`, then update `origin` with `DOCS_LATEST_VERSION: '7.4'` and add 7.3 to previous-version lists.
+
+## Finding the cut point for a legacy branch
+
+Always inspect history instead of guessing:
+
+```bash
+git fetch --all --prune
+git log --date=short --pretty=format:'%h %ad %s' origin/main --since='' --until='' --reverse
+git for-each-ref refs/remotes/legacy --format='%(refname:short) %(objectname:short) %(committerdate:short) %(subject)' | sort -V | tail -50
+```
+
+Pick the commit the user considers the correct snapshot for the previous version. If the user gives a release date but not a commit, use the repo’s existing pattern:
+
+- Choose a hand-picked `origin/main` commit near the release cut.
+- Prefer the last relevant docs commit on the release date when obvious.
+- If no version-bump commit exists yet and the user wants the just-current docs archived, use the current `origin/main` tip.
+
+For reference, recent historical decisions:
+
+- `legacy/v7_0` was cut from `a5d80e5e` and then got empty no-op marker commits.
+- `legacy/v7_1` was cut from `6b8ae421` for the Apr 24 release-date snapshot.
+- `legacy/v7_2` was cut from `fccceac6`, then updated with a version metadata commit.
+
+## Creating and pushing the legacy branch
+
+Create the branch from the selected cut commit, add an empty marker commit, and push to `legacy`:
+
+```bash
+git switch --detach
+git switch -c vX_Y
+git commit --allow-empty -m "Branch for docs version X.Y"
+git push -u legacy vX_Y
+```
+
+Then update the legacy branch so it identifies itself as `X.Y` and lists only older versions.
+
+For `v7_3`, for example:
+
+- `docs.config.js`: `DOCS_LATEST_VERSION: '7.3'`
+- `src/data/versions.ts`: first entry remains `latest`; previous entries should include `v7.2`, `v7.1`, `v7.0`, then 6.x.
+- `docs/legacy.mdx`: `Sourcegraph 7.X` should include `7.2`, `7.1`, `7.0` (not 7.3 itself).
+
+Commit and push:
+
+```bash
+git add docs.config.js src/data/versions.ts docs/legacy.mdx
+git commit -m "Update docs latest version to X.Y"
+git push legacy vX_Y
+```
+
+## Updating origin for the newly released version
+
+Work on a branch from `origin/main`:
+
+```bash
+git switch main
+git pull --ff-only origin main
+git switch -c eg-update-docs-to-X-Y
+```
+
+Apply the same version metadata pattern, but for the new latest version.
+
+For `7.4`, for example:
+
+- `docs.config.js`: `DOCS_LATEST_VERSION: '7.4'`
+- `src/data/versions.ts`: add previous versions in descending order: `v7.3`, `v7.2`, `v7.1`, `v7.0`, then 6.x.
+- `docs/legacy.mdx`: add/update `Sourcegraph 7.X` with `7.3`, `7.2`, `7.1`, `7.0`.
+
+Commit, push the branch, and open a PR:
+
+```bash
+git add docs.config.js src/data/versions.ts docs/legacy.mdx
+git commit -m "Update docs latest version to X.Y"
+git push -u origin eg-update-docs-to-X-Y
+gh pr create --base main --head eg-update-docs-to-X-Y --title "Update docs latest version to X.Y" --body "## Summary
+- Set DOCS_LATEST_VERSION to X.Y
+- Add previous 7.x versions to the version selector
+- Update the legacy versions page
+
+## Test plan
+- Not run (config/navigation content change only)"
+```
+
+## Verification
+
+Use lightweight verification for this content/config change:
+
+```bash
+git diff -- docs.config.js src/data/versions.ts docs/legacy.mdx
+git status --short --branch
+git ls-remote --heads legacy 'v7_*'
+```
+
+Confirm:
+
+- The legacy branch points to the pushed commit.
+- The legacy branch lists only older previous versions.
+- The origin PR branch sets the new latest version and includes the archived version in previous-version lists.
+- Return the local workspace to clean `main` unless the user asked to stay on a release branch.
From 2a79ffefc64c57c8f13a7d58c5c42a2e8ff01ccf Mon Sep 17 00:00:00 2001
From: Robert Lin
Date: Mon, 6 Jul 2026 03:08:04 -0700
Subject: [PATCH 129/217] docs/agentic-batch-changes: link to Batch Changes
configuration (#1802)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Adds a note that Batch Changes configuration options like rollout
windows and commit signing also apply to Agentic Batch Changes, with a
cross-link between the "Batch Changes capabilities" and "Administration"
sections. The Administration paragraph now links to the [Batch Changes
configuration reference](/admin/config/batch-changes) (which actually
documents those options) instead of the lighter overview page.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context)
---
docs/agentic-batch-changes/index.mdx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/agentic-batch-changes/index.mdx b/docs/agentic-batch-changes/index.mdx
index ef6084f06..2333cfa78 100644
--- a/docs/agentic-batch-changes/index.mdx
+++ b/docs/agentic-batch-changes/index.mdx
@@ -88,9 +88,11 @@ All [batch changes capabilities](/batch-changes/batch-spec-yaml-reference) are a
For example, the agent can write conditional steps, template changeset titles and descriptions, and split changes in one repository into multiple changesets.
+Administration options like rollout windows and commit signing also carry over. See [Administration](#administration) for details.
+
## Administration
-Most Batch Changes configurations still apply in Agentic Batch Changes, unless otherwise listed before. To learn more about Batch Changes configuration options, refer to [Site Admin Configuration for Batch Changes](/batch-changes/site-admin-configuration).
+Most Batch Changes configuration options, such as rollout windows and commit signing, still apply in Agentic Batch Changes unless otherwise noted. To learn more, refer to [Batch Changes configuration](/admin/config/batch-changes).
### Access control
From 09cf74134e09b5e1a2fcf19188b189944dd41600 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Mon, 6 Jul 2026 09:18:43 -0700
Subject: [PATCH 130/217] fix: typos and dead link in native k8s executor docs
(#1805)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
closes PLAT-744
- Fix typo: 'steam' → 'stream' in RBAC table
- Fix typo: 'namesapce' → 'namespace' in deployment steps
- Replace dead-end 'local development YAMLs' reference with link to Helm
chart values.yaml
This is a very minor fixup.
As part of this PR I tested the k8s-native executors connection docs to
validate this local install works and the charts are working as
expected. See
https://linear.app/sourcegraph/issue/PLAT-744/native-kubernetes#comment-4e7a7676
Co-authored-by: Amp
---
docs/self-hosted/executors/deploy-executors-kubernetes.mdx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/self-hosted/executors/deploy-executors-kubernetes.mdx b/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
index 8f735c084..51e3bdaa4 100644
--- a/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
+++ b/docs/self-hosted/executors/deploy-executors-kubernetes.mdx
@@ -15,7 +15,7 @@ Executors interact with the Kubernetes API to manage the lifecycle of individual
| API Groups | Resources | Verbs | Reason |
| ---------- | ------------------ | ---------------------- | ----------------------------------------------------------------------------------------- |
| `batch` | `jobs` | `create`, `delete` | Executors create Job pods to run processes. Once Jobs are completed, they are cleaned up. |
-| | `pods`, `pods/log` | `get`, `list`, `watch` | Executors need to look up and steam logs from the Job Pods. |
+| | `pods`, `pods/log` | `get`, `list`, `watch` | Executors need to look up and stream logs from the Job Pods. |
Here's an example Role YAML to demonstrate the RBAC requirements for native Kubernetes Executors:
@@ -75,7 +75,7 @@ Native Kubernetes Executors can be deployed via either the `sourcegraph-executor
1. `EXECUTOR_FRONTEND_URL` should match the URL of your Sourcegraph instance
2. `EXECUTOR_FRONTEND_PASSWORD` should match the `executors.accessToken` key in the Sourcegraph instance's site configuration
3. Either `EXECUTOR_QUEUE_NAMES` or `EXECUTOR_QUEUE_NAME` should be set depending on whether the Executor will process batch change or precise auto indexing jobs
- 4. `EXECUTOR_KUBERNETES_NAMESPACE` should be set to the Kubernetes namespace where you intend to run the worker pods. This should generally match the namesapce where you deploy the Executor resources in the next step.
+ 4. `EXECUTOR_KUBERNETES_NAMESPACE` should be set to the Kubernetes namespace where you intend to run the worker pods. This should generally match the namespace where you deploy the Executor resources in the next step.
Additional environment variables may need to be configured for your
@@ -141,4 +141,4 @@ The Executor Docker image is available on Docker Hub at [`sourcegraph/executor-k
### Example Configuration YAML
-See the local development YAMLs for an example of how to configure the Executor in Kubernetes.
+For an example of how to configure the Executor in Kubernetes, see the [`sourcegraph-executor-k8s` Helm chart values reference](https://github.com/sourcegraph/deploy-sourcegraph-helm/blob/main/charts/sourcegraph-executor/k8s/values.yaml).
From f584b3cec64ad2186112e3c906913a428afb2707 Mon Sep 17 00:00:00 2001
From: sourcegraph-buildkite
<71296199+sourcegraph-buildkite@users.noreply.github.com>
Date: Mon, 6 Jul 2026 17:10:18 -0400
Subject: [PATCH 131/217] =?UTF-8?q?=F0=9F=A4=96=20Sync=20generated=20docs?=
=?UTF-8?q?=20from=20sourcegraph/sourcegraph=20(#1803)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/code-hosts/azuredevops.mdx | 2 +-
docs/admin/code-hosts/bitbucket-cloud.mdx | 2 +-
docs/admin/code-hosts/bitbucket-server.mdx | 2 +-
docs/admin/code-hosts/gerrit.mdx | 2 +-
docs/admin/code-hosts/github.mdx | 2 +-
docs/admin/code-hosts/gitlab.mdx | 2 +-
docs/admin/code-hosts/gitolite.mdx | 2 +-
docs/admin/code-hosts/other.mdx | 2 +-
docs/admin/code-hosts/phabricator.mdx | 2 +-
docs/admin/config/settings.mdx | 2 +-
docs/admin/config/site-config.mdx | 24 +++++++++++-----------
docs/admin/repo/perforce.mdx | 2 +-
13 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index d6c91f799..76a08b430 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -37,7 +37,7 @@ AWS CodeCommit connections support the following configuration options, which ar
{/* SCHEMA_SYNC_START: admin/code_hosts/aws_codecommit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// REQUIRED:
diff --git a/docs/admin/code-hosts/azuredevops.mdx b/docs/admin/code-hosts/azuredevops.mdx
index 6a9662dd5..08fa385e6 100644
--- a/docs/admin/code-hosts/azuredevops.mdx
+++ b/docs/admin/code-hosts/azuredevops.mdx
@@ -69,7 +69,7 @@ Azure DevOps connections support the following configuration options, which are
{/* SCHEMA_SYNC_START: admin/code_hosts/azuredevops.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
// Authentication alternatives: token OR windowsPassword
diff --git a/docs/admin/code-hosts/bitbucket-cloud.mdx b/docs/admin/code-hosts/bitbucket-cloud.mdx
index 27dec327d..3db5e7671 100644
--- a/docs/admin/code-hosts/bitbucket-cloud.mdx
+++ b/docs/admin/code-hosts/bitbucket-cloud.mdx
@@ -116,7 +116,7 @@ Bitbucket Cloud connections support the following configuration options, which a
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_cloud.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// The workspace access token to use when authenticating with Bitbucket Cloud.
diff --git a/docs/admin/code-hosts/bitbucket-server.mdx b/docs/admin/code-hosts/bitbucket-server.mdx
index 8b98779dc..75f36152d 100644
--- a/docs/admin/code-hosts/bitbucket-server.mdx
+++ b/docs/admin/code-hosts/bitbucket-server.mdx
@@ -202,7 +202,7 @@ Bitbucket Server / Bitbucket Data Center connections support the following confi
{/* SCHEMA_SYNC_START: admin/code_hosts/bitbucket_server.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
// Authentication alternatives: token OR password
diff --git a/docs/admin/code-hosts/gerrit.mdx b/docs/admin/code-hosts/gerrit.mdx
index eea88448a..819bb290e 100644
--- a/docs/admin/code-hosts/gerrit.mdx
+++ b/docs/admin/code-hosts/gerrit.mdx
@@ -113,7 +113,7 @@ Gerrit connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/gerrit.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// If non-null, enforces Gerrit repository permissions. This requires that there is an item in the [site configuration json](https://sourcegraph.com/docs/admin/config/site_config#auth-providers) `auth.providers` field, of type "gerrit" with the same `url` field as specified in this `GerritConnection`.
diff --git a/docs/admin/code-hosts/github.mdx b/docs/admin/code-hosts/github.mdx
index dc5922663..a5e4029c8 100644
--- a/docs/admin/code-hosts/github.mdx
+++ b/docs/admin/code-hosts/github.mdx
@@ -454,7 +454,7 @@ GitHub connections support the following configuration options, which are specif
{/* SCHEMA_SYNC_START: admin/code_hosts/github.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
// Authentication alternatives: token OR gitHubAppDetails OR externalAccount OR useRandomExternalAccount
diff --git a/docs/admin/code-hosts/gitlab.mdx b/docs/admin/code-hosts/gitlab.mdx
index d4599f0b1..b39ef4318 100644
--- a/docs/admin/code-hosts/gitlab.mdx
+++ b/docs/admin/code-hosts/gitlab.mdx
@@ -189,7 +189,7 @@ See [Internal rate limits](/admin/code-hosts/rate-limits#internal-rate-limits).
{/* SCHEMA_SYNC_START: admin/code_hosts/gitlab.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// If non-null, enforces GitLab repository permissions. This requires that there be an item in the `auth.providers` field of type "gitlab" with the same `url` field as specified in this `GitLabConnection`.
diff --git a/docs/admin/code-hosts/gitolite.mdx b/docs/admin/code-hosts/gitolite.mdx
index 0bbb0c988..f674b45d7 100644
--- a/docs/admin/code-hosts/gitolite.mdx
+++ b/docs/admin/code-hosts/gitolite.mdx
@@ -25,7 +25,7 @@ To connect Gitolite to Sourcegraph:
{/* SCHEMA_SYNC_START: admin/code_hosts/gitolite.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// A list of repositories to never mirror from this Gitolite instance. Supports excluding by exact name ({"name": "foo"}).
diff --git a/docs/admin/code-hosts/other.mdx b/docs/admin/code-hosts/other.mdx
index d378e61fe..9a40ed537 100644
--- a/docs/admin/code-hosts/other.mdx
+++ b/docs/admin/code-hosts/other.mdx
@@ -68,7 +68,7 @@ Repositories must be listed individually:
{/* SCHEMA_SYNC_START: admin/code_hosts/other_external_service.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// A list of repositories to never mirror by name after applying repositoryPathPattern. Supports excluding by exact name ({"name": "myrepo"}) or regular expression ({"pattern": ".*secret.*"}).
diff --git a/docs/admin/code-hosts/phabricator.mdx b/docs/admin/code-hosts/phabricator.mdx
index e0b4edac8..2746adfd5 100644
--- a/docs/admin/code-hosts/phabricator.mdx
+++ b/docs/admin/code-hosts/phabricator.mdx
@@ -76,7 +76,7 @@ The Sourcegraph instance's site admin must [update the `corsOrigin` site config
{/* SCHEMA_SYNC_START: admin/code_hosts/phabricator.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// SSH cipher to use when cloning via SSH. Must be a valid choice from `ssh -Q cipher`.
diff --git a/docs/admin/config/settings.mdx b/docs/admin/config/settings.mdx
index 8b81d43ae..203b785ec 100644
--- a/docs/admin/config/settings.mdx
+++ b/docs/admin/config/settings.mdx
@@ -27,7 +27,7 @@ Settings options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/settings.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
diff --git a/docs/admin/config/site-config.mdx b/docs/admin/config/site-config.mdx
index 6e91ff046..797c8b649 100644
--- a/docs/admin/config/site-config.mdx
+++ b/docs/admin/config/site-config.mdx
@@ -21,7 +21,7 @@ All site configuration options and their default values are shown below.
{/* SCHEMA_SYNC_START: admin/config/site.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
@@ -51,6 +51,9 @@ All site configuration options and their default values are shown below.
// Automatically delete branches created for Batch Changes changesets when the changeset is merged or closed, for supported code hosts. Overrides any setting on the repository on the code host itself.
"batchChanges.autoDeleteBranch": false,
+ // Enables/disables buildImage steps for Agentic Batch Changes. When unset, buildImage steps are enabled on Sourcegraph Cloud and disabled otherwise.
+ "batchChanges.buildImage.enabled": false,
+
// How long changesets will be retained after they have been detached from a batch change.
// Other example values:
// - "336h"
@@ -297,19 +300,15 @@ All site configuration options and their default values are shown below.
"deepSearch.showCodyWeb": false,
"enableGithubInternalRepoVisibility": false,
"enablePermissionsWebhooks": false,
- "enableStorm": false,
"eventLogging": "enabled",
"gitServerPinnedRepos": null,
- "goPackages": "disabled",
"homepage": null,
"insightsAlternateLoadingStrategy": false,
"insightsBackfillerV2": true,
"insightsDataRetention": true,
- "jvmPackages": "disabled",
"languageDetection": {
"graphQL": "useFileContents"
},
- "npmPackages": "disabled",
"pagure": "disabled",
"passwordPolicy": {
"enabled": true,
@@ -319,7 +318,6 @@ All site configuration options and their default values are shown below.
"requireUpperandLowerCase": true
},
"perforceChangelistMapping": "enabled",
- "pythonPackages": "disabled",
"ranking": {
"flushWallTimeMS": 500,
"maxQueueMatchCount": -1,
@@ -329,8 +327,6 @@ All site configuration options and their default values are shown below.
"repoScores": {}
},
"rateLimitAnonymous": 500,
- "rubyPackages": "disabled",
- "rustPackages": "disabled",
"scipBasedAPIs": true,
"search.index.branches": null,
"search.index.query.contexts": false,
@@ -479,16 +475,20 @@ All site configuration options and their default values are shown below.
// The maximum number of outbound requests to retain. This is a global limit across all outbound requests. If the limit is exceeded, older items will be deleted. If the limit is 0, no outbound requests are logged.
"outboundRequestLogLimit": 50,
- // The max number of concurrent Own jobs that will run per worker node.
+ // ⚠️ DEPRECATED: DEPRECATED: This setting has no effect.
+ // DEPRECATED: This setting has no effect.
"own.background.repoIndexConcurrencyLimit": 5,
- // The maximum per second burst of repositories for Own jobs per worker node. Generally this value should not be less than the max concurrency.
+ // ⚠️ DEPRECATED: DEPRECATED: This setting has no effect.
+ // DEPRECATED: This setting has no effect.
"own.background.repoIndexRateBurstLimit": 5,
- // The maximum per second rate of repositories for Own jobs per worker node.
+ // ⚠️ DEPRECATED: DEPRECATED: This setting has no effect.
+ // DEPRECATED: This setting has no effect.
"own.background.repoIndexRateLimit": 20,
- // The Own service will attempt to match a Team by the last part of its handle if it contains a slash and no match is found for its full handle.
+ // ⚠️ DEPRECATED: DEPRECATED: This setting has no effect.
+ // DEPRECATED: This setting has no effect.
"own.bestEffortTeamMatching": true,
// URL to fetch unreachable repository details from. Defaults to "https://sourcegraph.com"
diff --git a/docs/admin/repo/perforce.mdx b/docs/admin/repo/perforce.mdx
index e786e0c34..de5119380 100644
--- a/docs/admin/repo/perforce.mdx
+++ b/docs/admin/repo/perforce.mdx
@@ -228,7 +228,7 @@ With this setting, Sourcegraph will ignore any rules with a host other than `*`,
{/* SCHEMA_SYNC_START: admin/code_hosts/perforce.schema.json */}
{/* WARNING: This section is auto-generated during releases. Do not edit manually. */}
-{/* Last updated: 2026-07-02T18:22:42Z */}
+{/* Last updated: 2026-07-06T19:37:47Z */}
```json
{
// If non-null, enforces Perforce depot permissions.
From 24a5d380d26fa1209dbcc74cbebfa7bd00d6cfbe Mon Sep 17 00:00:00 2001
From: federubinstein
Date: Tue, 7 Jul 2026 16:00:08 +0200
Subject: [PATCH 132/217] feat/docs: mention coding agent provider
configuration (#1808)
Adds a brief note that site admins can configure coding agent provider
API keys and optional endpoint overrides from the Batch Changes Agents
admin UI.
---
docs/agentic-batch-changes/index.mdx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/agentic-batch-changes/index.mdx b/docs/agentic-batch-changes/index.mdx
index 2333cfa78..31d04ae9e 100644
--- a/docs/agentic-batch-changes/index.mdx
+++ b/docs/agentic-batch-changes/index.mdx
@@ -72,6 +72,8 @@ The coding agent step is a new native step type for Agentic Batch Changes that a
We currently support [Claude Code](https://claude.com/product/claude-code) and [Codex](https://openai.com/codex) as native coding agent steps.
+By default, coding agent LLM traffic is routed through the Sourcegraph Model Provider. Site administrators can configure their own API keys to route traffic directly to Anthropic or OpenAI in **Administration → Batch Changes → Agents**. An optional `endpoint` field can be set for each agent to override the default provider URL.
+
Note that Agentic Batch Changes does not use coding agent steps for every task. For deterministic changes, the agent will opt to write a script - or even an entire program - to efficiently apply some, or all, of the target changes.
### Building images for steps
From 3fcc7fd838fad2b007e7195ee98104c20c3a7c63 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Tue, 7 Jul 2026 15:04:03 -0700
Subject: [PATCH 133/217] remove sourcegraph server (#1807)
closes PLAT-780
Remove docs related to the sunsetted sourcegraph server deployment type
related: https://github.com/sourcegraph/sourcegraph/pull/13858
---
docs/admin/code-hosts/aws-codecommit.mdx | 2 +-
docs/admin/repo/add.mdx | 1 -
docs/admin/repo/git-config.mdx | 1 -
.../deploy/docker-single-container/aws.mdx | 71 ----
.../docker-single-container/digitalocean.mdx | 45 ---
.../docker-single-container/google-cloud.mdx | 53 ---
.../deploy/docker-single-container/index.mdx | 356 ------------------
docs/self-hosted/deploy/index.mdx | 6 -
.../how-to/dirty-database-pre-3-37.mdx | 2 +-
docs/self-hosted/how-to/dirty-database.mdx | 2 +-
docs/self-hosted/observability/logs.mdx | 2 -
docs/self-hosted/observability/metrics.mdx | 3 -
docs/self-hosted/pprof.mdx | 4 -
docs/self-hosted/updates/automatic.mdx | 2 +-
docs/self-hosted/updates/index.mdx | 1 -
src/data/redirects.ts | 34 +-
16 files changed, 21 insertions(+), 564 deletions(-)
delete mode 100644 docs/self-hosted/deploy/docker-single-container/aws.mdx
delete mode 100644 docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
delete mode 100644 docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
delete mode 100644 docs/self-hosted/deploy/docker-single-container/index.mdx
diff --git a/docs/admin/code-hosts/aws-codecommit.mdx b/docs/admin/code-hosts/aws-codecommit.mdx
index 76a08b430..fa2036d07 100644
--- a/docs/admin/code-hosts/aws-codecommit.mdx
+++ b/docs/admin/code-hosts/aws-codecommit.mdx
@@ -136,7 +136,7 @@ To add CodeCommit repositories in Docker Container:
### Mounting SSH keys into the container
-1. Copy all the files at your `$HOME/.ssh directory` to `$HOME/.sourcegraph/config/ssh` directory. See [docs](/self-hosted/deploy/docker-single-container/#ssh-authentication-config-keys-knownhosts) for more information about our ssh file system.
+1. Copy all the files at your `$HOME/.ssh directory` to `$HOME/.sourcegraph/config/ssh` directory.
1. Read our [guide here](/self-hosted/deploy/docker-compose/#git-ssh-configuration) for Docker Compose deployments
1. Read our [guide here](/self-hosted/deploy/kubernetes/configure#ssh-for-cloning) for Kubernetes deployments
1. Start (or restart) the container.
diff --git a/docs/admin/repo/add.mdx b/docs/admin/repo/add.mdx
index 664221081..e0138c8df 100644
--- a/docs/admin/repo/add.mdx
+++ b/docs/admin/repo/add.mdx
@@ -18,7 +18,6 @@ If your repositories are not showing up, check the site admin **Repositories** p
If nothing informative is visible there, check for error messages related to communication with your code host's API in the logs from:
- [Docker Compose](/self-hosted/deploy/docker-compose/) and [Kubernetes](/self-hosted/deploy/kubernetes/): the logs from the `worker` container/pod
-- [Single-container](/self-hosted/deploy/docker-single-container/): the `sourcegraph/server` Docker container
### Repository not cloning or updating
diff --git a/docs/admin/repo/git-config.mdx b/docs/admin/repo/git-config.mdx
index 6f7d1d890..19f070df3 100644
--- a/docs/admin/repo/git-config.mdx
+++ b/docs/admin/repo/git-config.mdx
@@ -6,7 +6,6 @@ This guide documents how to configure git-config. To set up SSH and authenticati
- [Sourcegraph with Docker Compose](/self-hosted/deploy/docker-compose/): See [the Docker Compose git configuration guide](/self-hosted/deploy/docker-compose/#git-configuration).
- [Sourcegraph with Kubernetes](/self-hosted/deploy/kubernetes/): See [Configure repository cloning via SSH](/self-hosted/deploy/kubernetes/configure#ssh-for-cloning).
-- [Single-container Sourcegraph](/self-hosted/deploy/docker-single-container/): See [the single-container git configuration guide](/self-hosted/deploy/docker-single-container/#git-configuration-and-authentication).
## Example: alternate clone URL for repos
diff --git a/docs/self-hosted/deploy/docker-single-container/aws.mdx b/docs/self-hosted/deploy/docker-single-container/aws.mdx
deleted file mode 100644
index a71b748fc..000000000
--- a/docs/self-hosted/deploy/docker-single-container/aws.mdx
+++ /dev/null
@@ -1,71 +0,0 @@
-# Install single-container Sourcegraph with Docker on AWS
-
-The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
-
-This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single EC2 instance on AWS.
-
-> NOTE: We _do not_ recommend using this method for a production instance. If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/aws) for most initial production deployments.
-
----
-
-## Deploy to EC2
-
-- Click **Launch Instance** from your [EC2 dashboard](https://console.aws.amazon.com/ec2/v2/home).
-- Select the Amazon Linux 2 AMI (HVM), SSD Volume Type.
-- Select an appropriate instance size (we recommend `t2.medium` or `t2.large`, depending on team size and number of repositories/languages enabled), then **Next: Configure Instance Details**
-- Ensure the **Auto-assign Public IP** option is "Enable". This ensures your instance is accessible to the Internet.
-- Add the following user data (as text) in the **Advanced Details** section:
-
- ```
- #cloud-config
- repo_update: true
- repo_upgrade: all
-
- runcmd:
- # Create the directory structure for Sourcegraph data
- - mkdir -p /home/ec2-user/.sourcegraph/config
- - mkdir -p /home/ec2-user/.sourcegraph/data
-
- # Install, configure, and enable Docker
- - yum update -y
- - amazon-linux-extras install docker
- - systemctl enable --now --no-block docker
- - sed -i -e 's/1024/10240/g' /etc/sysconfig/docker
- - sed -i -e 's/4096/40960/g' /etc/sysconfig/docker
- - usermod -a -G docker ec2-user
-
- # Install and run Sourcegraph. Restart the container upon subsequent reboots
- - [ sh, -c, 'docker run -d --publish 80:7080 --publish 443:7080 --publish 127.0.0.1:3370:3370 --restart unless-stopped --volume /home/ec2-user/.sourcegraph/config:/etc/sourcegraph --volume /home/ec2-user/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:{CURRENT_VERSION_NO_V}' ]
- ```
-
-- Select **Next: ...** until you get to the **Configure Security Group** page. Then add the following rules:
- - Default **HTTP** rule: port range `80`, source `0.0.0.0/0, ::/0`
- - Default **HTTPS** rule: port range `443`, source `0.0.0.0/0, ::/0`
- - (NOTE: additional work will be required later on to [configure NGINX to support SSL](/self-hosted/http-https-configuration#nginx-ssl-https-configuration))
-- Launch your instance, then navigate to its public IP in your browser. (This can be found by navigating to the instance page on EC2 and looking in the "Description" panel for the "IPv4 Public IP" value.) You may have to wait a minute or two for the instance to finish initializing before Sourcegraph becomes accessible. You can monitor the status by SSHing into the EC2 instance and viewing the logs:
-
- ```
- docker logs $(docker ps | grep sourcegraph/server | awk '{ print $1 }')
- ```
-
-- If you have configured a domain name to point to the IP, configure `externalURL` to reflect that.
-
----
-
-## Update your Sourcegraph version
-
-To update to the most recent version of Sourcegraph (X.Y.Z), SSH into your instance and run the following:
-
-```bash
-docker ps # get the $CONTAINER_ID of the running sourcegraph/server container
-docker rm -f $CONTAINER_ID
-docker run docker run -d --publish 80:7080 --publish 443:7080 --restart unless-stopped --volume /home/ec2-user/.sourcegraph/config:/etc/sourcegraph --volume /home/ec2-user/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:X.Y.Z
-```
-
----
-
-## Using an external database for persistence
-
-The Docker container has its own internal PostgreSQL and Redis databases. To preserve this data when you kill and recreate the container, you can [use external services](/self-hosted/external-services/) for persistence, such as [AWS RDS for PostgreSQL](https://aws.amazon.com/rds/), [Amazon ElastiCache](https://aws.amazon.com/elasticache/redis/), and [S3](https://aws.amazon.com/s3/) for storing user uploads.
-
-> NOTE: Use of external databases requires [Sourcegraph Enterprise](https://about.sourcegraph.com/pricing).
diff --git a/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx b/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
deleted file mode 100644
index 237153b0f..000000000
--- a/docs/self-hosted/deploy/docker-single-container/digitalocean.mdx
+++ /dev/null
@@ -1,45 +0,0 @@
-# Install single-container Sourcegraph with Docker on DigitalOcean
-
-The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
-
-This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single node running on DigitalOcean.
-
-> NOTE: We _do not_ recommend using this method for a production instance. If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/digitalocean) for most initial production deployments.
-
----
-
-## Run Sourcegraph on a Digital Ocean Droplet
-
-1. [Create a new Digital Ocean Droplet](https://cloud.digitalocean.com/droplets/new). Set the
- operating system to be Ubuntu 18.04. For droplet size, we recommend at least 4GB RAM and 2 CPU,
- but you may need more depending on team size and number of repositories. We recommend you set up
- SSH access (Authentication > SSH keys) for convenient access to the droplet.
-1. SSH into the droplet, and install Docker: `snap install docker`
-1. Run the Sourcegraph Docker image as a daemon:
-
- ```
- docker run -d --publish 80:7080 --publish 443:7443 --restart unless-stopped --volume /root/.sourcegraph/config:/etc/sourcegraph --volume /root/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:{CURRENT_VERSION_NO_V}
- ```
-
-1. Navigate to the droplet's IP address to finish initializing Sourcegraph. If you have configured a
- DNS entry for the IP, configure `externalURL` to reflect that.
-
-### After initialization
-
-After initial setup, we recommend you do the following:
-
-- Restrict the accessibility of ports other than `80` and `443` via [Cloud
- Firewalls](https://www.digitalocean.com/docs/networking/firewalls/quickstart/).
-- Set up [TLS/SSL](/self-hosted/http-https-configuration#nginx-ssl-https-configuration) in the NGINX configuration.
-
----
-
-## Update your Sourcegraph version
-
-To update to the most recent version of Sourcegraph (X.Y.Z), SSH into your instance and run the following:
-
-```
-docker ps # get the $CONTAINER_ID of the running sourcegraph/server container
-docker rm -f $CONTAINER_ID
-docker run -d ... sourcegraph/server:X.Y.Z
-```
diff --git a/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx b/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
deleted file mode 100644
index 330d3bb08..000000000
--- a/docs/self-hosted/deploy/docker-single-container/google-cloud.mdx
+++ /dev/null
@@ -1,53 +0,0 @@
-# Install single-container Sourcegraph with Docker on Google Cloud
-
-The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
-
-This tutorial shows you how to deploy [single-container Sourcegraph with Docker](/self-hosted/deploy/docker-single-container/) to a single node running on Google Cloud.
-
-> NOTE: We _do not_ recommend using this method for a production instance. If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/google-cloud) for most initial production deployments.
-
----
-
-## Deploy to Google Cloud VM
-
-- [Open your Google Cloud console](https://console.cloud.google.com/compute/instances) to create a new VM instance and click **Create Instance**
-- Choose an appropriate machine type (we recommend at least 2 vCPU and 7.5 GB RAM, more depending on team size and number of repositories/languages enabled)
-- Choose Ubuntu 16.04 LTS as your boot disk
-- Check the boxes for **Allow HTTP traffic** and **Allow HTTPS traffic** in the **Firewall** section
-- Open the **Management, disks, networking, and SSH keys** dropdown section and add the following in the **Startup script** field:
-
- ```
- #!/usr/bin/env bash
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- sudo apt-get update
- apt-cache policy docker-ce
- sudo apt-get install -y docker-ce
- mkdir -p /root/.sourcegraph/config
- mkdir -p /root/.sourcegraph/data
- docker run -d --publish 80:7080 --publish 443:7443 --restart unless-stopped --volume /root/.sourcegraph/config:/etc/sourcegraph --volume /root/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:{CURRENT_VERSION_NO_V}
- ```
-
-- Create your VM, then navigate to its public IP address.
-
-- If you have configured a DNS entry for the IP, configure `externalURL` to reflect that.
-
----
-
-## Update your Sourcegraph version
-
-To update to the most recent version of Sourcegraph (X.Y.Z), SSH into your instance and run the following:
-
-```
-docker ps # get the $CONTAINER_ID of the running sourcegraph/server container
-docker rm -f $CONTAINER_ID
-docker run -d ... sourcegraph/server:X.Y.Z
-```
-
----
-
-## Using an external database for persistence
-
-The Docker container has its own internal PostgreSQL and Redis databases. To preserve this data when you kill and recreate the container, you can [use external services](/self-hosted/external-services/) for persistence, such as Google Cloud's [Cloud SQL for PostgreSQL](https://cloud.google.com/sql/docs/postgres/), [Cloud Memorystore](https://cloud.google.com/memorystore/), and [Cloud Storage](https://cloud.google.com/storage) for storing user uploads.
-
-> NOTE: Use of external databases requires [Sourcegraph Enterprise](https://about.sourcegraph.com/pricing).
diff --git a/docs/self-hosted/deploy/docker-single-container/index.mdx b/docs/self-hosted/deploy/docker-single-container/index.mdx
deleted file mode 100644
index 64e70058b..000000000
--- a/docs/self-hosted/deploy/docker-single-container/index.mdx
+++ /dev/null
@@ -1,356 +0,0 @@
-# Docker Single Container Deployment
-
-The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. The `sourcegraph/server` Docker image is no longer published starting with 7.0.0. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
-
-The Docker Single Container deployment type is a way to very quickly get an instance of Sourcegraph set up locally to experiment with many of its features. However, it is **not recommended** for a production instance, and **has limitations** depending on the OS you are deploying to, as well as the associated resources. See the [troubleshooting section](#troubleshooting) for additional information.
-
-[Code Insights](/code-insights/) is not supported in Single Container deployments. To try Code Insights you must deploy using [Docker Compose](/self-hosted/deploy/docker-compose/) or [Kubernetes](/self-hosted/deploy/kubernetes/). [Tracing](/self-hosted/observability/tracing) is disabled by default, and if you intend to enable it, you will have to deploy and configure the [OpenTelemetry Collector](/self-hosted/observability/opentelemetry). The Single Container deployment does not ship with this service included. It is strongly recommended to use one of the aforementioned deployment methods if tracing support is a requirement.
-
-## Installation
-
-It takes less than a minute to run and install Sourcegraph using Docker:
-
-```
-docker run
---publish 7080:7080 --publish 127.0.0.1:3370:3370 --rm
---volume ~/.sourcegraph/config:/etc/sourcegraph
---volume ~/.sourcegraph/data:/var/opt/sourcegraph
-sourcegraph/server:{CURRENT_VERSION_NO_V}
-```
-
-Once the server is ready (logo is displayed in the terminal), navigate to the hostname or IP address on port `7080`. Create the admin account, then you'll be guided through setting up Sourcegraph for code searching and navigation.
-
-For next steps and further configuration options, review the high-level configuration items below, or visit the [detailed configuration documentation](/admin/).
-
-> WARNING: **We do not recommend using this method for a production instance.** If deploying a production instance, see [our recommendations](/self-hosted/deploy/) for how to choose a deployment type that suits your needs. We recommend [Docker Compose](/self-hosted/deploy/docker-compose/) for most initial production deployments.
-
-## Configuration
-
-### Configure exposed Sourcegraph port
-
-Change the `docker` `--publish` argument to make it listen on the specific interface and port on your host machine. For example, `docker run ... --publish 0.0.0.0:80:7080 ...` would make it accessible on port 80 of your machine. For more information, see "[Publish or expose port](https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose)" in the Docker documentation.
-
-The other option is to deploy and run Sourcegraph on a cloud provider. For an example, see the [cloud installation section](#cloud-installation-guides).
-
-### Git configuration and authentication
-
-For single-container environments, upon the Sourcegraph Docker image container start, it copies all files from `/etc/sourcegraph/{ssh,gitconfig,netrc}` into its own `$HOME` directory, via the `--volume /mnt/sourcegraph/config:/etc/sourcegraph` in the `docker run` command.
-
-For example, to mount a `.gitconfig`, create a file `/mnt/sourcegraph/config/gitconfig` on your host containing your configuration:
-
-```
-# example .gitconfig
-
-[url "example.url.com:"]
- insteadOf = "ssh://example.url.com"
-```
-
-Alternatively you can create a new Docker image which inherits from Sourcegraph and then mutates the environment:
-
-```dockerfile
-FROM sourcegraph/server:{CURRENT_VERSION_NO_V}
-
-COPY gitconfig /etc/gitconfig
-COPY ssh /root/.ssh
-RUN find /root/.ssh -type f -exec chmod 600 '{}' ';'
-RUN find /root/.ssh -type d -exec chmod 700 '{}' ';'
-```
-
-This approach can also be used for `sourcegraph/gitserver` images in cluster environments.
-
-Learn more about Git [configuration](/admin/repo/git-config) and [authentication](/admin/repo/auth).
-
-#### SSH authentication (config, keys, `known_hosts`)
-
-The container consults its own file system (in the standard locations) for SSH configuration, private keys, and `known_hosts`. Upon container start, it copies all files from `/etc/sourcegraph/ssh` into its own `$HOME/.ssh` directory.
-
-To provide SSH authentication configuration to the container, assuming you're using the default `--volume $HOME/.sourcegraph/config:/etc/sourcegraph`, follow these steps:
-
-1. Create files at `$HOME/.sourcegraph/config/ssh/config`, `$HOME/.sourcegraph/config/ssh/known_hosts`, etc., on the host machine as desired to configure SSH.
-1. Start (or restart) the container.
-
-To configure the container to use the same SSH as your user account on the host machine, you can also run `cp -R $HOME/.ssh $HOME/.sourcegraph/config/ssh`.
-
-#### HTTP(S) authentication via netrc
-
-The easiest way to specify HTTP(S) authentication for repositories is to include the username and password in the clone URL itself, such as `https://user:password@example.com/my/repo`. These credentials won't be displayed to non-admin users.
-
-Otherwise, the container consults the `$HOME/.netrc` files on its own file system for HTTP(S) authentication. The `.netrc` file is a standard way to specify authentication used to connect to external hosts.
-
-To provide HTTP(S) authentication, assuming you're using the default `--volume $HOME/.sourcegraph/config:/etc/sourcegraph`, follow these steps:
-
-1. Create a file at `$HOME/.sourcegraph/config/netrc` on the host machine that contains lines of the form `machine example.com login alice password mypassword` (replacing `example.com`, `alice`, and `mypassword` with the actual values).
-1. Start (or restart) the container.
-
-### Expose debug port
-
-This is required to [collect debug data](/self-hosted/pprof).
-
-The docker run command for single-container Sourcegraph needs an additional publish flag to expose the debug port:
-
-```sh
-$ docker run --publish 7080:7080 --publish 127.0.0.1:3370:3370 --publish 127.0.0.1:6060:6060 --rm --volume ~/.sourcegraph/config:/etc/sourcegraph --volume ~/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:{CURRENT_VERSION_NO_V}
-```
-
-If Sourcegraph is deployed to a remote server, then access via an SSH tunnel using a tool
-such as [sshuttle](https://github.com/sshuttle/sshuttle) is required to establish a secure connection.
-To access the remote server using `sshuttle` from your local machine:
-
-```sh
-$ sshuttle -r user@host 0/0
-```
-
-### Environment variables
-
-Add the following to your docker run command:
-
-```sh
-$ docker run [...]
--e (YOUR CODE)
-sourcegraph/server:{CURRENT_VERSION_NO_V}
-```
-
-## Operation
-
-### Access the database
-
-> NOTE: To execute an SQL query against the database without first creating an interactive session (as below), append `--command "SELECT * FROM users;"` to the `docker container exec` command.
-
-Get the Docker container ID for Sourcegraph:
-
-```sh
-$ docker ps
-CONTAINER ID IMAGE
-d039ec989761 sourcegraph/server:VERSION
-```
-
-Open a PostgreSQL interactive terminal:
-
-```sh
-$ docker container exec -it d039ec989761 psql -U postgres sourcegraph
-```
-
-Run your SQL query:
-
-```sql
-SELECT * FROM users;
-```
-
-## Upgrade
-
-### Postgresql 16
-
-
-The single-container deployment (`sourcegraph/server`) is sunset in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0) and is no longer supported. The automatic PostgreSQL 12 to 16 upgrade procedure described below only applies to Sourcegraph 5.10.x through 6.x releases. Users should migrate to a supported deployment type before upgrading to 7.0.0.
-
-
-> Warning: The 5.11 release updates the database container images from Postgres 12 to Postgres 16. Customers are advised to have a database backup before upgrading! See our [postgres 12 end of life](https://sourcegraph.com/docs/self-hosted/postgres12-end-of-life-notice#postgres-12-end-of-life) notice!
-
-From sourcegraph version 5.11 onwards, the Sourcegraph single container Docker image uses Postgresql 16. Upgrading from Postgresql 12 to Postgresql 16 is a manual process, that is similar to the one outlined below for multi-version upgrades, but migrator has been merged into the container, allowing for a simpler upgrade.
-
-> NOTE: It is highly recommended to **take an up-to-date snapshot of your databases** prior to starting a multi-version upgrade. The upgrade process aggressively mutates the shape and contents of your database, and undiscovered errors in the migration process or unexpected environmental differences may cause an unusable instance or data loss.
->
-> We recommend performing the entire upgrade procedure on an idle clone of the production instance and switch traffic over on success, if possible. This may be low-effort for installations with a canary environment or a blue/green deployment strategy.
->
-> **If you do not feel confident running this process solo**, contact customer support team to help guide you thorough the process.
-
-**Before performing a multi-version upgrade**:
-
-- Read our [update policy](/self-hosted/updates/#update-policy) to learn about Sourcegraph updates.
-- Find the entries that apply to the version range you're passing through in the [update notes for Sourcegraph with Docker Single Container](https://sourcegraph.com/changelog/self-hosted/server).
-
-0. You must first shutdown the container instance via `docker stop [CONTAINER]`.
-1. Start a temporary Postgres container on top of the Postgres data directory used by the old `sourcegraph/server` image. You must use the _new_ postgresql-16-codeinsights image, which is based on the new Postgresql 16 image, and provides an automatic upgrade script to move from Postgresql 12 to Postgresql 16.
-
-`docker run --rm -it -v ~/.sourcegraph/data/postgresql:/data/pgdata-12 -e POSTGRES_USER=postgres -p 5432:5432 sourcegraph/postgresql-16-codeinsights:{CURRENT_VERSION_NO_V}`
-
-2. Once that temporary container marks that Postgresql has started, the migration is complete and you can stop the temporary container.
-3. Start the new `sourcegraph/server` container.
-
-`docker run --publish 7080:7080 --publish 127.0.0.1:3370:3370 --rm --volume ~/.sourcegraph/config:/etc/sourcegraph --volume ~/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:{CURRENT_VERSION_NO_V}`
-
-You now have a single server Sourcegraph container image running on Postgresql 16.
-
-### Standard upgrades
-
-A [standard upgrade](/self-hosted/updates/#standard-upgrades) occurs between two minor versions of Sourcegraph. If you are looking to jump forward several versions, you must perform a [multi-version upgrade](#multi-version-upgrades) instead.
-
-**Before upgrading:**
-
-- Read our [update policy](/self-hosted/updates/#update-policy) to learn about Sourcegraph updates.
-- Find the relevant entry for your update in the [update notes for single-container Sourcegraph with Docker](https://sourcegraph.com/changelog/self-hosted/server).
-
-To update, just use the newer `sourcegraph/server:N.N.N` Docker image (where `N.N.N` is a patch or single minor release away your current version) in place of the older one, using the same Docker volumes. Your server's data will be migrated automatically if needed. You can always find the version number details of the latest release via the [technical changelog](https://sourcegraph.com/changelog/releases).
-
-### Multi-version upgrades
-
-> NOTE: It is no longer necessary to run Migrator outside of the single instance container. Migrator is now built into the container, and will be run via the `sourcegraph/server` image.
->
-> We **still** recommend performing the entire upgrade procedure on an idle clone of the production instance and switch traffic over on success, if possible. This may be low-effort for installations with a canary environment or a blue/green deployment strategy.
->
-> The below docs are kept for posterity for users on older versions of Sourcegraph that are looking to upgrade or run the migrator tool.
-
-To update, just use the newer `sourcegraph/server:N.N.N` Docker image in place of the older one, using the same Docker volumes. Your server's data will be migrated automatically if needed. You can always find the version number details of the latest release via the [technical changelog](https://sourcegraph.com/changelog/releases).
-
-### (Legacy) Multi-version upgrades
-
-A [multi-version upgrade](/self-hosted/updates/#multi-version-upgrades) is a downtime-incurring upgrade from version 3.20 or later to any future version. Multi-version upgrades will run both schema and data migrations to ensure the data available from the instance remains available post-upgrade.
-
-> NOTE: It is highly recommended to **take an up-to-date snapshot of your databases** prior to starting a multi-version upgrade. The upgrade process aggressively mutates the shape and contents of your database, and undiscovered errors in the migration process or unexpected environmental differences may cause an unusable instance or data loss.
->
-> We recommend performing the entire upgrade procedure on an idle clone of the production instance and switch traffic over on success, if possible. This may be low-effort for installations with a canary environment or a blue/green deployment strategy.
->
-> **If you do not feel confident running this process solo**, contact customer support team to help guide you thorough the process.
-
-**Before performing a multi-version upgrade**:
-
-- Read our [update policy](/self-hosted/updates/#update-policy) to learn about Sourcegraph updates.
-- Find the entries that apply to the version range you're passing through in the [update notes for Sourcegraph with Docker Single Container](https://sourcegraph.com/changelog/self-hosted/server).
-
-To perform a multi-version upgrade on a Sourcegraph instance running on Docker Single Container:
-
-1. Stop the running Sourcegraph container via `docker stop [CONTAINER]`.
-1. Start a temporary Postgres container on top of the Postgres data directory used by the old `sourcegraph/server` image. This Postgres instance will be used by the following upgrade migration. If using an [external database](/self-hosted/external-services/postgres), the database is already accessible from the `migrator` so no action is needed. Otherwise, start the new Postgres container by following the steps [described below](#running-temporary-postgres-containers).
-1. Follow the instructions on [how to run the migrator job in Docker](/self-hosted/updates/migrator/migrator-operations#docker-compose) to perform the upgrade migratiohn. For specific documentation on the `upgrade` command, see the [command documentation](/self-hosted/updates/migrator/migrator-operations#upgrade). The following specific steps are an easy way to run the upgrade command:
-
-
-
-```sh
-$ docker run \
- --rm \
- --name migrator_${SG_VERSION} \
- -e PGHOST='pgsql' \
- -e PGPORT='5432' \
- -e PGUSER='sg' \
- -e PGPASSWORD='sg' \
- -e PGDATABASE='sourcegraph' \
- -e PGSSLMODE='disable' \
- -e CODEINTEL_PGHOST='pgsql' \
- -e CODEINTEL_PGPORT='5432' \
- -e CODEINTEL_PGUSER='sg' \
- -e CODEINTEL_PGPASSWORD='sg' \
- -e CODEINTEL_PGDATABASE='sourcegraph-codeintel' \
- -e CODEINTEL_PGSSLMODE='disable' \
- -e CODEINSIGHTS_PGHOST='pgsql' \
- -e CODEINSIGHTS_PGPORT='5432' \
- -e CODEINSIGHTS_PGUSER='postgres' \
- -e CODEINSIGHTS_PGPASSWORD='password' \
- -e CODEINSIGHTS_PGDATABASE='postgres' \
- -e CODEINSIGHTS_PGSSLMODE='disable' \
- -e CODEINTEL_PG_ALLOW_SINGLE_DB=true \
- sourcegraph/migrator:v${SG_VERSION} \
- upgrade --from=${CURRENT_SG_VERSION} --to=${SG_VERSION}
-```
-
-It is recommended to also add the `--dry-run` flag on a trial invocation to detect if there are any issues with database connection, schema drift, or mismatched versions that need to be addressed.
-
-After this container exits successfully, the remaining infrastructure can now be updated. All temporary containers can be stopped, and the Docker invocation for your `sourcegraph/server` container can be updated to use the new target version.
-
-#### Running temporary Postgres containers
-
-Mounting a Postgres container on top of the data directory used by `sourcegraph/server` will allow us to access and migrate the data in-place without having running services interfere.
-
-Let `${PATH}` be the directory mounted into `/var/opt/sourcegraph` of your instance. This mount contains the Postgres data directory inside of the container.
-
-For example, `${PATH}` is `~/.sourcegraph/data` in `-v ~/.sourcegraph/data:/var/opt/sourcegraph`.
-
-```sh
-$ docker run --rm -it \
- -v ${PATH}/postgresql:/data/pgdata-12 \
- -u 70 \
- -p 5432:5432 \
- --entrypoint bash \
- sourcegraph/${PG_VERSION_TAG}:${SG_VERSION} \
- -c 'echo "host all all 0.0.0.0/0 trust" >> /data/pgdata-12/pg_hba.conf && postgres -c l listen_addresses="*" -D /data/pgdata-12'
-```
-
-The version of this Postgres container is dependent on the version of the instance prior to upgrade.
-
-| `${SG_VERSION}` | `${PG_VERSION_TAG}` |
-| ------------------- | ---------------------- |
-| `3.20.X` - `3.29.X` | `postgres-12.6` |
-| `3.30.X` - `3.37.X` | `postgres-12.6-alpine` |
-| `3.38.X` - `5.9.X` | `postgres-12-alpine` |
-| `5.10.X` - `6.x` | `postgresql-16` |
-
-## Troubleshooting
-
-If you get stuck or need help, please reach out to [Sourcegraph support](https://help.sourcegraph.com/hc/en-us/requests/new).
-
-### Mac Computers with Apple silicon
-
-On Mac computers with Apple silicon, you’ll need to add an extra `--platform linux/amd64` argument to your Docker command for correctly running and installing Sourcegraph.
-
-### File system performance on Docker for Mac
-
-There is a [known issue](https://github.com/docker/for-mac/issues/77) in Docker for Mac that causes slower than expected file system performance on volume mounts, which impacts the performance of search and cloning.
-
-To achieve better performance, you can do any of the following:
-
-- For better clone performance, clone the repository on your host machine and then [add it to Sourcegraph Server](/admin/repo/add#add-repositories-already-cloned-to-disk).
-- Try adding the `:delegated` suffix the data volume mount. [Learn more](https://github.com/docker/for-mac/issues/1592).
- ```sh
- --volume ~/.sourcegraph/data:/var/opt/sourcegraph:delegated
- ```
-
-### Testing Sourcegraph on Windows
-
-Sourcegraph can be **tested** on Windows 10 using roughly the same steps provided above, but data will not be retained after server restarts ([this is due to a limitation of Docker on Windows](https://github.com/docker/for-win/issues/39#issuecomment-371942845)).
-
-1. [Install Docker for Windows](https://docs.docker.com/docker-for-windows/install/)
-2. Using a command prompt, follow the same [installation steps provided above](#install-sourcegraph-with-docker) but remove the `--volume` arguments. For example by pasting this:
-
-
-
-### Low resource environments
-
-To test Sourcegraph in a low resource environment you may want to disable some of the observability tools (Prometheus and Grafana).
-
-Add `-e DISABLE_OBSERVABILITY=true` to your docker run command.
-
-### Starting in Postgres restore mode
-
-In order to restore a Postgres backup, you need to start on an empty database and prevent all other Sourcegraph services from starting.
-You can do this by adding `-e PGRESTORE=true` to your `docker run` command. This will start only the Postgres system and allow you to perform a restore. Once it is done, remove that parameter from your docker command.
-
-The database is only accessible from within the container. To perform a restore you will need to copy the required files to the container and then execute the restore commands from within the container using `docker exec`.
-
-You can find examples of this procedure for `docker-compose` in our [docker-compose migration docs](/self-hosted/deploy/docker-compose/migrate).
-
-### Special instructions for RHEL, Fedora, CentOS and others
-
-If you run Docker on an OS such as RHEL, Fedora, or CentOS with SELinux enabled, sVirt doesn't allow the Docker process to access `~/.sourcegraph/config` and `~/.sourcegraph/data`. In that case, you will see the following message:
-
-`Failed to setup nginx:failed to generate nginx configuration to /etc/sourcegraph: open /etc/sourcegraph/nginx.conf: permission denied`.
-
-To fix this, run:
-
-`mkdir -p ~/.sourcegraph/config ~/.sourcegraph/data && chcon -R -t svirt_sandbox_file_t ~/.sourcegraph/config ~/.sourcegraph/data`
-
-## Reference
-
-### Cloud installation guides
-
-Cloud specific Sourcegraph installation guides for AWS, Google Cloud and Digital Ocean.
-
-- [Install Sourcegraph with Docker on AWS](/self-hosted/deploy/docker-single-container/aws)
-- [Install Sourcegraph with Docker on Google Cloud](/self-hosted/deploy/docker-single-container/google-cloud)
-- [Install Sourcegraph with Docker on DigitalOcean](/self-hosted/deploy/docker-single-container/digitalocean)
-
-### Insiders build
-
-To test new development builds of Sourcegraph (triggered by commits to `main`), change the tag to `insiders` in the `docker run` command.
-
-> WARNING: `insiders` builds may be unstable, so back up Sourcegraph's data and config (usually `~/.sourcegraph`) beforehand.
-
-```sh
-$ docker run --publish 7080:7080 --rm --volume ~/.sourcegraph/config:/etc/sourcegraph --volume ~/.sourcegraph/data:/var/opt/sourcegraph sourcegraph/server:insiders
-```
-
-To keep this up to date, run `docker pull sourcegraph/server:insiders` to pull in the latest image, and restart the container to access new changes.
diff --git a/docs/self-hosted/deploy/index.mdx b/docs/self-hosted/deploy/index.mdx
index d0c2d78b7..c2bcc9b2b 100644
--- a/docs/self-hosted/deploy/index.mdx
+++ b/docs/self-hosted/deploy/index.mdx
@@ -108,12 +108,6 @@ See [Sourcegraph Machine Images](/self-hosted/deploy/machine-images) for more in
to maintain and manage your own infrastructure.
-### Single-container (removed in 7.0.0)
-
-The single-container (`sourcegraph/server`) deployment mode has been **removed in [Sourcegraph 7.0.0](https://sourcegraph.com/changelog/releases/7.0)**. Customers must [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/) before upgrading to 7.0.0.
-
-- [Docker Single Container](/self-hosted/deploy/docker-single-container/) - Install Sourcegraph using a single Docker container
-
### ARM / ARM64 support
Running Sourcegraph on ARM / ARM64 images is not supported for production deployments at this time.
diff --git a/docs/self-hosted/how-to/dirty-database-pre-3-37.mdx b/docs/self-hosted/how-to/dirty-database-pre-3-37.mdx
index 9e521e658..5774629d3 100644
--- a/docs/self-hosted/how-to/dirty-database-pre-3-37.mdx
+++ b/docs/self-hosted/how-to/dirty-database-pre-3-37.mdx
@@ -17,7 +17,7 @@ Resolving this error requires discovering which migration file failed to run, an
- This document assumes that you are installing Sourcegraph or were attempting an upgrade when an error occurred.
- **NOTE: If you encountered this error during an upgrade, ensure you followed the [proper step upgrade process documented here.](/self-hosted/updates) If you skipped a minor version during an upgrade, you will need to revert back to the last minor version your instance was on before following the steps in this document.**
-The following procedure requires that you are able to execute commands from inside the database container. Learn more about shelling into [kubernetes](/self-hosted/deploy/kubernetes/operations#access-the-database), [docker-compose](/self-hosted/deploy/docker-compose/operations#access-the-database), and [Sourcegraph single-container](/self-hosted/deploy/docker-single-container/#access-the-database) instances at these links.
+The following procedure requires that you are able to execute commands from inside the database container. Learn more about shelling into [kubernetes](/self-hosted/deploy/kubernetes/operations#access-the-database) and [docker-compose](/self-hosted/deploy/docker-compose/operations#access-the-database) instances at these links.
## TL;DR Steps to resolve
diff --git a/docs/self-hosted/how-to/dirty-database.mdx b/docs/self-hosted/how-to/dirty-database.mdx
index b5dfecf2f..b7d5b9194 100644
--- a/docs/self-hosted/how-to/dirty-database.mdx
+++ b/docs/self-hosted/how-to/dirty-database.mdx
@@ -25,7 +25,7 @@ The target schema is marked as dirty and no other migration operation is seen ru
- This document assumes that you are installing Sourcegraph or were attempting an upgrade when an error occurred.
- **NOTE: If you encountered this error during an upgrade, ensure you followed the [proper step upgrade process documented here.](/self-hosted/updates) If you skipped a minor version during an upgrade, you will need to revert back to the last minor version your instance was on before following the steps in this document.**
-The following procedure requires that you are able to execute commands from inside the database container. Learn more about shelling into [kubernetes](/self-hosted/deploy/kubernetes/operations#access-the-database), [docker-compose](/self-hosted/deploy/docker-compose/#access-the-database), and [Sourcegraph single-container](/self-hosted/deploy/docker-single-container/#access-the-database) instances at these links.
+The following procedure requires that you are able to execute commands from inside the database container. Learn more about shelling into [kubernetes](/self-hosted/deploy/kubernetes/operations#access-the-database) and [docker-compose](/self-hosted/deploy/docker-compose/#access-the-database) instances at these links.
## Steps to resolve
diff --git a/docs/self-hosted/observability/logs.mdx b/docs/self-hosted/observability/logs.mdx
index 63b64ff61..810075df5 100644
--- a/docs/self-hosted/observability/logs.mdx
+++ b/docs/self-hosted/observability/logs.mdx
@@ -16,8 +16,6 @@ A Sourcegraph service's log level is configured via the environment variable `SR
Learn more about how to apply these environment variables in [docker-compose](/self-hosted/deploy/docker-compose/#set-environment-variables) deployments.
-> **Note:** The single-container [server](/self-hosted/deploy/docker-single-container/) deployment mode has been removed in 7.0.0. Please [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate).
-
## Log format
A Sourcegraph service's log output format is configured via the environment variable `SRC_LOG_FORMAT`. This design facilitates integration with external log aggregation systems and SIEM tools for centralized analysis, monitoring, and alerting.
diff --git a/docs/self-hosted/observability/metrics.mdx b/docs/self-hosted/observability/metrics.mdx
index 1d19e11b0..84889df0e 100644
--- a/docs/self-hosted/observability/metrics.mdx
+++ b/docs/self-hosted/observability/metrics.mdx
@@ -83,7 +83,6 @@ Grafana will be available http://localhost:3370/-/debug/grafana.
If you are using the [Docker Compose deployment option](/self-hosted/deploy/), Grafana is available locally at http://localhost:3370/-/debug/grafana without any additional setup.
-> **Note:** The [Docker Single Container](/self-hosted/deploy/docker-single-container/) deployment mode has been removed in 7.0.0. Please [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate).
If Sourcegraph is deployed to a remote server, then access via an SSH tunnel using a tool such as [sshuttle](https://github.com/sshuttle/sshuttle) is required to establish a secure connection to Grafana.
To access the remote server using `sshuttle` from your local machine:
@@ -200,8 +199,6 @@ kubectl port-forward svc/prometheus 9090:30090
If you are using the [Docker Compose deployment option](/self-hosted/deploy/), you will need to restart the Sourcegraph container
with a flag `--publish 9090:9090` in the `docker run` command.
-> **Note:** The [Docker Single Container](/self-hosted/deploy/docker-single-container/) deployment mode has been removed in 7.0.0. Please [migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate).
-
Prometheus will be available http://localhost:9090.
## Using a custom monitoring system
diff --git a/docs/self-hosted/pprof.mdx b/docs/self-hosted/pprof.mdx
index bb7e8fe6a..116329ff5 100644
--- a/docs/self-hosted/pprof.mdx
+++ b/docs/self-hosted/pprof.mdx
@@ -22,10 +22,6 @@ kubectl get pods
kubectl port-forward sourcegraph-frontend-xxxx 6060:6060
```
-### Single-container Sourcegraph
-
-See [expose debug port in single-container Sourcegraph](/self-hosted/deploy/docker-single-container/#expose-debug-port).
-
## Generating profiling data
Once the port is reachable, you can trigger a profile dump by sending an HTTP request:
diff --git a/docs/self-hosted/updates/automatic.mdx b/docs/self-hosted/updates/automatic.mdx
index 5afe24d18..5bf9d34c4 100644
--- a/docs/self-hosted/updates/automatic.mdx
+++ b/docs/self-hosted/updates/automatic.mdx
@@ -16,7 +16,7 @@ From **Sourcegraph 5.1 through 6.11.x**, multi-version upgrades could be perform
1. Determine if your instance is ready to Upgrade:
1. Check your Sourcegraph instances `Site admin > Updates` page. ([more info](/self-hosted/updates/#upgrade-readiness))
- 2. Consult upgrade notes for your deployment type accross the range of your upgrade. ([Kubernetes](https://sourcegraph.com/changelog/self-hosted/kubernetes), [Docker-compose](https://sourcegraph.com/changelog/self-hosted/docker-compose), [Server](https://sourcegraph.com/changelog/self-hosted/server))
+ 2. Consult upgrade notes for your deployment type accross the range of your upgrade. ([Kubernetes](https://sourcegraph.com/changelog/self-hosted/kubernetes), [Docker-compose](https://sourcegraph.com/changelog/self-hosted/docker-compose))
2. Merge the latest Sourcegraph release into your deployment manifests.
3. With upstream changes to your manifests merged, start the new instance.
diff --git a/docs/self-hosted/updates/index.mdx b/docs/self-hosted/updates/index.mdx
index 404660cf9..bfa12e695 100644
--- a/docs/self-hosted/updates/index.mdx
+++ b/docs/self-hosted/updates/index.mdx
@@ -127,7 +127,6 @@ If your instance has schema drift or unfinished oob migrations you may need to a
- [Upgrade Notes](https://sourcegraph.com/changelog/self-hosted/kubernetes)
- **Single-container Sourcegraph with Docker (removed in 7.0.0)**
- The single-container deployment mode has been sunset. [Migrate to Docker Compose](/self-hosted/deploy/docker-compose/migrate) or [Kubernetes](/self-hosted/deploy/kubernetes/).
- - [Upgrade Notes](https://sourcegraph.com/changelog/self-hosted/server)
- [**Sourcegraph AWS AMI instances**](/self-hosted/deploy/machine-images/aws-ami#upgrade) *(deprecated — sunset in 7.0.0)*
## Other helpful links
diff --git a/src/data/redirects.ts b/src/data/redirects.ts
index abcb9a557..38f856d75 100644
--- a/src/data/redirects.ts
+++ b/src/data/redirects.ts
@@ -1304,22 +1304,22 @@ const redirectsData = [
},
{
source: '/admin/install/docker/aws',
- destination: '/admin/deploy/docker-single-container/aws',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/install/docker/digitalocean',
- destination: '/admin/deploy/docker-single-container/digitalocean',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/install/docker/google_cloud',
- destination: '/admin/deploy/docker-single-container/google_cloud',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/install/docker',
- destination: '/admin/deploy/docker-single-container',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -1349,7 +1349,7 @@ const redirectsData = [
},
{
source: '/admin/deploy/docker',
- destination: '/admin/deploy/docker-single-container',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -3866,22 +3866,22 @@ const redirectsData = [
},
{
source: '/admin/install/docker/aws',
- destination: '/admin/deploy/docker-single-container/aws',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/install/docker/digitalocean',
- destination: '/admin/deploy/docker-single-container/digitalocean',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/install/docker/google_cloud',
- destination: '/admin/deploy/docker-single-container/google_cloud',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/install/docker',
- destination: '/admin/deploy/docker-single-container',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -3911,7 +3911,7 @@ const redirectsData = [
},
{
source: '/admin/deploy/docker',
- destination: '/admin/deploy/docker-single-container',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -5901,22 +5901,22 @@ const redirectsData = [
},
{
source: '/admin/deploy/docker-single-container/aws',
- destination: '/self-hosted/deploy/docker-single-container/aws',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/deploy/docker-single-container/digitalocean',
- destination: '/self-hosted/deploy/docker-single-container/digitalocean',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/deploy/docker-single-container/google_cloud',
- destination: '/self-hosted/deploy/docker-single-container/google_cloud',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
source: '/admin/deploy/docker-single-container',
- destination: '/self-hosted/deploy/docker-single-container',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -6399,7 +6399,7 @@ const redirectsData = [
},
{
source: '/admin/updates/server',
- destination: 'https://sourcegraph.com/changelog/self-hosted/server',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -6954,7 +6954,7 @@ const redirectsData = [
},
{
source: '/self-hosted/deploy/docker-single-container/google_cloud',
- destination: '/self-hosted/deploy/docker-single-container/google-cloud',
+ destination: '/self-hosted/deploy',
permanent: true
},
{
@@ -7160,7 +7160,7 @@ const redirectsData = [
},
{
source: '/self-hosted/updates/server',
- destination: 'https://sourcegraph.com/changelog/self-hosted/server',
+ destination: '/self-hosted/deploy',
permanent: true
},
// code ownership redirects
From 0d0f8687ceee1714acb7031930ff0c1215a7e660 Mon Sep 17 00:00:00 2001
From: Warren Gifford
Date: Wed, 8 Jul 2026 10:28:43 -0700
Subject: [PATCH 134/217] terraform module docs cleanup (#1809)
closes PLAT-740
Connected with
https://github.com/sourcegraph/terraform-aws-executors/pull/208
This PR makes minor connections to the terraform module documentation.
It also splits the documents into two separate pages rather than
combining the aws and gcp docs
Additional deployment validation procedure was added for the aws aspects
of the doc, additionally they were validated alongside the deployment
and testing of the PR that upgrades the aws provider in the terraform
module.
A more comprehensive refactor of all the executors documentation will
come later
### Testing
This was tested with `npm run dev` locally
---
.../deploy-executors-terraform-aws.mdx | 346 ++++++++++++++
.../deploy-executors-terraform-gcp.mdx | 366 ++++++++++++++
.../executors/deploy-executors-terraform.mdx | 448 +-----------------
.../executors/deploy-executors.mdx | 14 +-
docs/self-hosted/index.mdx | 2 +-
5 files changed, 728 insertions(+), 448 deletions(-)
create mode 100644 docs/self-hosted/executors/deploy-executors-terraform-aws.mdx
create mode 100644 docs/self-hosted/executors/deploy-executors-terraform-gcp.mdx
diff --git a/docs/self-hosted/executors/deploy-executors-terraform-aws.mdx b/docs/self-hosted/executors/deploy-executors-terraform-aws.mdx
new file mode 100644
index 000000000..eeb50d724
--- /dev/null
+++ b/docs/self-hosted/executors/deploy-executors-terraform-aws.mdx
@@ -0,0 +1,346 @@
+# Deploying Sourcegraph executors using Terraform on AWS
+
+A [Terraform module](https://github.com/sourcegraph/terraform-aws-executors) is provided to
+provision machines running executors on AWS.
+
+See also: [Deploying on Google Cloud](/self-hosted/executors/deploy-executors-terraform-gcp)
+
+## Basic Definition
+
+The following is the minimum required definition to deploy an executor on AWS.
+
+```terraform
+module "executors" {
+ source = "sourcegraph/executors/aws"
+
+ # Find the latest version matching your Sourcegraph version here:
+ # https://github.com/sourcegraph/terraform-aws-executors/tags
+ version = ""
+
+ availability_zone = ""
+
+ executor_sourcegraph_external_url = ""
+ executor_sourcegraph_executor_proxy_password = ""
+
+ # Either:
+ executor_queue_name = ""
+ # Or:
+ executor_queue_names = ["codeintel", "batches"]
+
+ executor_instance_tag = ""
+ executor_metrics_environment_label = "