You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(weather-agent): apply UI testing feedback to advanced demo
Round of fixes from a real run-through of the UI flow:
- Step 2: button label is "Build & Deploy Tool" (not "Deploy Tool"); add
explicit Target Port: 8000.
- Step 2 / Step 3: prepend a callout that the tool/agent names MUST be
the -advanced variants. Importing as plain weather-tool /
weather-service silently breaks token exchange because the Service
ends up as weather-tool-mcp instead of weather-tool-advanced-mcp,
MCP_URL stops resolving, and the Keycloak audience scopes registered
by Step 1 don't match the workload SPIFFE.
- Step 3: reorder Outbound Routing Rules to come right after SPIRE,
before Service Port — matches the actual import-form layout. Replace
the labeled-column table with a positional 3-field list because the
UI form fields are currently unlabeled.
- Step 4: note that the Agent Catalog shows BOTH workloads (the
advanced demo labels the tool kagenti.io/type=agent so AuthBridge
gets injected; injectTools feature gate is off by default), and the
Tool Catalog is empty. Without the note this looks broken.
- Cleanup: also delete Shipwright Build + BuildRun. The Kagenti backend
reconciliation service treats orphaned builds as "needs deployment"
and re-creates the Deployment + Service + ServiceAccount within
seconds, making it impossible to delete via kubectl alone.
- Troubleshooting: add rows for the recreated-on-delete and
wrong-MCP-URL symptoms above.
Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Mariusz Sabath <mrsabath@gmail.com>
**View Details**. The agent card should render (proves the agent is up and
171
194
`/.well-known/*` is bypassed).
@@ -234,6 +257,8 @@ Useful env knobs:
234
257
| Token exchange denied | Tool client missing `standard.token.exchange.enabled`| Re-run setup with `--wait-tool-client` after the tool pod registers. |
235
258
| Tool pod CrashLoopBackOff (`mcp` container) | The `weather_tool` image runs as UID 1001; a `securityContext` overriding the user breaks `uv run`| Use the manifests in `k8s/` as-is (they set `runAsUser/Group/fsGroup: 1001`). On OpenShift, see the [upstream Dockerfile](https://github.com/kagenti/agent-examples/blob/main/mcp/weather_tool/Dockerfile). |
236
259
| Tool ingress logs missing `[Inbound]`| Combined sidecar uses different log text | Grep for `Token validated` instead, or increase log window. |
260
+
| Deleted the agent or tool, but the Deployment + Service reappear within seconds | The Kagenti backend's reconciliation service finalizes "orphaned" Shipwright builds by re-creating workloads | Also delete the Shipwright `Build` and `BuildRun` (see the [Cleanup](#cleanup) snippet). |
261
+
| Chat returns `Cannot connect to MCP weather service at http://weather-tool-advanced-mcp:8000/mcp`| UI import used the standard names (`weather-tool` / `weather-service`) instead of `-advanced`, so the actual Service is `weather-tool-mcp` and `MCP_URL` doesn't resolve | Re-import using the exact `-advanced` names. The Keycloak script from Step 1 also expects those names. |
237
262
238
263
Tool ingress and agent outbound logs (container name varies by AuthBridge mode
239
264
— `authbridge-proxy` for proxy-sidecar default, `envoy-proxy` for envoy-sidecar):
0 commit comments