dcs

module
v0.0.0-...-f3a896a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2026 License: BSD-3-Clause

README

GitHub Actions CI

Context:

Documentation:

Guide to this repository:

  • cmd/dcs is the swiss-army knife tool for Debian Code Search, displaying index files in a variety of ways.
  • cmd/dcs-localdcs runs a local development instance of Debian Code Search.

The service itself consists of the following services / jobs:

  • cmd/dcs-compute-ranking generates ranking.json based on the Debian Popularity Contest (popcon).
  • cmd/dcs-feeder feeds packages to multiple dcs-package-importer shards.
  • cmd/dcs-web is the web server which runs searches on multiple dcs-source-backend shards.

Each shard (codesearch.debian.net uses 6 shards) runs:

  • A cmd/dcs-package-importer to receive, unpack and index Debian packages for this shard.
  • A cmd/dcs-source-backend to run actual searches over imported source code.

Directories

Path Synopsis
cmd
dcs command
Binary dcs is the swiss-army knife for Debian Code Search.
Binary dcs is the swiss-army knife for Debian Code Search.
dcs-feeder command
Takes care of feeding packages to the dcs-package-importer processes running on index/source backends.
Takes care of feeding packages to the dcs-package-importer processes running on index/source backends.
dcs-localdcs command
dcs-reshard command
Generates shell scripts to be run on each old shard.
Generates shell scripts to be run on each old shard.
dcs-source-backend command
vim:ts=4:sw=4:noexpandtab
vim:ts=4:sw=4:noexpandtab
dcs-web command
contrib
genprodcerts command
Generates self-signed TLS certificates to be used a DCS production installation.
Generates self-signed TLS certificates to be used a DCS production installation.
internal
api
dpkgversion
dpkgversion is a pure-go implementation of dpkg version string functions (parsing, comparison) which is compatible with dpkg(1).
dpkgversion is a pure-go implementation of dpkg version string functions (parsing, comparison) which is compatible with dpkg(1).
grpcutil
Encapsulates common RPC server setup.
Encapsulates common RPC server setup.
localdcs
Generates self-signed TLS certificates to be used a DCS production installation.
Generates self-signed TLS certificates to be used a DCS production installation.
packageimporter
Accepts Debian packages via HTTP, unpacks, strips and indexes them.
Accepts Debian packages via HTTP, unpacks, strips and indexes them.
ranking
Post-ranking happens on the source backend (because it has the source files in the kernel’s page cache).
Post-ranking happens on the source backend (because it has the source files in the kernel’s page cache).
regexp
Package regexp implements regular expression search tuned for use in grep-like programs.
Package regexp implements regular expression search tuned for use in grep-like programs.
rpctest
Package rpctest provides convenience functions for common RPC testing setups.
Package rpctest provides convenience functions for common RPC testing setups.
stringpool
stringpool provides a pool of string pointers, ensuring that each string is stored only once in memory.
stringpool provides a pool of string pointers, ensuring that each string is stored only once in memory.
turbopfor/pfordec
Package pfordec contains a Go TurboPFor decoder.
Package pfordec contains a Go TurboPFor decoder.
turbopfor/pforenc
Package pforenc contains a Go TurboPFor encoder.
Package pforenc contains a Go TurboPFor encoder.
varz
Exports runtime variables using prometheus.
Exports runtime variables using prometheus.
web
web/common
common flags for dcs-web
common flags for dcs-web
web/health
Health checking for sources.debian.net (and potentially other services in the future), so that we can reliably redirect to the service when it is available and fall back to our own /show if not.
Health checking for sources.debian.net (and potentially other services in the future), so that we can reliably redirect to the service when it is available and fall back to our own /show if not.
web/search
vim:ts=4:sw=4:noexpandtab
vim:ts=4:sw=4:noexpandtab
web/show
vim:ts=4:sw=4:noexpandtab
vim:ts=4:sw=4:noexpandtab

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL