Skip to content

APPROVED: Proposal: Services (containers / image names) should be renamed to be consistent and legible to new admins

Created by: slimsag

@sourcegraph/core-services @sourcegraph/code-intel @sourcegraph/distribution to those interested, please review by April 20th, 2020.

@sourcegraph/code-intel @efritz you may wish to review earlier.

Today

Right now, we have these container / image names in all deployments:

  • frontend
  • gitserver
  • github-proxy
  • precise-code-intel-api-server
  • precise-code-intel-bundle-manager
  • precise-code-intel-worker
  • query-runner
  • replacer
  • repo-updater
  • searcher
  • symbols
  • syntect-server
  • zoekt-indexserver (hidden under "indexed-search/" in Kubernetes, but nowhere else)
  • zoekt-webserver (hidden under "indexed-search/" in Kubernetes, but nowhere else)
  • pgsql
  • redis-store
  • redis-cache
  • prometheus
  • grafana
  • jaeger

Problem 1: Consistency

I see many consistency problems here:

  1. When is "server" or "manager" used? Consider:
zoekt-indexserver
-precise-code-intel-bundle-manager
+precise-code-intel-bundle-server
  1. When is "server" NOT used? Everything we have is a "server", so why is it in some things but not others? Consider:
-frontend
+frontend-server

-symbols
+symbols-server

-gitserver
+git
  1. When are dashes used, or not used? Consider:
-gitserver
+git-server
zoekt-indexserver
+zoekt-index-server
-repo-updater
+repoupdater

Problem 2: Legibility

Our services don't describe what they actually do to new site admins who may be trying to debug the system or determine what part of it they should look at:

  • query-runner: sounds very important, it must run search queries
  • searcher sounds extremely important, must be responsible for all of search
  • zoekt-* no clue, doesn't sound important.
  • syntect-server no clue, doesn't sound important.
  • precise-code-intel-api-server sounds like a silly API server, probably not the main thing doing work.
  • symbols: must be doing all of the symbol search and indexing of code.

Proposal

Use the following service naming guidelines, and rename all existing services (primarily the docker containers / image names) accordingly: https://gist.github.com/slimsag/da2744d200bc498b7a24b2d57bfd4744

This renaming could be done primarily in v3.16, but also on a case-by-case basis before then if desirable for other reasons.