Standalone create/edit/delete pages for Gateway and Reference grant resources, accessible from nav items and overview table actions. Reuses form components from the infrastructure setup wizard (#3).
MCP Gateway page:
Tabs — Overview | YAML | Definition | Policies
- Overview tab (form):
TextInput — MCP Gateway name (required), Namespace (required)
Select — Gateway class
- Listeners section (vertical tabs per listener):
TextInput — Listener name, Port
Select — Protocol, TLS certificate
Radio — Allow routes from namespaces (All / Same / Custom)
Button (secondary) — "Add listener"
Switch — Private Gateway IP address
Switch — Enable AI payload inspection
- YAML tab:
CodeEditor with pre-populated Gateway template
- Actions
Dropdown (kebab): Edit MCP, Delete MCP
Button (primary): Save, Button (secondary): Cancel
- Delete: confirmation
Modal → k8sDelete
Reference grant page:
Tabs — Overview | YAML | Policies
- Overview tab (form):
TextInput — Grant name (required), Namespace (required)
- Grant access from these namespaces section (vertical tabs per entry):
TextInput — From namespace
Select — Resource kind (MCPGatewayExtension)
Button (secondary) — "Add access for namespace"
- To this Gateway section:
TextInput — Namespace
Select — Resource kind (Gateway)
- YAML tab:
CodeEditor
- Delete: confirmation
Modal → k8sDelete
Button (primary): Save, Button (secondary): Cancel
K8s resources:
Gateway (gateway.networking.k8s.io/v1) — k8sCreate / k8sGet / k8sUpdate / k8sDelete
ReferenceGrant (gateway.networking.k8s.io/v1beta1) — k8sCreate / k8sGet / k8sUpdate / k8sDelete
Designs: https://www.figma.com/proto/oizjCN6EVed31dW71YXS3K/RHCL-MCP?node-id=1-25180
Definition of done
Standalone create/edit/delete pages for Gateway and Reference grant resources, accessible from nav items and overview table actions. Reuses form components from the infrastructure setup wizard (#3).
MCP Gateway page:
Tabs— Overview | YAML | Definition | PoliciesTextInput— MCP Gateway name (required), Namespace (required)Select— Gateway classTextInput— Listener name, PortSelect— Protocol, TLS certificateRadio— Allow routes from namespaces (All / Same / Custom)Button(secondary) — "Add listener"Switch— Private Gateway IP addressSwitch— Enable AI payload inspectionCodeEditorwith pre-populated Gateway templateDropdown(kebab): Edit MCP, Delete MCPButton(primary): Save,Button(secondary): CancelModal→k8sDeleteReference grant page:
Tabs— Overview | YAML | PoliciesTextInput— Grant name (required), Namespace (required)TextInput— From namespaceSelect— Resource kind (MCPGatewayExtension)Button(secondary) — "Add access for namespace"TextInput— NamespaceSelect— Resource kind (Gateway)CodeEditorModal→k8sDeleteButton(primary): Save,Button(secondary): CancelK8s resources:
Gateway(gateway.networking.k8s.io/v1) —k8sCreate/k8sGet/k8sUpdate/k8sDeleteReferenceGrant(gateway.networking.k8s.io/v1beta1) —k8sCreate/k8sGet/k8sUpdate/k8sDeleteDesigns: https://www.figma.com/proto/oizjCN6EVed31dW71YXS3K/RHCL-MCP?node-id=1-25180
Definition of done