Submit an issue View all issues Source
MIR-1169

Sweep bare "web" service-name literal into a constant

Open runtime Improvement public
phinze phinze Opened May 26, 2026 Updated May 28, 2026

The string "web" is hardcoded across the codebase as the conventional name of the user-facing routed service. Production sites include servers/httpingress/httpingress.go (3 sites), controllers/deployment/launcher.go, servers/build/build.go, and others. Tests reference it hundreds of times.

Surfaced during PR #821 review: we were adding a service-name check to pkg/concurrency.NewStrategyForVersion to route only the web service through EphemeralStrategy, and the bare literal smelled but extending the constant cleanup to the rest of the codebase was too much for that PR's scope.

Proposed work

  • Pick a home for the constant. api/core is a natural fit since service-config utilities (GetServiceConcurrency, ResolveConfig) already live there. Something like const WebServiceName = "web".
  • Update production sites to import and use the const.
  • Tests can stay as-is or sweep in a follow-up — they're high-volume but lower-stakes.
  • Optional follow-on: consider whether "web" should generalize to a per-app routing config (multiple routed services, custom names) rather than ossifying the convention.

Why care

If "web" ever needs to be renamed (e.g., multi-service routing, generalized to "primary" or per-app config), a centralized constant makes that a one-line change instead of an audit.