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

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 9.6.

Zero configuration code intelligence 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 new 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 new management console:

auth.providers
auth.public
auth.sessionExpiry
auth.userOrgMap
externalURL
htmlBodyBottom
htmlBodyTop
htmlHeadBottom
htmlHeadTop
licenseKey
lightstepAccessToken
lightstepProject
log
update.channel
useJaeger