sourcegraph/internal/codeintel/autoindexing/iface.go
Erik Seliger 83d0f6876c
dotcom: Remove on-demand cloning of repositories (#63321)
Historically, sourcegraph.com has been the only instance. It was
connected to GitHub.com and GitLab.com only.
Configuration should be as simple as possible, and we wanted everyone to
try it on any repo. So public repos were added on-demand when browsed
from these code hosts.

Since, dotcom is no longer the only instance, and this is a special case
that only exists for sourcegraph.com.
This causes a bunch of additional complexity and various extra code
paths that we don't test well enough today.

We want to make dotcom simpler to understand, so we've made the decision
to disable that feature, and instead we will maintain a list of
repositories that we have on the instance.
We already disallowed several repos half a year ago, by restricting size
of repos with few stars heavily.
This is basically just a continuation of that.

In the diff, you'll mostly find deletions. This PR does not do much
other than removing the code paths that were only enabled in dotcom mode
in the repo syncer, and then removes code that became unused as a result
of that.

## Test plan

Ran a dotcom mode instance locally, it did not behave differently than a
regular instance wrt. repo cloning.
We will need to verify during the rollout that we're not suddenly
hitting code paths that don't scale to the dotcom size.

## Changelog

Dotcom no longer clones repos on demand.
2024-06-26 14:53:14 -07:00

24 lines
890 B
Go

package autoindexing
import (
"github.com/sourcegraph/sourcegraph/internal/codeintel/autoindexing/internal/background/dependencies"
"github.com/sourcegraph/sourcegraph/internal/codeintel/autoindexing/internal/background/scheduler"
"github.com/sourcegraph/sourcegraph/internal/codeintel/autoindexing/internal/background/summary"
"github.com/sourcegraph/sourcegraph/internal/codeintel/autoindexing/internal/jobselector"
)
type (
DependenciesService = dependencies.DependenciesService
PoliciesService = scheduler.PoliciesService
ReposStore = dependencies.ReposStore
GitserverRepoStore = dependencies.GitserverRepoStore
ExternalServiceStore = dependencies.ExternalServiceStore
PolicyMatcher = scheduler.PolicyMatcher
InferenceService = jobselector.InferenceService
)
type UploadService interface {
dependencies.UploadService
summary.UploadService
}