Pomerium is an identity and context-aware access proxy.
Find a file
dependabot[bot] fda24d2b52
chore(deps): bump distroless/base from 59fe963 to 8a7afd5 (#3627)
Bumps distroless/base from `59fe963` to `8a7afd5`.

---
updated-dependencies:
- dependency-name: distroless/base
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 10:32:09 -06:00
.devcontainer try pinning docker dependency (#3185) 2022-03-23 13:47:35 -06:00
.github chore(deps): bump mikefarah/yq from 4.27.3 to 4.27.5 (#3615) 2022-09-12 14:11:15 -06:00
.vscode config related metrics (#2065) 2021-04-07 12:29:36 -07:00
authenticate authenticate: get/set identity provider id for all sessions (#3597) 2022-09-07 10:06:59 -06:00
authorize authorize: handle user-unauthenticated response for deny blocks (#3559) 2022-08-22 17:09:26 -06:00
cmd/pomerium allow pomerium to be embedded as a library (#3415) 2022-06-15 20:29:19 -04:00
config envoyconfig: add all routes to all filter chains (#3596) 2022-09-07 09:55:03 -06:00
databroker atomicutil: use atomicutil.Value wherever possible (#3517) 2022-07-28 15:38:38 -06:00
examples Fix typos (#3575) 2022-08-30 15:51:40 -07:00
integration authorize: add request id to context (#3497) 2022-07-26 14:34:48 -06:00
internal Fix typos (#3575) 2022-08-30 15:51:40 -07:00
ospkg updates examples for current routes/policy keys (#3034) 2022-02-16 14:06:52 -06:00
pkg envoyconfig: add virtual host domains for certificates in addition to routes (#3593) 2022-08-31 10:35:45 -06:00
proxy atomicutil: use atomicutil.Value wherever possible (#3517) 2022-07-28 15:38:38 -06:00
scripts upgrade envoy to v1.23.1 (#3599) 2022-09-02 15:23:50 -06:00
ui add the traces error details (#3557) 2022-08-16 18:04:02 +02:00
.codecov.yml development: change codecov precision 2019-07-18 16:49:37 -07:00
.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 allow pomerium to be embedded as a library (#3415) 2022-06-15 20:29:19 -04:00
.golangci.yml chore(deps): bump github.com/golangci/golangci-lint from 1.46.2 to 1.47.2 (#3499) 2022-07-29 09:57:12 -06:00
.pre-commit-config.yaml integration: add single-cluster integration tests (#2516) 2021-08-24 15:35:05 -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 chore(deps): bump distroless/base from 59fe963 to 8a7afd5 (#3627) 2022-09-19 10:32:09 -06:00
Dockerfile.debug chore(deps): bump golang from 1.19.0-buster to 1.19.1-buster (#3617) 2022-09-12 14:10:18 -06:00
go.mod chore(deps): bump github.com/caddyserver/certmagic from 0.17.0 to 0.17.1 (#3619) 2022-09-13 16:08:27 -07:00
go.sum chore(deps): bump github.com/caddyserver/certmagic from 0.17.0 to 0.17.1 (#3619) 2022-09-13 16:08:27 -07:00
LICENSE initial release 2019-01-02 12:13:36 -08:00
Makefile databroker: support rotating shared secret (#3502) 2022-07-26 10:59:54 -06:00
pomerium.go fix go get, improve redis test (#2450) 2021-08-06 12:07:20 -06:00
README.md Update README.md (#3569) 2022-08-23 08:45:58 -07:00
RELEASING.md deployment: update RELEASING.md (#3503) 2022-08-16 10:40:03 -07:00
SECURITY.md symlink security policy to root of project (#2396) 2021-07-26 10:42:21 -07:00
tools.go protoc: add xds repo (#2687) 2021-10-19 14:36:23 -06:00

pomerium logo

pomerium chat GitHub Actions Go Report Card GoDoc LICENSE Docker Pulls

Pomerium is an identity and context-aware reverse proxy that brokers secure access to apps and services at scale. Pomerium provides a standardized interface to add access control to applications regardless of whether the application itself has authorization or authentication baked-in.

Pomerium can be used in situations where you'd typically reach for a VPN, but, unlike a VPN, does not require a client and uses identity and context, not network locality to determine access.

Pomerium can be used to:

  • provide a single-sign-on gateway to internal applications.
  • enforce dynamic access policy based on context, identity, and device identity.
  • aggregate access logs and telemetry data.
  • a VPN alternative.

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