Pomerium is an identity and context-aware access proxy.
Find a file
2023-01-12 14:52:09 -07:00
.github chore(deps): bump actions/setup-node from 3.5.1 to 3.6.0 (#3869) 2023-01-09 09:53:15 -07:00
.vscode use tlsClientConfig instead of custom dialer (#3830) 2022-12-27 09:55:36 -07:00
authenticate authenticate: add additional error details for hmac errors (#3878) 2023-01-11 07:53:11 -07:00
authorize config: use insecure skip verify if derived certificates are not used (#3861) 2023-01-11 13:50:51 -07: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 config: add missing options (#3882) 2023-01-12 10:55:12 -07:00
databroker test: use T.TempDir to create temporary test directory (#3725) 2022-11-08 09:16:32 -07:00
examples remove forward auth (#3628) 2022-11-23 15:59:28 -07:00
integration authenticate: implement hpke-based login flow (#3779) 2022-12-05 15:31:07 -07:00
internal config: use insecure skip verify if derived certificates are not used (#3861) 2023-01-11 13:50:51 -07:00
ospkg move directory providers (#3633) 2022-11-03 11:33:56 -06:00
pkg config: add missing options (#3882) 2023-01-12 10:55:12 -07:00
proxy config: use insecure skip verify if derived certificates are not used (#3861) 2023-01-11 13:50:51 -07:00
scripts run download in parallel 2023-01-12 14:52:09 -07:00
ui authenticate: add additional error details for hmac errors (#3878) 2023-01-11 07:53:11 -07:00
.codecov.yml
.dockerignore
.fossa.yml
.gitattributes
.gitignore
.golangci.yml lint: remove deprecated linters (#3686) 2022-10-19 13:52:03 -06:00
.pre-commit-config.yaml
.tool-versions upgrade go to 1.19.2 (#3689) 2022-10-20 12:18:19 -06:00
3RD-PARTY
DEBUG.MD
Dockerfile chore(deps): bump distroless/base from 8848703 to 8ee3d86 (#3874) 2023-01-09 09:52:55 -07:00
Dockerfile.debug chore(deps): bump golang from e464bb0 to 7c97bae (#3843) 2022-12-27 09:51:18 -07:00
go.mod chore(deps): bump github.com/minio/minio-go/v7 from 7.0.45 to 7.0.46 (#3864) 2023-01-09 09:54:11 -07:00
go.sum chore(deps): bump github.com/minio/minio-go/v7 from 7.0.45 to 7.0.46 (#3864) 2023-01-09 09:54:11 -07:00
LICENSE
Makefile
pomerium.go
README.md Update README.md (#3569) 2022-08-23 08:45:58 -07:00
RELEASING.md
SECURITY.md
tools.go

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