MCPSERV.CLUB
Pomerium

Pomerium

Self-Hosted

Zero‑trust, clientless access to internal apps

Active(100)
4.5kstars
0views
Updated 11 hours ago

Overview

Discover what makes Pomerium powerful

Pomerium is a zero‑trust, identity‑aware access proxy written in **Go** that eliminates the need for traditional VPNs by creating secure, clientless tunnels to internal web applications and services. From a developer’s perspective, it operates as an HTTP/HTTPS reverse proxy that intercepts incoming traffic, validates the user’s identity and contextual attributes (device posture, location, time of day), and enforces fine‑grained policies before forwarding the request to the target backend. The proxy is stateless, making it highly cacheable and enabling horizontal scaling with minimal coordination.

Context‑aware access

Zero‑trust audit

Agentless access

Service‑to‑service encryption

Overview

Pomerium is a zero‑trust, identity‑aware access proxy written in Go that eliminates the need for traditional VPNs by creating secure, clientless tunnels to internal web applications and services. From a developer’s perspective, it operates as an HTTP/HTTPS reverse proxy that intercepts incoming traffic, validates the user’s identity and contextual attributes (device posture, location, time of day), and enforces fine‑grained policies before forwarding the request to the target backend. The proxy is stateless, making it highly cacheable and enabling horizontal scaling with minimal coordination.

Architecture

Pomerium’s core is built on the net/http standard library, with optional extensions for gRPC and SSH. The policy engine is a lightweight rule evaluator that consumes JSON Web Tokens (JWTs) issued by an external identity provider (IdP). Policies are expressed in a declarative JSON format and can reference claims from the IdP, custom attributes stored in an external database (PostgreSQL or SQLite), or runtime metrics. The proxy can run inside a Kubernetes cluster, as a standalone binary, or in Docker containers; the container image is small (~200 MiB) and supports multi‑stage builds for CI pipelines. For persistence, Pomerium stores policy state in a key‑value store (etcd or Consul) when running in distributed mode, but falls back to local files for single‑node deployments.

Core Capabilities

  • Context‑aware access – Policies can reference arbitrary claims, IP ranges, device fingerprints, and even custom telemetry.
  • Zero‑trust audit – Every request is logged with a unique trace ID, enabling continuous verification and compliance reporting.
  • Agentless access – End‑users connect via standard browsers or native HTTP clients without installing VPN software.
  • Service‑to‑service encryption – Pomerium can act as a mutual TLS termination point for internal microservices, ensuring that service traffic is authenticated and encrypted end‑to‑end.
  • Extensible policy language – Developers can write custom Go plugins that implement new condition functions or integrate with external data sources.

Deployment & Infrastructure

Pomerium is designed for self‑hosting on any cloud provider or on-premises infrastructure. The binary can be run behind a load balancer (NGINX, HAProxy) or as an ingress controller in Kubernetes. It supports horizontal scaling out of the box: multiple instances share a distributed policy store and use a shared secret for JWT validation. For high availability, the system can be run with etcd or Consul to coordinate configuration changes. Containerization is fully supported; the Docker image exposes a single port (443) and can be orchestrated with Helm charts that automatically configure TLS certificates via cert‑manager.

Integration & Extensibility

Pomerium exposes a RESTful API for managing policies, users, and audit logs. Webhooks can be configured to trigger on policy changes or access events, enabling integration with SIEMs and incident‑response platforms. The plugin system allows developers to inject custom authentication backends or policy evaluators written in Go, compiled into the binary. Additionally, Pomerium’s SDK can be embedded in other services to provide on‑demand policy checks without running a full proxy instance.

Developer Experience

The project follows semantic versioning and provides comprehensive GoDoc documentation, making it easy to reference SDK types and functions. The community is active on GitHub Discussions and a Slack channel, with frequent releases that include detailed changelogs. Configuration is largely declarative: a single YAML file defines IdP settings, policy store, and TLS options. The Helm chart abstracts most of the complexity for Kubernetes users, while the standalone binary can be started with a single command line flag set.

Use Cases

  • Secure Human Access – Replace corporate VPNs for remote workers, granting access to internal dashboards or SaaS tools via a browser.
  • Secure Service Access – Protect microservice endpoints in a Kubernetes cluster with mutual TLS and fine‑grained RBAC.
  • Scoped Contractor Access – Issue time‑bound, device‑specific policies for external consultants without exposing the corporate network.
  • Just‑In‑Time Access – Dynamically generate short‑lived access tokens for developers during a sprint.

Advantages

Developers favor Pomerium because it delivers zero‑trust security without the operational overhead of VPNs. Its Go implementation ensures low latency and high throughput, while its declarative policy model allows rapid iteration in CI/CD pipelines. Licensing is permissive (MIT), encouraging adoption in open‑source projects and private enterprises alike. The ability to run natively inside Kubernetes, coupled with a lightweight image and robust audit trail, makes it an attractive choice for modern cloud‑native infrastructures.

Open SourceReady to get started?

Join the community and start self-hosting Pomerium today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
cloud-platforms
License
APACHE-2.0
Stars
4.5k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Supported OS
LinuxDocker
Author
pomerium
pomerium
Last Updated
11 hours ago