Commit graph

25 commits

Author SHA1 Message Date
Caleb Doxsey
5d69b925be
HTTP/3 Support (#5349)
* wip

* http3 support

* add integration test

* move some quic code

* fix codec type

* casing

* add alt-svc header

* add quic unit test
2024-11-19 08:48:30 -07:00
Kenneth Jenkins
014824b525
proxy: deprecate the /.pomerium/jwt endpoint (#5254)
Disable the /.pomerium/jwt endpoint by default. Add a runtime flag to
temporarily opt out of the deprecation.
2024-09-04 11:22:18 -07:00
Joe Kralicky
aa3b790601 Ensure k3s runs as pid 1 in docker
This fixes the k3s entrypoint script in the docker compose integration
tests to ensure k3s runs as pid 1. This is required when running k3s in
docker if the host is using cgroup2.
2024-05-28 15:26:32 -04:00
Kenneth Jenkins
e0ac870442
integration: fix multi-stateless configuration (#4845)
Commit 08c186a contains a bug in the integration configuration template,
preventing the multi-stateless cluster from actually setting the
DEBUG_FORCE_AUTHENTICATE_FLOW environment variable. As a result this
cluster was not exercising the stateless authentication flow.

Fix the template so that this variable is applied as intended.

Add an integration test case to verify that the intended authentication
flow is in use: for the stateful flow, different routes should share the
same underlying session, but for the stateless flow, different routes
should receive different sessions.
2023-12-08 09:12:15 -08:00
Kenneth Jenkins
08c186a72e
integration: test with both authentication flows (#4817)
Add an environment variable to allow forcing either the stateful or the
stateless authenticate flow.

Split the existing integration test clusters "single" and "multi" into
four new clusters: "single-stateful", "single-stateless",
"multi-stateful", and "multi-stateless", so that the integration tests
will run for both the stateful and the stateless authenticate flows.

(The "kubernetes" cluster is not currently being run, so I've left it
alone for now.)
2023-12-07 16:06:41 -08:00
Kenneth Jenkins
8068890e57
integration: re-generate test configurations (#4816)
An unused Redis TCP route was removed from the integration test
configuration template in commit bcddbff. Re-generate the test
configurations to incorporate this template change.
2023-12-05 12:49:03 -08:00
Kenneth Jenkins
3ad72db2fb
integration: renew test certs (#4738)
Several of the integration test certificates expired today. Update these 
so that they are valid for another 10 years. Also update several other
certificates that were due to expire tomorrow.
2023-11-10 12:44:03 -08:00
Kenneth Jenkins
379abecab1
add integration test for https IP address route (#4476)
Update the integration test libsonnet templates to assign a fixed IP 
address to the trusted-httpdetails service. This requires also assigning
a fixed IP subnet to the docker network.

Configure a route with a 'to' URL using https and this fixed IP address. 
Add a corresponding certificate with the IP address. Finally, add a test
case that makes a request to this route.
2023-08-18 09:32:21 -07:00
Kenneth Jenkins
24b09186a4
config: move mTLS settings to new struct (#4442)
Move downstream mTLS settings to a nested config file object, under the
key 'downstream_mtls', and add a new DownstreamMTLSSettings struct for
these settings.

Deprecate the existing ClientCA and ClientCAFile fields in the Options
struct, but continue to honor them for now (log a warning if either is
populated).

Delete the ClientCRL and ClientCRLFile fields entirely (in current
releases these cannot be set without causing an Envoy error, so this
should not be a breaking change).

Update the Settings proto to mirror this nested structure.
2023-08-08 10:22:48 -07:00
Kenneth Jenkins
219296a875
add integration test for client_crl setting (#4384)
Update the integration test templates to add a new client certificate
issued by downstream-ca-1, along with a combined CRL that revokes it.
(Setting a CRL just from downstream-ca-1 doesn't appear to work, which
surprises me.) Add a test case to verify that access is not allowed when
using the revoked certificate.
2023-07-24 14:56:12 -07:00
Kenneth Jenkins
3ebee1159c
add downstream mTLS integration test cases (#4234)
* integration test config: add downstream mTLS routes

Add two new CA certificates for use with downstream mTLS tests, and a
client certificate/key pair issued by each CA.

Add a few routes to the policy template that require a client CA. Update
the generated output configurations.

(based on commit ed63a6a6e7)

* add downstream mTLS integration test cases

These are modeled after the tests added to v0.17 in 83957a9, but here
the expected behavior is that requests with an invalid client
certificate will receive a 495 response only after authentication.
2023-06-13 10:25:21 -07:00
Caleb Doxsey
fa26587f19
remove forward auth (#3628) 2022-11-23 15:59:28 -07:00
Caleb Doxsey
55312ef330
integration: remove identity-provider-specific integration tests (#3636) 2022-10-03 09:22:11 -06:00
Caleb Doxsey
302299d202
integration: use specific version of k3s (#3475) 2022-07-12 13:37:59 -06:00
Caleb Doxsey
9980fd6141
integration: use postgres instead of redis for tests (#3390)
* integration: use postgres instead of redis for tests

* add missing environment variables for kubernetes

* fix certs

* use cert in generated files

* try new keys

* fix certs
2022-06-03 15:15:08 -06:00
Travis Groth
0b0fba06b3
ci: rename master to main (#3045)
Co-authored-by: alexfornuto <afornuto@pomerium.com>
2022-02-15 16:02:40 -05:00
Caleb Doxsey
6ed3fa20bc
integration: fix default port for verify service (#2895) 2022-01-05 12:48:35 -07:00
Caleb Doxsey
5a858f5d48
config: add internal service URLs (#2801)
* config: add internal service URLs

* maybe fix integration tests

* add docs

* fix integration tests

* for databroker connect to external name, but listen on internal name

* Update docs/reference/readme.md

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>

* Update docs/reference/readme.md

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>

* Update docs/reference/readme.md

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>

* Update docs/reference/settings.yaml

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>

* Update docs/reference/settings.yaml

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>

* Update docs/reference/settings.yaml

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>

Co-authored-by: Travis Groth <travisgroth@users.noreply.github.com>
2021-12-10 14:04:37 -05:00
Caleb Doxsey
c97dcf7e0f
envoy: add hash policy and routing key for hash-based load balancers (#2791)
* envoy: add hash policy and routing key for hash-based load balancers

* fix integration test

* fix nginx
2021-12-01 13:42:12 -07:00
Caleb Doxsey
ca48052551
tls: fallback to self-signed certificate (#2760)
* tls: fallback to self-signed certificate

* remove unknown domain because certs are no longer valid

* update multi-deployment to use service-specific certificates
2021-11-15 14:11:53 -07:00
Caleb Doxsey
7f6ddece05
integration: kubernetes support (#2536) 2021-08-30 11:38:32 -06:00
Caleb Doxsey
620b126e44
integration: nginx (#2532) 2021-08-26 09:57:51 -06:00
Caleb Doxsey
ee2b2fefa1
integration: add traefik tests (#2530)
* integration: add traefik tests

* enable traefik

* add auth0
2021-08-25 11:37:58 -06:00
Caleb Doxsey
a782035eba
integration: add multi test (#2519)
* integration: add multi test

* enable multi test
2021-08-25 10:26:24 -06:00
Caleb Doxsey
48cd10d46b
integration: add single-cluster integration tests (#2516)
* integration: add single-cluster integration tests

* remove kind load
2021-08-24 15:35:05 -06:00