Skip to content

Conversation

@chandler-solo
Copy link
Contributor

@chandler-solo chandler-solo commented Dec 10, 2025

Description

A breaking change for agentgateway data plane users that:

  • renames GatewayClass agentgateway to agentgateway-v2
  • renames controllerName from kgateway.dev/agentgateway to agentgateway.dev/agentgateway

Controller agentgateway.dev/agentgateway works exactly like kgateway.dev/agentgateway, but has a new name.

The recent GVK split of custom resources necessitates that old agentgateway Gateways be replaced with new Gateways that use controller agentgateway.dev/agentgateway, and the most typical way to do that is by using the bundled GatewayClass agentgateway-v2

Change Type

/kind breaking_change

Changelog

Renames controller kgateway.dev/agentgateway to agentgateway.dev/agentgateway, breaking legacy agentgateway installations. The bundled GatewayClass using the agentgateway data plane is renamed from `agentgateway` to `agentgateway-v2`.

Additional Notes

This litters the GatewayClass agentgateway because it's not safe to delete it. You might have an older version of kgateway running side-by-side that still controls legacy agentgateway Gateways as you perform a blue/green deployment to modern Gateways that use GatewayClass agentgateway-v2. Consider deleting that GatewayClass yourself if you never used it or have stopped using it.

... from kgateway.dev/agentgateway

Controller agentgateway.dev/agentgateway works exactly like
kgateway.dev/agentgateway, but has a new name.

The recent GVK split inspires this.

Signed-off-by: David L. Chandler <[email protected]>
@chandler-solo chandler-solo added the work in progress Indicates that a PR should not merge because it is a work in progress label Dec 10, 2025
@chandler-solo chandler-solo changed the title feat: controllerName rename to agentgateway.dev/agentgateway [WIP] feat: controllerName rename to agentgateway.dev/agentgateway Dec 10, 2025
The GVK split breaks Gateways using the old class, so it's time for a new
class.

Signed-off-by: David L. Chandler <[email protected]>
Signed-off-by: David L. Chandler <[email protected]>
@chandler-solo chandler-solo changed the title [WIP] feat: controllerName rename to agentgateway.dev/agentgateway feat: GatewayClass agentgateway-v2, controllerName agentgateway.dev/agentgateway Dec 10, 2025
@lgadban lgadban self-requested a review December 11, 2025 15:20
@lgadban lgadban linked an issue Dec 11, 2025 that may be closed by this pull request
@josh-pritchard josh-pritchard removed the work in progress Indicates that a PR should not merge because it is a work in progress label Dec 11, 2025
@chandler-solo
Copy link
Contributor Author

/retest

josh-pritchard and others added 4 commits December 11, 2025 11:59
Signed-off-by: Joshua Pritchard <[email protected]>
Signed-off-by: David L. Chandler <[email protected]>
Signed-off-by: David L. Chandler <[email protected]>
Signed-off-by: David L. Chandler <[email protected]>
@josh-pritchard
Copy link
Contributor

/retest

@josh-pritchard
Copy link
Contributor

Not real failures error: unable to read URL "https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/experimental-install.yaml", server reported 504 Gateway Timeout, status code=504

Copy link
Contributor

@josh-pritchard josh-pritchard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@josh-pritchard
Copy link
Contributor

/retest

Comment on lines +86 to 87
// If the Gateway uses a GatewayClass with controllerName: agentgateway.dev/agentgateway,
// the EnvoyContainer values will be ignored.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this accurate now?

rather, I see that it's accurate, but is it relevant as an API doc going forward?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#13101 resolves this.

// The agentgateway dataplane is automatically used when the Gateway references a GatewayClass
// with controllerName: kgateway.dev/agentgateway.
// with controllerName: agentgateway.dev/agentgateway.
type Agentgateway struct {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

breadcrumb for followup:
shouldn't this whole thing be removed now?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#13101 resolves this too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for posterity, these changes are all that is needed for the GwClass provisioner to work correctly with the new GwClass name/controllerName

@lgadban lgadban enabled auto-merge December 11, 2025 18:03
@josh-pritchard
Copy link
Contributor

/retest

@lgadban lgadban added this pull request to the merge queue Dec 11, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 11, 2025
@josh-pritchard
Copy link
Contributor

/merge

@gateway-bot gateway-bot added this pull request to the merge queue Dec 11, 2025
Merged via the queue into kgateway-dev:main with commit 37186d7 Dec 11, 2025
46 of 54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create new GatewayClass with separate controllerName for agw

4 participants