Pomerium is an identity and context-aware access proxy.
Find a file
Kenneth Jenkins 61757f5e65 metrics: explicitly set Accept header (#4774)
If a request is made to the Pomerium metrics endpoint with an Accept
header requesting the Prometheus protobuf exposition format, some
metrics will be missing from the response.

These missing metrics are obtained by replaying the incoming request to 
an OpenCensus metrics exporter. This exporter honors the request for the
protobuf format, however Pomerium expects this response to be in the 
text format.

We can avoid this mismatch by explicitly requesting the text format from
the OpenCensus exporter, regardless of the incoming request's Accept
header.

(Note: the Pomerium metrics endpoint always responds with text format 
metrics, even if the protobuf format is requested.)
2023-12-01 00:14:45 +00:00
.github ci: use built-in github release notes generator (#4755) 2023-11-16 18:37:14 +00:00
.vscode use tlsClientConfig instead of custom dialer (#3830) 2022-12-27 09:55:36 -07:00
authenticate core/authenticate: refactor idp sign out (#4582) 2023-09-28 08:41:19 -07:00
authorize authorize: build evaluators cache in parallel (#4731) 2023-11-09 11:55:56 -05:00
cmd/pomerium chore(deps): bump github.com/golangci/golangci-lint from 1.48.0 to 1.50.0 (#3667) 2022-10-19 09:36:59 -06:00
config core/envoy: fix remove cookie lua script (#4732) 2023-11-09 10:53:16 -07:00
databroker databroker: add patch method (#4704) 2023-11-02 15:07:37 -07:00
examples Docs: remove tcp example (#4616) 2023-10-03 17:47:33 -04:00
integration integration: renew test certs (#4740) 2023-11-10 12:53:09 -08:00
internal metrics: explicitly set Accept header (#4774) 2023-12-01 00:14:45 +00:00
ospkg move directory providers (#3633) 2022-11-03 11:33:56 -06:00
pkg databroker: changeset: prevent nil data in the deleted records (#4737) 2023-11-10 15:36:06 -05:00
proxy config: add cookie_same_site option (#4148) 2023-05-03 14:36:42 -06:00
scripts ci: use built-in github release notes generator (#4755) 2023-11-16 18:37:14 +00:00
ui chore(deps): bump @fontsource/dm-mono from 5.0.12 to 5.0.14 in /ui (#4619) 2023-10-04 15:53:23 -07:00
.codecov.yml
.dockerignore frontend: react+mui (#3004) 2022-02-07 08:47:58 -07:00
.fossa.yml rm cli code (#2824) 2021-12-15 16:25:21 -05:00
.gitattributes assets: use embed instead of statik (#1960) 2021-03-03 18:56:55 -07:00
.gitignore tls: wildcard catch-all cert must be at the end of cert list (#4119) 2023-04-21 12:37:32 -04:00
.golangci.yml config: remove source, remove deadcode, fix linting issues (#4118) 2023-04-21 17:25:11 -06:00
.pre-commit-config.yaml integration: add single-cluster integration tests (#2516) 2021-08-24 15:35:05 -06:00
.tool-versions core/go: upgrade go (#4644) 2023-10-27 09:04:13 -06:00
3RD-PARTY dependencies: vendor base58, remove shortuuid (#2739) 2021-11-02 09:23:15 -06:00
DEBUG.MD deplyoment: add debug build / container / docs (#1513) 2020-10-13 16:54:21 -04:00
Dockerfile core/go: upgrade go (#4644) 2023-10-27 09:04:13 -06:00
Dockerfile.debug core/go: upgrade go (#4644) 2023-10-27 09:04:13 -06:00
go.mod core/go: upgrade go.mod (#4711) 2023-11-06 14:40:06 -07:00
go.sum core/go: upgrade go.mod (#4711) 2023-11-06 14:40:06 -07:00
LICENSE
Makefile core/grpc: fix deprecated protobuf package, remove tools (#4643) 2023-10-26 11:38:54 -06:00
pomerium.go fix go get, improve redis test (#2450) 2021-08-06 12:07:20 -06:00
README.md Docs: remove tcp example (#4616) 2023-10-03 17:47:33 -04:00
RELEASING.md deployment: update RELEASING.md (#3503) 2022-08-16 10:40:03 -07:00
SECURITY.md Update SECURITY.md (#4144) 2023-05-01 15:17:50 -04:00

pomerium logo

Go Report Card GoDoc LICENSE Docker Pulls

Pomerium builds secure, clientless connections to internal web apps and services without a corporate VPN.

Pomerium is:

  • Easier because you dont have to maintain a client or software.
  • Faster because its deployed directly where your apps and services are. No more expensive data backhauling.
  • Safer because every single action is verified for trusted identity, device, and context.

Its not a VPN alternative its the trusted, foolproof way to protect your business.

Docs

For comprehensive docs, and tutorials see our documentation.

Integration Tests

To run the integration tests locally, first build a local development image:

./scripts/build-dev-docker.bash

Next go to the integration/clusters folder and pick a cluster, for example google-single, then use docker-compose to start the cluster. We use an environment variable to specify the dev docker image we built earlier:

cd integration/clusters/google-single
env POMERIUM_TAG=dev docker-compose up -V

Once that's up and running you can run the integration tests from another terminal:

go test -count=1 -v ./integration/...

If you need to make a change to the clusters themselves, there's a tpl folder that contains jsonnet files. Make a change and then rebuild the clusters by running:

go run ./integration/cmd/pomerium-integration-tests/ generate-configuration