Pomerium is an identity and context-aware access proxy.
Find a file
Kenneth Jenkins 603a7539ae storage/inmemory: fix Patch() error handling
The Patch() method was intended to skip any records that do not
currently exist. However, currently inmemory.Backend.Patch() will return
ErrNotFound if the last record in the records slice is not found (it
will ignore any other previous records that are not found).

Update the error handling logic here to be consistent with the postgres
backend, and add a unit test to exercise this case.
2023-12-07 11:46:18 -08:00
.github chore(deps): bump mikefarah/yq from 4.40.3 to 4.40.4 (#4829) 2023-12-07 12:31:53 -05:00
.vscode use tlsClientConfig instead of custom dialer (#3830) 2022-12-27 09:55:36 -07:00
authenticate authenticateflow: move stateless flow logic (#4820) 2023-12-06 16:55:57 -08:00
authorize authenticateflow: move stateless flow logic (#4820) 2023-12-06 16:55:57 -08:00
cmd/pomerium core/go: use max procs (#4766) 2023-12-07 09:14:57 -07:00
config core/redis: remove redis (#4768) 2023-11-28 13:14:36 -07:00
databroker databroker: add patch method (#4704) 2023-11-02 15:07:37 -07:00
examples core/redis: remove redis (#4768) 2023-11-28 13:14:36 -07:00
integration integration: re-generate test configurations (#4816) 2023-12-05 12:49:03 -08:00
internal authenticateflow: add stateful flow (#4822) 2023-12-07 09:54:42 -08:00
ospkg move directory providers (#3633) 2022-11-03 11:33:56 -06:00
pkg storage/inmemory: fix Patch() error handling 2023-12-07 11:46:18 -08:00
proxy authenticateflow: move stateless flow logic (#4820) 2023-12-06 16:55:57 -08:00
scripts ci: use built-in github release notes generator (#4754) 2023-11-16 13:36:13 -05: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 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 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 update to Go 1.21.4 (#4770) 2023-11-29 19:16:12 -08: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 golang from 1.21.4-bookworm to 1.21.5-bookworm (#4828) 2023-12-07 12:30:31 -05:00
Dockerfile.debug chore(deps): bump golang from 1.21.4-bookworm to 1.21.5-bookworm (#4828) 2023-12-07 12:30:31 -05:00
go.mod chore(deps): bump google.golang.org/api from 0.143.0 to 0.153.0 (#4835) 2023-12-07 11:58:45 -05:00
go.sum chore(deps): bump google.golang.org/api from 0.143.0 to 0.153.0 (#4835) 2023-12-07 11:58:45 -05:00
LICENSE initial release 2019-01-02 12:13:36 -08:00
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