Migrating to Sourcegraph 3.0.1+
3.0 includes a few major product and configuration changes that you should be aware of if you are upgrading an existing instance.
PostgreSQL upgrade
WARNING: ⚠️ Because
3.0.1
upgrades the PostgreSQL version:
- Anyone upgrading from
2.x
to3.0.1+
, or from3.0.0
to3.0.1+
MUST follow the Upgrading PostgreSQL instructions below.- It will not be possible to downgrade from
3.0.1+
to2.x
unless you also restore your PostgreSQL database from a2.x
snapshot.
The version of PostgreSQL that ships with Sourcegraph 3.0.1
has been upgraded to 11.1
for all deployments.
👉 Follow the upgrade instructions to safely migrate your data.
If you are connecting Sourcegraph to an external PostgreSQL database, the minimum supported version is 12
.
Zero configuration code navigation is on by default for 10 languages
The sourcegraph/basic-code-intel extension has been deprecated and split into one extension per language, with the top 10 programming language extensions enabled by default.
If you have sourcegraph/basic-code-intel enabled, disable it and enable any additional extensions for languages you use.
If you were running language servers with 2.x from the https://sourcegraph.example.com/site-admin/code-intelligence
page, you will need to enable the corresponding Sourcegraph language extensions and follow the READMEs to set up language servers and to point the extensions to those language servers.
Repositories are managed by configuring external services
Top level configuration options for code hosts (e.g. "github", "gitlab", "phabricator", "awscodecommit", "bitbucket", "gitolite") have been removed from site configuration.
The configuration of code hosts and repositories has moved to the external services UI at https://sourcegraph.example.com/site-admin/external-services
.
The data from your existing site configuration will be automatically migrated when you upgrade to 3.0, so no action is required.
repos.list
was removed from site configuration
The top-level repos.list
site configuration was removed in favour of each code-host's equivalent options, now configured via external services. Equivalent options in code hosts configuration:
- GitHub via
github.repos
- GitLab via
gitlab.projectQuery
- Phabricator via
phabricator.repos
- Other external services
Configuration is now stored in the database, not in a config.json file
Sourcegraph configuration is now stored in the PostgreSQL database, not in a configuration file. Editing the configuration is now only possible through the web UI (even in cluster deployments). Critical Sourcegraph configuration is stored in the management console.
When you first start 3.0, the old configuration file will be copied into the database to populate the site configuration and management console. After this, you should delete that file as it will no longer be respected.
For single-node deployments (sourcegraph/server
), this file is /etc/sourcegraph/sourcegraph-config.json
inside the Docker container.
For Kubernetes cluster deployments, this is your config-file
config map (deploy-sourcegraph/base/config-file.ConfigMap.yaml
).
Some site configuration options have moved to the new management console
The following options have moved into the management console:
SHELLauth.providers auth.public auth.sessionExpiry auth.userOrgMap externalURL htmlBodyBottom htmlBodyTop htmlHeadBottom htmlHeadTop licenseKey lightstepAccessToken lightstepProject log update.channel useJaeger