Commit Graph

839 Commits

Author SHA1 Message Date
Gregory Cooke 75d4a60639
[Security] Add support for parsing SPIFFE Bundle Maps (#8124)
This adds a dependency on go-spiffe in order to parse SPIFFE bundles. More specifically, that library does not yet support SPIFFE bundle maps, but it does support SPIFFE bundles. This adds parsing of these maps to grpc-go
2025-03-12 13:32:01 -04:00
Easwar Swaminathan a0a739f794
xds: ensure node ID is populated in errors from the server (#8140)
* xds: ensure node ID is populated in errors from the server

* xds: cleanup server e2e tests

* don't wrap status errors
2025-03-10 15:05:05 -07:00
Doug Fawley 5668c66bc6
resolver/manual: allow calling UpdateState with an un-Built resolver (#8150) 2025-03-06 13:39:48 -08:00
Arjan Singh Bal e8c412da15
*: Regenerate protos (#8142) 2025-03-05 21:38:53 +05:30
Arjan Singh Bal 0d6e39f679
transport: Send RST stream from the server when deadline expires (#8071) 2025-02-28 22:49:18 +05:30
janardhanvissa b0f5027011
cleanup: replace dial with newclient (#7970) 2025-02-28 13:53:16 +05:30
Arjan Singh Bal a510cf5d4d
xds, pickfirst: Enable additional addresses in xDS, set new pick_first as default (#8126) 2025-02-27 10:22:22 +05:30
Arjan Singh Bal dbf92b436d
deps: update dependencies for all modules (#8108) 2025-02-25 15:21:44 -08:00
Arjan Singh Bal aa629e0ef3
balancergroup: Make closing terminal (#8095) 2025-02-25 11:29:05 +05:30
Matthieu MOREL c75fc8edec
chore: enable early-return and unnecessary-stmt and useless-break from revive (#8100) 2025-02-20 14:10:09 -08:00
Arjan Singh Bal 42fc25a9b4
weightedroundrobin: Move functions to manage Endpoint weights into a new internal package (#8087) 2025-02-19 22:14:21 +05:30
Yousuk Seung ddb2484e69
xds: remove obsolete xDS transport custom dialer option (#8079) 2025-02-18 13:08:13 -08:00
Arjan Singh Bal 75c51bf52f
interop: Introduce env var for xDS dualstack support and add xDS interop config (#8081) 2025-02-13 09:59:15 +05:30
Easwar Swaminathan 0003b4fa35
weightedtarget: return erroring picker when no targets are configured (#8070) 2025-02-11 11:40:34 -08:00
Arjan Singh Bal ad5cd321d0
cleanup: Remove test contexts without timeouts (#8072) 2025-02-12 00:39:01 +05:30
Arjan Singh Bal e95a4b7136
roundrobin: Delegate subchannel creation to pickfirst (#7966) 2025-02-11 15:14:49 +05:30
Zach Reyes 267a09bb5d
xds/internal/xdsclient: Add counter metrics for valid and invalid resource updates (#8038) 2025-02-06 16:04:45 -08:00
Arjan Singh Bal f227ba9ba0
balancer: Move metrics recorder from BuildOptions to ClientConn (#8027) 2025-02-06 17:33:09 +05:30
Arjan Singh Bal 3e27c175ff
balancer: Enforce embedding requirement for balancer.ClientConn (#8026) 2025-02-06 17:20:00 +05:30
Matthieu MOREL b963f4b2da
deps: bump envoyproxy/go-control-plane/envoy and synchronize go.mods (#8067) 2025-02-06 12:11:14 +05:30
Purnesh Dixit 79b6830e4b
xds: resubmit xds client pool changes from #7898 along with fix to set fallback bootstrap config from googledirectpath to xdsclient pool (#8050) 2025-02-04 23:59:01 +05:30
Purnesh Dixit 947e2a4be2
internal/dns: update TestDNSResolver_ExponentialBackoff to not return error before last resolution attempt (#8061) 2025-02-04 09:40:03 +05:30
Purnesh Dixit 13181040b3
Revert "xdsclient: introduce pool to manage multiple xDS clients with same bootstrap content (#7898)" (#8058) 2025-01-30 23:44:47 +05:30
Ashish Srivastava e4a0dfd705
grpcsync : Remove OnceFunc (#8049) 2025-01-30 09:25:20 +05:30
Yousuk Seung 59411f22d9
xds: add xDS transport custom dial options support (#7997) 2025-01-29 18:00:39 +05:30
Arjan Singh Bal e03960d5c8
xds: Implement system root certs support (#8013) 2025-01-28 14:16:03 +05:30
eshitachandwani 9d4fa675be
transport_test: change testgrpc.Emtpy to testpb.Empty (#8040) 2025-01-27 14:13:37 +05:30
eshitachandwani 2fd426d091
transport,grpc: Integrate delegating resolver and introduce dial options for target host resolution (#7881)
* Change proxy behaviour
2025-01-24 12:10:11 +05:30
Purnesh Dixit 2517a4632b
xdsclient: introduce pool to manage multiple xDS clients with same bootstrap content (#7898) 2025-01-24 00:31:40 +05:30
Purnesh Dixit c879198e3b
cleanup: fix comments spacing (#8015) 2025-01-17 11:58:35 +05:30
janardhanvissa f35fb347b7
authz: modify the tests to use stubserver instead of testservice implementations (#7888) 2025-01-13 13:07:57 +05:30
eshitachandwani f9bc335fc5
deps: update dependencies for all modules (#7987)
deps: update dependencies for all modules
2025-01-13 09:39:03 +05:30
Doug Fawley e8d5feb181
rbac: add method name to :path in headers (#7965) 2024-12-24 17:03:29 +05:30
Arjan Singh Bal e912015fd3
cleanup: Fix usages of non-constant format strings (#7959) 2024-12-23 13:34:22 -08:00
janardhanvissa 681334a461
cleanup: replace dial with newclient (#7943) 2024-12-23 11:11:43 -08:00
eshitachandwani 063d352de0
internal/resolver: introduce a new resolver to handle target URI and proxy address resolution (#7857) 2024-12-23 11:28:05 +05:30
Easwar Swaminathan f32168c23b
envconfig: enable xDS client fallback by default (#7949) 2024-12-20 09:49:25 -08:00
Arjan Singh Bal cc161defef
xds: Add support for multiple addresses per endpoint (#7858) 2024-12-16 10:18:25 +05:30
Easwar Swaminathan 3f762759a7
xdsclient: stop caching xdsChannels for potential reuse, after all references are released (#7924) 2024-12-13 14:14:05 -08:00
Arjan Singh Bal 38a8b9a705
health, grpc: Deliver health service updates through the health listener (#7900) 2024-12-12 11:50:25 +05:30
jovial 0027558c5d
internal/transport: replace integer status codes with http constants (#7910) 2024-12-10 15:23:27 +05:30
Purnesh Dixit 645aadf4bd
deps: update dependencies for all modules (#7904) 2024-12-05 17:46:58 +05:30
Arjan Singh Bal 00272e8024
dns: Support link local IPv6 addresses (#7889) 2024-12-03 11:06:10 +05:30
Zach Reyes 3c0586a427
stats/opentelemetry: Cleanup OpenTelemetry API's before stabilization (#7874)
Co-authored-by: Doug Fawley <dfawley@google.com>
2024-12-02 09:19:40 -08:00
Zach Reyes 967ba46140
balancer/pickfirst: Add pick first metrics (#7839) 2024-11-26 10:56:48 -08:00
Brad Town 93f1cc163b
credentials/alts: avoid SRV and TXT lookups for handshaker service (#7861) 2024-11-22 10:46:40 -08:00
Doug Fawley c63aeef126
transport: add send operations to ClientStream and ServerStream (#7808) 2024-11-20 15:40:17 -08:00
Doug Fawley 324460641e
balancer: fix SubConn embedding requirement to not recommend a nil panic hazard (#7840) 2024-11-19 14:03:58 -08:00
Purnesh Dixit 36d5ca0fae
stats: deprecate trace and tags methods and remove all usages from internal code (#7837) 2024-11-19 09:37:12 +05:30
Mikhail Mazurskiy ee3fb2982c
cleanup: use SliceBuffer directly where no pool is available (#7827) 2024-11-18 15:47:51 -08:00
Doug Fawley d7f27c4541
xds: rename helper to remove mention of OutgoingCtx (#7854) 2024-11-18 14:45:47 -08:00
Easwar Swaminathan 66385b28b3
clusterimpl: propagate state update from child when drop/request config remains unchanged (#7844) 2024-11-14 14:11:05 -08:00
Arjan Singh Bal 274830d67a
balancer: Add a SubConn.RegisterHealthListener API and default implementation (#7780) 2024-11-13 12:22:49 +05:30
Zach Reyes d2c1aae4c8
xds: Plumb EDS endpoints through xDS Balancer Tree (#7816) 2024-11-11 11:55:54 -08:00
Arjan Singh Bal 74738cf4aa
grpc: Remove health check func dial option used for testing (#7820) 2024-11-08 11:27:35 +05:30
Arjan Singh Bal 18d218d14d
pickfirst: Interleave IPv6 and IPv4 addresses for happy eyeballs (#7742) 2024-11-06 11:38:54 +05:30
Arjan Singh Bal 43ee17261c
balancer: Enforce embedding the SubConn interface in implementations (#7758) 2024-11-05 23:22:26 +05:30
Doug Fawley 2a18bfcb16
transport: refactor to split ClientStream from ServerStream from common Stream functionality (#7802) 2024-11-04 13:42:38 -08:00
Doug Fawley 70e8931a0e
transport: remove useless trampoline function (#7801) 2024-11-01 14:43:55 -07:00
Marco Ferrer 52d7f6af60
multiple: switch to math/rand/v2 (#7711)
Co-authored-by: Arvind Bright <arvind.bright100@gmail.com>
2024-10-29 10:43:58 -07:00
Easwar Swaminathan a82315c00f
testutils: change ListenerWrapper to push the most recently accepted connection (#7772) 2024-10-25 11:33:47 -07:00
Easwar Swaminathan c4c8b11305
xds/resolver: add a way to specify the xDS client to use for testing purposes (#7771) 2024-10-24 10:02:09 -07:00
Arjan Singh Bal 4bb0170ac6
status: Fix status incompatibility introduced by #6919 and move non-regeneratable proto code into /testdata (#7724) 2024-10-22 23:16:16 +05:30
Purnesh Dixit 98959d9a49
deps: update dependencies for all modules (#7755)
* Update gRPC-Go's dependency versions on master

* update protos

* disabled redefines-builtin-id lint rule
2024-10-18 21:07:37 +05:30
luxcgo ec10e73f02
transport: refactor `trInFlow.onData` to eliminate redundant logic (#7734) 2024-10-16 13:09:35 -07:00
eshitachandwani b850ea533f
transport : wait for goroutines to exit before transport closes (#7666) 2024-10-10 15:34:25 +05:30
Arjan Singh Bal 00b9e140ce
pickfirst: New pick first policy for dualstack (#7498) 2024-10-10 09:33:47 +05:30
Easwar Swaminathan 18a4eacc06
testutils: add couple of log statements to the restartable listener type (#7716) 2024-10-09 16:57:53 -07:00
eshitachandwani 4115c218d0
xds: return all ServerConfig dial options together (#7718) 2024-10-09 14:47:49 -07:00
Arjan Singh Bal b8ee37db62
pickfirst: Move var for mocking the shuffle func from internal/internal to pickfirst/internal (#7698) 2024-10-09 15:09:17 +05:30
eshitachandwani d9d8f342b7
revert xds: return all ServerConfig dial options together (#7712)
* revert xds: return all ServerConfig dial options together

* revert - xdsclient: fix test build breakage
2024-10-09 13:29:31 +05:30
eshitachandwani f17ea7d68c
xds: return all ServerConfig dial options together (#7680) 2024-10-08 09:07:02 -07:00
Abhishek Ranjan d365be6b21
transport: prevent deadlock in transport Close when GoAway write hangs (#7662) 2024-10-08 11:48:33 +05:30
Easwar Swaminathan 5e6f4b9acc
xds: misc test cleanup (4/N) (#7695) 2024-10-07 16:35:58 -07:00
Daniel Liu 7aee163272
xds: add xDS transport custom Dialer support (#7586) 2024-09-26 22:15:17 -07:00
janardhanvissa 9affdbb28e
internal/credentials/xds: add unit tests for `HandshakeInfo.Equal` (#7638) 2024-09-25 21:56:43 -07:00
Zach Reyes 218811eb43
balancer/rls: Add picker and cache unit tests for RLS Metrics (#7614) 2024-09-25 15:51:18 -07:00
Arjan Singh Bal bcf9171a20
transport: Fix reporting of bytes read while reading headers (#7660) 2024-09-23 21:39:46 +05:30
Nathan Baulch 3b626a7b52
*: fix more typos (#7619) 2024-09-16 10:58:27 -07:00
Purnesh Dixit 04e78b0faf
.*: fix lint issues of not having comments for exported funcs and vars along with any remaining issues and enable remaining disabled rules (#7575)
* .*: fix lint issues of not having comments for exported funcs and vars along with any remaining issues and enable remaining disabled rules
2024-09-16 09:09:49 +05:30
Easwar Swaminathan cf5d5411d5
stubserver: support xds-enabled grpc server (#7613) 2024-09-12 15:00:20 -07:00
janardhanvissa 3ffb98b2c9
.*: fix revive lints `redefines-builtin-id` (#7552)
* Fix revive identified linter issues: redefines-builtin-id
---------

Co-authored-by: Vissa Janardhan Krishna Sai <vissajanardhan@google.com>
Co-authored-by: Purnesh Dixit <purnesh.dixit92@gmail.com>
Co-authored-by: Arvind Bright <arvind.bright100@gmail.com>
2024-09-08 01:36:51 +05:30
janardhanvissa c6ad07fa04
protoc: regenerate protos (#7590)
* Regenerating proto files

---------

Co-authored-by: Vissa Janardhan Krishna Sai <vissajanardhan@google.com>
2024-09-06 21:03:53 +05:30
Arjan Singh Bal 70f19eecd1
credentials/tls: default GRPC_ENFORCE_ALPN_ENABLED to true (#7535) 2024-09-04 16:54:56 +05:30
Easwar Swaminathan 535bdce10d
estats: remove dependency on testing package (#7579) 2024-09-03 11:21:12 -07:00
Arvind Bright 8320224ff0
.*: revive from unused_parameters (#7577) 2024-08-30 10:41:30 -07:00
bytetigers a8e6e11cf0
.*: Use `strings.ReplaceAll(.....)` (#7554) 2024-08-26 10:09:35 -07:00
janardhanvissa 3d95421758
Fix revive identified linter issues: var-declaration, indent-error-flow, increment-decrement, superfluous-else (#7528)
* Fixed linter issues for superfluous-else, increment-decrement, indent-error-flow, var-declaration

* Reverting context-as-argument in server.go

* Revert "Optimising the code by fixing var-declaration, indent-error-flow, increment-decrement, superfluous-else"

* Optimising the code by fixing var-declaration, indent-error-flow, increment-decrement, superfluous-else

* dummy commit for re-trigger
2024-08-23 17:00:29 +05:30
Paul Chesnais 9ab8b62505
Implement new Codec that uses `mem.BufferSlice` instead of `[]byte` (#7356) 2024-08-21 14:11:39 -07:00
Easwar Swaminathan 7e12068baf
bootstrap: add `String` method to ServerConfigs type (#7537) 2024-08-20 14:08:51 -07:00
Antoine Tollenaere ee5cbce343
ringhash: fix bug where ring hash can be stuck in transient failure despite having available endpoints (#7364) 2024-08-20 10:39:14 -07:00
Jonathan Halterman 6a5a283b69
Use builtin min and max functions (#7478)
* Use builtin min and max functions

Go added builtin min and max functions in 1.21. This commit removes existing functions and uses the built-ins in stead.

* Revert gofmt changes
2024-08-20 10:42:02 +05:30
Arjan Singh Bal 90caeb34c8
deps: update dependencies for all modules (#7531)
* Bump dependencies after release branch cut

* Regenerate protos
2024-08-19 22:54:01 +05:30
Doug Fawley f8d98a477c
rbac: fix usage of AuthInfo (#7522) 2024-08-16 15:03:58 -07:00
Abhishek Ranjan 4e29cc6e31
transport: add timeout for writing GOAWAY on http2Client.Close() (#7371) 2024-08-16 14:57:44 -07:00
Ricardo Fernández 5d07b636a7
transport: change `*http2Client` to interface `ClientTransport` (#7512) 2024-08-15 09:09:27 -07:00
Easwar Swaminathan c98235b960
grpclog: refactor to move implementation to grpclog/internal (#7465) 2024-08-14 16:54:38 -07:00
Easwar Swaminathan 6d7f07c99f
test/tools: update staticcheck version to latest (#7509) 2024-08-14 14:32:55 -07:00
Zach Reyes 9706bf8035
balancer/rls: Add cache metrics (#7495) 2024-08-14 15:25:44 -04:00
Nathan Baulch c8951abc16
*: fix minor typos (#7487)
* Fix typos

* Fix reflecton tests
2024-08-14 22:43:01 +05:30