Skip to content

Commit 0f42d52

Browse files
committed
Merge branch 'main' of ssh://github.com/envoyproxy/ai-gateway
2 parents fcdc8ba + 83600d7 commit 0f42d52

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+811
-415
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,5 @@ updates:
2525
- "*"
2626
ignore:
2727
- dependency-name: "github.com/envoyproxy/gateway"
28+
# Usually, this requires manual changes to the codebase.
29+
- dependency-name: "sigs.k8s.io/gateway-api-inference-extension"

.github/workflows/build_and_test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
~/go/pkg/mod
6868
~/go/bin
6969
key: unittest-${{ hashFiles('**/go.mod', '**/go.sum', '**/Makefile') }}-${{ matrix.os }}
70-
- run: make test-coverage
70+
- run: make test-coverage GO_TEST_ARGS='-race'
7171
- name: Upload coverage to Codecov
7272
if: matrix.os == 'ubuntu-latest'
7373
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3

.trivyignore

Lines changed: 0 additions & 4 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ First of all, there are only three minimal prerequisites to contribute to the pr
1010
- `make`
1111
- `docker`
1212

13-
which we assume you already have installed on your machine. Also, on macOS, you would need to install
14-
`brew install ca-certificates` to run some integration tests.
13+
which we assume you already have installed on your machine.
1514

1615
Assuming you have already cloned the repository on a local machine either macOS or some Linux distribution,
1716
the only make targets you would need to run are listed via

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ HELM_CHART_VERSION ?= v0.0.0-latest
3030

3131
# Arguments for go test. This can be used, for example, to run specific tests via
3232
# `GO_TEST_ARGS="-run TestName/foo/etc -v -race"`.
33-
GO_TEST_ARGS ?= -race
33+
GO_TEST_ARGS ?=
3434
# Arguments for go test in e2e tests in addition to GO_TEST_ARGS, applicable to test-e2e, test-extproc, and test-controller.
35-
GO_TEST_E2E_ARGS ?= -count=1
35+
GO_TEST_E2E_ARGS ?= -count=1 -timeout 30m
3636

3737
## help: Show this help info.
3838
.PHONY: help
@@ -200,7 +200,7 @@ test-e2e-namespaced: build-e2e
200200
.PHONY: test-e2e-aigw
201201
test-e2e-aigw: build.aigw ## Run the end-to-end tests for the aigw CLI.
202202
@echo "Run aigw CLI E2E tests"
203-
@go test -v ./tests/e2e-aigw/... -timeout 30m $(GO_TEST_E2E_ARGS)
203+
@go test -v ./tests/e2e-aigw/... $(GO_TEST_E2E_ARGS)
204204

205205
##@ Common
206206

api/v1alpha1/mcp_route.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ type MCPToolFilter struct {
143143

144144
// MCPBackendSecurityPolicy defines the security policy for a sp
145145
type MCPBackendSecurityPolicy struct {
146-
// APIKey is a mechanism to access a backend. The API key will be injected into the Authorization header.
146+
// APIKey is a mechanism to access a backend. The API key will be injected into the request headers.
147147
// +optional
148148
APIKey *MCPBackendAPIKey `json:"apiKey,omitempty"`
149149
}
@@ -161,6 +161,16 @@ type MCPBackendAPIKey struct {
161161
//
162162
// +optional
163163
Inline *string `json:"inline,omitempty"`
164+
165+
// Header is the HTTP header to inject the API key into. If not specified,
166+
// defaults to "Authorization".
167+
// When the header is "Authorization", the injected header value will be
168+
// prefixed with "Bearer ".
169+
//
170+
// +kubebuilder:validation:Optional
171+
// +kubebuilder:validation:MinLength=1
172+
// +optional
173+
Header *string `json:"header,omitempty"`
164174
}
165175

166176
// MCPRouteSecurityPolicy defines the security policy for a MCPRoute.

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/aigw/run.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,7 @@ func run(ctx context.Context, c cmdRun, o *runOpts, stdout, stderr io.Writer) er
8989
start := time.Now()
9090

9191
// First, we need to create the self-signed certificates used for communication between the EG and Envoy.
92-
// Certificates will be placed at /tmp/envoy-gateway/certs, which is currently is not configurable:
93-
// https://github.com/envoyproxy/gateway/blob/779c0a6bbdf7dacbf25a730140a112f99c239f0e/internal/infrastructure/host/infra.go#L22-L23
94-
//
95-
// TODO: Override Envoy Gateway cert directory to use $AIGW_RUNTIME_DIR once possible via
96-
// https://github.com/envoyproxy/gateway/pull/7225
92+
// Certificates will be placed at ~/.config/envoy-gateway/certs, which is the default location used by Envoy Gateway.
9793
certGenOut := &bytes.Buffer{}
9894
certGen := root.GetRootCommand()
9995
certGen.SetOut(certGenOut)

examples/mcp/openai-github.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ spec:
206206
path: "/mcp/x/issues/readonly"
207207
toolSelector:
208208
include:
209-
- get_issue
209+
- issue_read
210210
- list_issues
211211
securityPolicy:
212212
apiKey:

go.mod

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ require (
1010
github.com/alecthomas/kong v1.12.1
1111
github.com/andybalholm/brotli v1.2.0
1212
github.com/anthropics/anthropic-sdk-go v1.14.0
13-
github.com/aws/aws-sdk-go-v2 v1.39.3
13+
github.com/aws/aws-sdk-go-v2 v1.39.4
1414
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.2
15-
github.com/aws/aws-sdk-go-v2/config v1.31.13
16-
github.com/aws/aws-sdk-go-v2/service/sts v1.38.7
15+
github.com/aws/aws-sdk-go-v2/config v1.31.15
16+
github.com/aws/aws-sdk-go-v2/service/sts v1.38.9
1717
github.com/cenkalti/backoff/v4 v4.3.0
1818
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443
1919
github.com/coreos/go-oidc/v3 v3.16.0
2020
github.com/docker/docker v28.5.1+incompatible
21-
github.com/envoyproxy/gateway v0.5.0-rc.1.0.20251020052851-16aa8100498d
21+
github.com/envoyproxy/gateway v1.6.0-rc.0.0.20251028174200-282c916a47e1
2222
github.com/envoyproxy/go-control-plane v0.13.5-0.20250929230642-07d3df27ff4f
2323
github.com/envoyproxy/go-control-plane/envoy v1.35.1-0.20250929230642-07d3df27ff4f
2424
github.com/go-logr/logr v1.4.3
@@ -55,8 +55,8 @@ require (
5555
golang.org/x/oauth2 v0.32.0
5656
golang.org/x/sync v0.17.0
5757
golang.org/x/tools v0.38.0
58-
google.golang.org/api v0.252.0
59-
google.golang.org/genai v1.31.0
58+
google.golang.org/api v0.253.0
59+
google.golang.org/genai v1.32.0
6060
google.golang.org/grpc v1.76.0
6161
google.golang.org/protobuf v1.36.10
6262
gopkg.in/dnaeon/go-vcr.v4 v4.0.5
@@ -87,15 +87,15 @@ require (
8787
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
8888
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
8989
github.com/avast/retry-go v3.0.0+incompatible // indirect
90-
github.com/aws/aws-sdk-go-v2/credentials v1.18.17 // indirect
91-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.10 // indirect
92-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.10 // indirect
93-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.10 // indirect
90+
github.com/aws/aws-sdk-go-v2/credentials v1.18.19 // indirect
91+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.11 // indirect
92+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.11 // indirect
93+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.11 // indirect
9494
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
9595
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.2 // indirect
96-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.10 // indirect
97-
github.com/aws/aws-sdk-go-v2/service/sso v1.29.7 // indirect
98-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.2 // indirect
96+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.11 // indirect
97+
github.com/aws/aws-sdk-go-v2/service/sso v1.29.8 // indirect
98+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.3 // indirect
9999
github.com/aws/smithy-go v1.23.1 // indirect
100100
github.com/beorn7/perks v1.0.1 // indirect
101101
github.com/blang/semver/v4 v4.0.0 // indirect
@@ -164,14 +164,14 @@ require (
164164
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
165165
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
166166
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
167-
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
167+
github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 // indirect
168168
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
169169
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect
170170
github.com/inconshreveable/mousetrap v1.1.0 // indirect
171171
github.com/josharian/intern v1.0.0 // indirect
172172
github.com/json-iterator/go v1.1.12 // indirect
173173
github.com/kelseyhightower/envconfig v1.4.0 // indirect
174-
github.com/klauspost/compress v1.18.0 // indirect
174+
github.com/klauspost/compress v1.18.1 // indirect
175175
github.com/kylelemons/godebug v1.1.0 // indirect
176176
github.com/lufia/plan9stats v0.0.0-20251013123823-9fd1530e3ec3 // indirect
177177
github.com/lyft/gostats v0.4.1 // indirect
@@ -229,7 +229,7 @@ require (
229229
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
230230
go.opentelemetry.io/contrib/bridges/prometheus v0.63.0 // indirect
231231
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
232-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
232+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect
233233
go.opentelemetry.io/contrib/propagators/aws v1.38.0 // indirect
234234
go.opentelemetry.io/contrib/propagators/b3 v1.38.0 // indirect
235235
go.opentelemetry.io/contrib/propagators/jaeger v1.38.0 // indirect
@@ -253,10 +253,10 @@ require (
253253
golang.org/x/sys v0.37.0 // indirect
254254
golang.org/x/term v0.36.0 // indirect
255255
golang.org/x/text v0.30.0 // indirect
256-
golang.org/x/time v0.13.0 // indirect
256+
golang.org/x/time v0.14.0 // indirect
257257
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
258-
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect
259-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797 // indirect
258+
google.golang.org/genproto/googleapis/api v0.0.0-20250929231259-57b25ae835d4 // indirect
259+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251014184007-4626949a642f // indirect
260260
google.golang.org/grpc/security/advancedtls v1.0.0 // indirect
261261
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
262262
gopkg.in/inf.v0 v0.9.1 // indirect

0 commit comments

Comments
 (0)