Skip to content
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
110fdca
API + implementation of AgentgatewayParameters
chandler-solo Dec 4, 2025
c38e07b
Remove NOTE comment
chandler-solo Dec 5, 2025
bf29c25
fixup settings_test
chandler-solo Dec 5, 2025
c33b491
fixup test/deployer
chandler-solo Dec 5, 2025
11f8537
More tests, one broken at the moment
chandler-solo Dec 5, 2025
da226b0
Yet more tests, log format broken at the moment
chandler-solo Dec 5, 2025
fd12d20
API review feedback
chandler-solo Dec 5, 2025
2bc2cfa
ShutdownSpec requires both minSeconds and maxSeconds
chandler-solo Dec 5, 2025
72ff6d3
API changes re: reviewer feedback
chandler-solo Dec 5, 2025
6596b97
SMP test case
chandler-solo Dec 5, 2025
f7b1fc9
LogFormat with checksum
chandler-solo Dec 5, 2025
e657d7e
API lint
chandler-solo Dec 5, 2025
1f1bc12
fixup for Metadata pointer change plus API doc cleanup (needs make ge…
chandler-solo Dec 5, 2025
d56d53c
WIP merge GWC + GW, do not replace GWC's AGWP
chandler-solo Dec 5, 2025
145533b
fixup
chandler-solo Dec 5, 2025
1647bb4
Remove labels & annotations that apply to all resources
chandler-solo Dec 5, 2025
e9f9387
test fixup after deleting affects-all-resources labels & annotations
chandler-solo Dec 5, 2025
14704e3
RUST_LOG plumbed
chandler-solo Dec 5, 2025
6af70cc
fixup tests
chandler-solo Dec 5, 2025
ff33a59
Merge remote-tracking branch 'origin/main' into chandler/api/agwp
chandler-solo Dec 5, 2025
a7ba758
fixup
chandler-solo Dec 5, 2025
03d7a2f
fixup
chandler-solo Dec 5, 2025
6431d3d
fixup unit tests
chandler-solo Dec 6, 2025
02447b0
test case re: GWP affinity, nodeSelector, et al.
chandler-solo Dec 6, 2025
e9dfe28
TestRenderHelmChart improvements.
chandler-solo Dec 6, 2025
eba6bc5
Adds rawConfig - no one has to touch a configmap to touch config.yaml
chandler-solo Dec 6, 2025
9de6aa2
a more explicit test case for strategic-merge-patch add/delete/replac…
chandler-solo Dec 8, 2025
6f42c44
Removes status cruft from the API
chandler-solo Dec 8, 2025
819928f
Fixes the merge with commit 57fbc1ec00631c2a0b633952c76c8145673a26cd
chandler-solo Dec 8, 2025
a7178d4
e2e test for last commit
chandler-solo Dec 8, 2025
6af4a7d
fixup lint
chandler-solo Dec 8, 2025
4f8714b
fixup: clean up test/deployer input YAML to avoid talking about the e…
chandler-solo Dec 8, 2025
b1da06f
fix: Text/Json vs. text/json
chandler-solo Dec 8, 2025
b587946
replace minSeconds/maxSeconds with min/max per code review feedback
chandler-solo Dec 8, 2025
4736ff1
fixup
chandler-solo Dec 8, 2025
03c08a2
fixup
chandler-solo Dec 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,13 @@ test-with-coverage: GINKGO_FLAGS += $(GINKGO_COVERAGE_FLAGS)
test-with-coverage: test
go tool cover -html $(OUTPUT_DIR)/coverage.cov

.PHONY: golden-deployer
golden-deployer: ## Refreshes golden files for ./test/deployer snapshot testing
REFRESH_GOLDEN=true go test ./test/deployer/... > /dev/null || true
@echo ""
@echo "This must pass after refreshing:"
go test ./test/deployer/...

#----------------------------------------------------------------------------------
# Env test
#----------------------------------------------------------------------------------
Expand Down
6 changes: 6 additions & 0 deletions api/settings/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,12 @@ type Settings struct {
// EnableExperimentalGatewayAPIFeatures enables kgateway to support experimental features and APIs
EnableExperimentalGatewayAPIFeatures bool `split_words:"true" default:"true"`

// GwpAgwpCompatibility controls whether agentgateway data plane Gateways can use
// GatewayParameters. When set to false, only AgentgatewayParameters are allowed,
// and using GatewayParameters will result in an error. Defaults to true for
// backward compatibility.
GwpAgwpCompatibility bool `split_words:"true" default:"true"`

// GatewayClassParametersRefs configures the GatewayParameters references to set on the default GatewayClasses.
// Format: JSON map where keys are GatewayClass names and values are objects with "name" (required),
// "namespace" (required), "group" (optional), and "kind" (optional) fields.
Expand Down
4 changes: 4 additions & 0 deletions api/settings/settings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ func allEnvVarsSet() map[string]string {
"KGW_XDS_AUTH": "false",
"KGW_XDS_TLS": "true",
"KGW_ENABLE_EXPERIMENTAL_GATEWAY_API_FEATURES": "false",
"KGW_GWP_AGWP_COMPATIBILITY": "false",
}
}

Expand Down Expand Up @@ -104,6 +105,7 @@ func TestSettings(t *testing.T) {
XdsAuth: true,
XdsTLS: false,
EnableExperimentalGatewayAPIFeatures: true,
GwpAgwpCompatibility: true,
GatewayClassParametersRefs: GatewayClassParametersRefs{},
},
},
Expand Down Expand Up @@ -143,6 +145,7 @@ func TestSettings(t *testing.T) {
XdsAuth: false,
XdsTLS: true,
EnableExperimentalGatewayAPIFeatures: false,
GwpAgwpCompatibility: false,
GatewayClassParametersRefs: GatewayClassParametersRefs{
"kgateway": {
Name: "custom-gwp",
Expand Down Expand Up @@ -234,6 +237,7 @@ func TestSettings(t *testing.T) {
XdsAuth: true,
XdsTLS: false,
EnableExperimentalGatewayAPIFeatures: true,
GwpAgwpCompatibility: true,
GatewayClassParametersRefs: GatewayClassParametersRefs{},
},
},
Expand Down
40 changes: 40 additions & 0 deletions api/tests/testdata/agentgateway_parameters_invalid.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
_err: "min' value must be less than or equal to the 'max"
apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayParameters
metadata:
name: shutdown-min-gt-max
spec:
shutdown:
min: 61
max: 60
---
# min and max are required, which avoids the more confusing error
# "AgentgatewayParameters/shutdown-min-gt-max/: spec.shutdown: Invalid value:
# \"object\": no such key: min evaluating rule: The 'min' value
# must be less than or equal to the 'max' value."
_err: "AgentgatewayParameters/shutdown-min-gt-max/: spec.shutdown.min: Required value"
apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayParameters
metadata:
name: shutdown-min-gt-max
spec:
shutdown:
max: 60
---
_err: "AgentgatewayParameters/shutdown-min-gt-max/: spec.shutdown.max: Required value"
apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayParameters
metadata:
name: shutdown-min-gt-max
spec:
shutdown:
min: 0
---
_err: "Unsupported value"
apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayParameters
metadata:
name: logging-format-invalid
spec:
logging:
format: Unknown
8 changes: 8 additions & 0 deletions api/tests/testdata/agentgateway_parameters_valid.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayParameters
metadata:
name: shutdown-min-gt-max
spec:
shutdown:
max: 0
min: 0
Loading
Loading