func initIndexer()

in main.go [220:244]


func initIndexer(ctx context.Context, logger *zap.Logger, apmTracer *apm.Tracer, config *Config) Indexer {
	packagesBasePaths := getPackagesBasePaths(config)

	var combined CombinedIndexer

	if featureStorageIndexer {
		storageClient, err := gstorage.NewClient(ctx)
		if err != nil {
			logger.Fatal("can't initialize storage client", zap.Error(err))
		}
		combined = append(combined, storage.NewIndexer(logger, storageClient, storage.IndexerOptions{
			APMTracer:                    apmTracer,
			PackageStorageBucketInternal: storageIndexerBucketInternal,
			PackageStorageEndpoint:       storageEndpoint,
			WatchInterval:                storageIndexerWatchInterval,
		}))
	}

	combined = append(combined,
		packages.NewZipFileSystemIndexer(logger, packagesBasePaths...),
		packages.NewFileSystemIndexer(logger, packagesBasePaths...),
	)
	ensurePackagesAvailable(ctx, logger, combined)
	return combined
}