Skip to content

API Simplification of AIGW Proposals #784

@missBerg

Description

@missBerg

The purpose of this issue is to consolidate the conversations on the simplification on API Design into a single place and ensure we take action.


API Simplification

Scope: Resource renaming and consolidation

Proposed Deliverables

  • RFC for AIGatewayRouteAIRoute & AIServiceBackendAIBackend rename
  • Plan to merge BackendSecurityPolicy into AIBackend
  • Backward compatibility considerations
  • Migration guidance

Summary of Recent Discussions from GitHub Issues

1. Resource Abstraction and Simplification (Issues #675, #764)

Current State:

  • Complex resource hierarchy: GatewayClass -> Gateway -> AIGatewayRoute -> AIServiceBackend + n * Backend + n * BackendSecurityPolicy + n * BackendTLSPolicy
  • Multiple separate CRDs requiring coordination
  • Poor UX due to resource proliferation

Proposed Changes:

  • Simplified hierarchy: GatewayClass -> Gateway -> AIRoute -> AIBackend
  • Merge Backend, BackendSecurityPolicy, and BackendTLSPolicy into AIBackend
  • Rename AIGatewayRoute to AIRoute and AIServiceBackend to AIBackend

Recent Community Feedback:

  • @Xunzhuo: "+1 for this, would love to make API simplify" - highlights UX and frontend engineering concerns
  • @arkodg: Suggests removing "Service" prefix as redundant
  • @missBerg: Questions whether BackendSecurityPolicy should be promoted to Envoy Gateway upstream

Status: Active discussion with community poll proposed

2. Gateway API Extension Points (Issue #764)

Proposal:

  • Replace custom CRDs with Gateway API extensions using:
    • Policy extensions
    • Filter extensions
    • BackendRef extensions
  • Leverage Extension Server for translation

Arguments For:

  • Better ecosystem integration
  • Reuse existing Gateway API tools/workflows
  • Easier adoption for existing Gateway API users

Arguments Against:

  • Still requires separate CRD (AIProviderPolicy)
  • Complex translation layer needed
  • May not handle AI-specific requirements (priority, model names)

Recent Comments:

  • @arkodg: "highlight the simplified interaction with EG extension usage"
  • @yuzisun: "It is not as simple as a httproute reference anymore, we added the priority and model name to the backend refs"
  • @mathetake: Add a priority to a backendRef kubernetes-sigs/gateway-api#1802 this is the route rule level priority issue in GWAPI upstream. Basically, it allows users to configure "priority depending on the model name" which is critical for egress fallback cases like us, and we have that priority at AIGatewayRoute's rule level. So, technically currently impossible to reuse HTTPRoute as-is.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiControl Plane API

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions