All posts

What Gerrit Jetty Actually Does and When to Use It

Your code review server is humming. CI jobs are running. Then a teammate can’t reach Gerrit because of a proxy timeout, and someone mutters “Jetty again.” It’s the quiet heart of Gerrit’s web layer, yet when something feels sluggish or unsafe, Jetty is often where the story begins. Gerrit Jetty is the built-in HTTP server that powers Gerrit Code Review. Jetty handles incoming requests, manages TLS, enforces authentication, and serves static assets. Unlike using Apache or Nginx frontends, Jetty

Free White Paper

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

Your code review server is humming. CI jobs are running. Then a teammate can’t reach Gerrit because of a proxy timeout, and someone mutters “Jetty again.” It’s the quiet heart of Gerrit’s web layer, yet when something feels sluggish or unsafe, Jetty is often where the story begins.

Gerrit Jetty is the built-in HTTP server that powers Gerrit Code Review. Jetty handles incoming requests, manages TLS, enforces authentication, and serves static assets. Unlike using Apache or Nginx frontends, Jetty runs natively inside the JVM. That makes setup fast and portable, which is exactly why so many teams stick with it rather than offloading traffic through a separate reverse proxy.

When integrated properly, Gerrit Jetty becomes more than an embedded server. It turns Gerrit into a self-contained service that can scale, reuse existing identity providers, and support secure automation. Jetty’s async model handles hundreds of concurrent requests without blocking, perfect for teams reviewing large merges at the same time.

To configure Jetty inside Gerrit, define authentication style, port bindings, and SSL context in the gerrit.config under the [httpd] section. Most teams connect it with OAuth or OIDC flows from Okta or Google Workspace. The logic is simple: Jetty takes care of session verification, Gerrit applies permission logic, and reviewers stay inside a consistent, authenticated UI. The fewer hops between browser and repository, the fewer unknowns in production.

A few best practices keep Jetty running smooth. Rotate SSL certificates more often than you think you need to. Keep requestHeaderSize reasonable to avoid abuse. Monitor thread pools since one rogue plugin can starve Jetty’s workers. Map groups from your identity provider rather than duplicating Gerrit groups manually to simplify RBAC and auditing.

Continue reading? Get the full guide.

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

Benefits of using Gerrit Jetty with proper config:

  • Faster startup and fewer moving parts than running an extra web tier
  • Native support for HTTPS and OIDC without third-party modules
  • Easier audit trails when every request passes through one JVM
  • Predictable latency under load due to async connection handling
  • Cleaner operational handoffs since scaling is JVM-level, not proxy-level

Developers notice too. Fewer HTTP layers mean shorter feedback loops. Jetty's stable handling of WebSockets and REST calls speeds up dashboards, bots, and CI hooks. Approval latency shrinks, and context-switching between review and test logs nearly disappears.

Platforms like hoop.dev turn those access rules into guardrails that enforce policy automatically. Instead of rewriting Jetty filters or wrestling with custom plugins, security can be handled at identity and network layers in one place, leaving Gerrit free to focus on commits, not credentials.

How do I connect Gerrit Jetty to an external identity provider?

Use OIDC settings in gerrit.config to point at providers like Okta or AWS IAM Identity Center. Jetty validates the token, Gerrit maps roles, and users sign in once through your unified SSO gateway.

AI-based build agents are starting to interact with Gerrit APIs directly. When Jetty mediates those calls, access policies stay consistent, protecting against prompt injection or rogue automation tokens. The result is safer, traceable automation that plays by the same rules as humans.

Jetty looks humble, but it does heavy lifting. If you treat it like infrastructure instead of an afterthought, Gerrit becomes faster, cleaner, and harder to break.

See an Environment Agnostic Identity-Aware Proxy in action with hoop.dev. Deploy it, connect your identity provider, and watch it protect your endpoints everywhere—live in minutes.

Get started

See hoop.dev in action

One gateway for every database, container, and AI agent. Deploy in minutes.

Get a demoMore posts