How googlecloudplatform/service-extensions works
This repository is a collection of Google Cloud Service Extensions recipes, not one runtime application. Its principal workflow is a load balancer invoking a user-managed gRPC callout during request processing, where an extension handles HTTP or network data and returns processing actions. It also provides Wasm plugin samples that run inline in the networking data path. The tree and excerpts establish the server and example boundaries; unsampled example and plugin internals are represented only at directory level, so their detailed call relationships are not inferred.
Main entry points: network_service_callout_example.py Layer 4 example · network_callout_server.py Network callout · callout_server.py gRPC callout · command_line_tools.py Server options
Components 18
Callout servers
- gRPC callout
callouts/python/extproc/service/callout_server.py - Network callout
callouts/python/extproc/service/network_callout_server.py - Server options
callouts/python/extproc/service/command_line_tools.py - Go gRPC server
callouts/go/extproc/internal/server/callout_server.go - Go mutation tools
callouts/go/extproc/pkg/utils/callout_tools.go - Java gRPC server
callouts/java/service-callout/src/main/java/service/ServiceCallout.java - Java mutation tools
callouts/java/service-callout/src/main/java/service/ServiceCalloutTools.java - Java TLS utilities
callouts/java/service-callout/src/main/java/utils/SslUtils.java
HTTP processing examples
- HTTP callout recipes
callouts/python/extproc/example - Layer 4 example
callouts/python/extproc/l4_example/network_basic/network_service_callout_example.py - Go callout recipes
callouts/go/extproc/examples - Java callout recipes
callouts/java/service-callout/src/main/java/example
Authorization examples
- Authorization server
callouts/python/extauthz/service/callout_server.py - Authorization recipes
callouts/python/extauthz/example
Wasm plugins
- Managed Wasm runtime
- A/B testing sample
plugins/samples/ab_testing - Ad insertion sample
plugins/samples/ad_insertion
Other components
- Cloud load balancer
Connections 8
- Cloud load balancer → gRPC callout: makes gRPC calls
README.md - Cloud load balancer → Network callout: processes network data
- Layer 4 example → Server options: parses options
callouts/python/extproc/l4_example/network_basic/network_service_callout_example.py - Layer 4 example → Network callout: subclasses
callouts/python/extproc/l4_example/network_basic/network_service_callout_example.py - Cloud load balancer → Authorization server: checks authorization
- Managed Wasm runtime → A/B testing sample: runs sample
- Managed Wasm runtime → Ad insertion sample: runs sample
- Managed Wasm runtime → Cloud load balancer: inserts inline code
README.md