Skip to content

Update agentgateway implementation - #28

Open
keithmattix wants to merge 4 commits into
kagent-dev:mainfrom
keithmattix:wire-up-agw-e2es
Open

Update agentgateway implementation#28
keithmattix wants to merge 4 commits into
kagent-dev:mainfrom
keithmattix:wire-up-agw-e2es

Conversation

@keithmattix

Copy link
Copy Markdown
Collaborator

Update the substrate config with all of the agentgateway changes we've been making upstream

Comment thread internal/e2e/suites/parking/parking_test.go Outdated
// actor that really does speak gRPC.
func TestIngressProtocolDowngrade(t *testing.T) {
ctx := context.Background()
if e2e.RouterIsAgentgateway(ctx, t) {

@keithmattix keithmattix Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think this only exists because Envoy isn't exclusively using CONNECT. We are so don't need to worry about the version negotiation; we skip the test because we don't implement it

@keithmattix keithmattix changed the title Get agentgateway passing CI Update agentgateway implementation Sep 1, 2026
@EItanya
EItanya force-pushed the main branch 4 times, most recently from 07b8a46 to 243ec3e Compare September 2, 2026 17:46
@keithmattix
keithmattix force-pushed the wire-up-agw-e2es branch 2 times, most recently from 1949b14 to 4d476b2 Compare September 3, 2026 12:58
E2E_TEMPLATE_NAMESPACE: ate-demo-counter-microvm
E2E_TEMPLATE_NAME: counter-microvm
E2E_TEMPLATE_READY_TIMEOUT: 600s
E2E_SANDBOX_CLASS: microvm

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think this was changed in a rebase; it should probably be changed back

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Codex says this is needed to fix the helm e2e; @EItanya can you confirm?

Add e2e.RouterIsAgentgateway, detected from the atenet-router Deployment's
containers, and gate the Envoy-only assertions on it: the h2-to-h1
downgrade contract is Envoy's protocol mirroring to atunnel, which
agentgateway does not implement.
Bump agentgateway to a nightly that authorizes the actor identity before
terminating any CONNECT tunnel and retries stale worker assignments on the
CONNECT leg by evicting and re-resolving through ResumeActor.

substrateEgress accordingly moves from a policy on the internal HTTP route
to frontendPolicies in the egress ConfigMaps (manifests component, MITM
overlay, and the Helm chart): the frontend check covers HTTP, TLS, and
opaque TCP tunnels alike, where the old route policy silently exempted the
TLS and TCP passthrough routes. This closes the hole where a certificate
for an unknown actor could open a tunnel, and makes suspended actors
resumable through the router again.
The e2e-test job's install step waits for each ate-system workload with
the script's default 60s rollout timeout. That default assumes warm
image caches; on a fresh CI runner every image (postgres, the
agentgateway proxy for both router and egress, ...) is cold-pulled from
public registries concurrently, and the first wait in line regularly
exceeds 60s on pull latency alone. Give the install a 300s per-workload
budget, matching the tolerance the helm-e2e workflow already has.
helm-e2e waited for condition=Ready on the counter-microvm ActorTemplate
CRD after deploying the demo. The cutover to the substrate ActorTemplate
proto removed the CRD golden flow and then the CRD itself, so the wait
can never succeed. The demo deploy now creates the substrate template
and waits for its golden snapshot internally, so drop the separate wait
step and point the micro-VM test lane at the substrate fixtures with the
E2E_SANDBOX_CLASS knob pr-workflow already uses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant