Caleb Doxsey
c47055bece
upgrade to go v1.24 ( #5562 )
...
* upgrade to go v1.24
* add a macOS-specific //nolint comment too
---------
Co-authored-by: Kenneth Jenkins <51246568+kenjenkins@users.noreply.github.com>
2025-04-02 15:53:09 -06:00
Caleb Doxsey
bc263e3ee5
proxy: use querier cache for user info ( #5532 )
2025-03-20 09:50:22 -06:00
Joe Kralicky
08623ef346
add tests/benchmarks for http1/http2 tcp tunnels and http1 websockets ( #5471 )
...
* add tests/benchmarks for http1/http2 tcp tunnels and http1 websockets
testenv:
- add new TCP upstream
- add websocket functions to HTTP upstream
- add https support to mock idp (default on)
- add new debug flags -env.bind-address and -env.use-trace-environ to
allow changing the default bind address, and enabling otel environment
based trace config, respectively
* linter pass
---------
Co-authored-by: Denis Mishin <dmishin@pomerium.com>
2025-03-19 18:42:19 -04:00
Joe Kralicky
b5f58997bd
storage/postgres: pgx client tracing ( #5438 )
...
* fix testcontainers docker client using the global tracer provider
* storage/postgres: pgx client tracing
* skip postgres test on macos
2025-01-28 17:10:09 -05:00
Caleb Doxsey
6e1fabec0b
authorize: cache warming ( #5439 )
...
* authorize: cache warming
* add Authorize to test?
* remove tracing querier
* only update connection when it changes
2025-01-22 09:27:22 -07:00
Caleb Doxsey
ef12fda55c
authorize: additional header evaluator tests ( #5363 )
...
* authorize: additional header evaluator tests
* add groups to jwt test
2024-11-07 09:22:35 -07:00
Caleb Doxsey
8935ed17fa
tests: use testcontainers ( #5341 )
...
* tests: use testcontainers for postgres
* tests: use testcontainers for minio
* remove gcs test
* try installing docker
* skip docker on macos
2024-10-30 13:33:30 -06:00
Joe Kralicky
fe31799eb5
Fix many instances of contexts and loggers not being propagated ( #5340 )
...
This also replaces instances where we manually write "return ctx.Err()"
with "return context.Cause(ctx)" which is functionally identical, but
will also correctly propagate cause errors if present.
2024-10-25 14:50:56 -04:00
Kenneth Jenkins
298a5a94a5
inmemory: add a test for the ListTypes race fix ( #5327 )
...
Add a test that interleaves calls to Put() (with different type strings)
and ListTypes(). At least on my machine, this appears to reliably detect
the data race fixed in commit 2f8743522d
when run with the Go race detector. (The 'make test' and 'make cover'
targets run with the Go race detector enabled.)
2024-10-15 15:32:29 -07:00
Joe Kralicky
2f8743522d
storage: fix possible race condition with maps.Keys iterator ( #5321 )
2024-10-07 18:45:23 -04:00
Caleb Doxsey
410354bc00
core/go: use hashicorp/go-set ( #5278 )
2024-10-03 12:59:11 -06:00
Caleb Doxsey
dad954ae16
core/logging: change log.Error function ( #5251 )
...
* core/logging: change log.Error function
* use request id
2024-09-05 15:42:46 -06:00
Joe Kralicky
332932b7a8
Replace usages of x/exp/maps + bump golang.org/x/exp ( #5221 )
...
Bump golang.org/x/exp; replace usages of x/exp/maps with stdlib equivalents
2024-08-15 17:49:24 -04:00
Caleb Doxsey
0cfb1025db
core/proto: update protoc dependencies ( #5218 )
...
* core/proto: update protoc dependencies
* cleanup
* disable unimplemented forward compatibility check
* fix mock
* add generate make command
* add .0
2024-08-15 11:12:05 -06:00
Caleb Doxsey
1a5b8b606f
core/lint: upgrade golangci-lint, replace interface{} with any ( #5099 )
...
* core/lint: upgrade golangci-lint, replace interface{} with any
* regen proto
2024-05-02 14:33:52 -06:00
Denis Mishin
08eb255bbf
health-check: add storage health check ( #5074 )
2024-04-19 13:10:33 -04:00
Kenneth Jenkins
a771b82a72
storage/inmemory: fix Patch() error handling ( #4838 )
...
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 12:21:10 -08:00
Caleb Doxsey
ce8abde236
core/go: use max procs ( #4766 )
...
* core/go: use max procs
* update test
* logging
2023-12-07 09:14:57 -07:00
Caleb Doxsey
1780fefa72
core/storage: hijack connections for notification listeners ( #4806 )
2023-12-04 09:29:10 -07:00
Caleb Doxsey
d7ed62c350
core/storage: fix nil data unmarshal ( #4734 )
2023-11-10 13:16:22 -07:00
Kenneth Jenkins
d5da872157
databroker: add patch method ( #4704 )
...
Add a Patch() method to the databroker gRPC service.
Update the storage.Backend interface to include the Patch() method now
that all the storage.Backend implementations include it.
Add a test to exercise the patch method under concurrent usage.
2023-11-02 15:07:37 -07:00
Kenneth Jenkins
4842002ed7
storage/postgres: implement patch operation ( #4656 )
...
Implement the new Patch() method for the Postgres storage backend.
2023-11-02 12:07:36 -07:00
Kenneth Jenkins
4f648e9ac1
databroker: remove redis storage backend ( #4699 )
...
Remove the Redis databroker backend. According to
https://www.pomerium.com/docs/internals/data-storage#redis it has been
discouraged since Pomerium v0.18.
Update the config options validation to return an error if "redis" is
set as the databroker storage backend type.
2023-11-02 11:53:25 -07:00
Kenneth Jenkins
47890e9ee1
storage/inmemory: implement patch operation ( #4654 )
...
Add a new Patch() method that updates specific fields of an existing
record's data, based on a field mask.
Extract some logic from the existing Get() and Put() methods so it can
be shared with the new Patch() method.
2023-11-02 11:03:00 -07:00
Caleb Doxsey
818f3926bf
core/grpc: fix deprecated protobuf package, remove tools ( #4643 )
2023-10-26 11:38:54 -06:00
Caleb Doxsey
3e330bb76a
storage: add indexes for postgres ( #4479 )
...
* storage: add indexes for postgres
* add type, version index
2023-08-21 15:13:48 -06:00
Caleb Doxsey
bbed421cd8
config: remove source, remove deadcode, fix linting issues ( #4118 )
...
* remove source, remove deadcode, fix linting issues
* use github action for lint
* fix missing envoy
2023-04-21 17:25:11 -06:00
dependabot[bot]
bc0aa564ff
chore(deps): bump github.com/golangci/golangci-lint from 1.50.1 to 1.51.2 ( #4020 )
...
* chore(deps): bump github.com/golangci/golangci-lint
Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint ) from 1.50.1 to 1.51.2.
- [Release notes](https://github.com/golangci/golangci-lint/releases )
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md )
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.50.1...v1.51.2 )
---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix lint
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
2023-02-27 10:37:46 -07:00
Caleb Doxsey
7895bf431f
databroker: add list types method ( #3937 )
...
* databroker: add list types method
* fix test
* Update pkg/storage/redis/redis.go
Co-authored-by: Denis Mishin <dmishin@pomerium.com>
---------
Co-authored-by: Denis Mishin <dmishin@pomerium.com>
2023-02-03 13:16:28 -07:00
Caleb Doxsey
92b50683ff
postgres: return unknown records instead of skipping them ( #3876 )
2023-01-09 15:10:52 -07:00
Caleb Doxsey
c048af7523
postgres: upgrade to pgx v5 ( #3826 )
2022-12-19 12:47:35 -07:00
Denis Mishin
1d252f43ee
storage: ignore removed fields when deserializing the data ( #3768 )
...
ignore removed fields when deserializing the data
2022-11-28 09:31:57 -07:00
Caleb Doxsey
1b596115e9
postgres: increase record batch size ( #3708 )
2022-10-26 07:40:13 -06:00
dependabot[bot]
ec495bb682
chore(deps): bump github.com/golangci/golangci-lint from 1.48.0 to 1.50.0 ( #3667 )
...
* chore(deps): bump github.com/golangci/golangci-lint
Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint ) from 1.48.0 to 1.50.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases )
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md )
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.48.0...v1.50.0 )
---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* lint
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
2022-10-19 09:36:59 -06:00
Caleb Doxsey
3b2cc6720a
postgres: return an empty list of addresses on dns errors ( #3637 )
2022-09-30 12:00:40 -06:00
Caleb Doxsey
3fec00f2a8
postgres: handle unknown types ( #3632 )
2022-09-28 09:41:29 -06:00
Caleb Doxsey
23c42da8ec
postgres: remove not null constraint on data column of record changes table ( #3594 )
2022-08-31 10:16:19 -06:00
Caleb Doxsey
89a105c8e6
authorize: add request id to context ( #3497 )
...
* authorize: add request id to context
* fix context keys
2022-07-26 14:34:48 -06:00
Caleb Doxsey
0b48da1e2f
databroker: support rotating shared secret ( #3502 )
...
* databroker: support rotating shared secret
* fix test
* run tests on linux
* fix tests
* fix typo
* increase timeout
2022-07-26 10:59:54 -06:00
Caleb Doxsey
fe61a74e1b
authorize: fix device synchronization ( #3482 )
2022-07-15 17:27:06 -06:00
Caleb Doxsey
24a9d627cd
postgres: registry support ( #3454 )
2022-07-13 09:14:47 -06:00
Caleb Doxsey
1727d178ef
postgres: fix record deletion ( #3446 )
2022-06-24 09:32:44 -06:00
Caleb Doxsey
45a29ea879
databroker: add support for syncing by type ( #3412 )
...
* databroker: add support for syncing by type
* add type url, fix query
2022-06-13 09:52:13 -06:00
Caleb Doxsey
a2d5d8062b
postgres: use CTE and GENERATED version number instead of serialized transaction ( #3408 )
...
* postgres: use CTE and GENERATED version number instead of serialized transaction
* update server version
* fix indexing CIDRs
2022-06-09 12:18:20 -06:00
Caleb Doxsey
493148b13f
authorize: fix not found check ( #3410 )
2022-06-08 09:15:57 -06:00
Caleb Doxsey
dafead3122
postgres: fix CIDR query ( #3389 )
2022-06-03 12:32:01 -06:00
Caleb Doxsey
f61e7efe73
authorize: use query instead of sync for databroker data ( #3377 )
2022-06-01 15:40:07 -06:00
Caleb Doxsey
1c2aad2de6
postgres: databroker storage backend ( #3370 )
...
* wip
* storage: add filtering to SyncLatest
* don't increment the record version, so intermediate changes are requested
* databroker: add support for query filtering
* fill server and record version
* postgres: databroker storage backend
* wip
* serialize puts
* add test
* skip tests for macos
* add test
* return error from protojson
* set data
* exclude postgres from cover tests
2022-05-25 10:23:58 -06:00
Caleb Doxsey
1669b601ea
storage: add filtering to SyncLatest ( #3368 )
...
* wip
* storage: add filtering to SyncLatest
* don't increment the record version, so intermediate changes are requested
* fix stream filter
2022-05-17 16:00:23 -06:00
Caleb Doxsey
70f5d8b173
storage: add filter expressions, upgrade go to 1.18.1 ( #3365 )
...
* storage: add filter expressions
* upgrade go
2022-05-16 20:09:50 -06:00