feat(grid-provider-traffic): add provider selection demo - #15
Draft
nerdalert wants to merge 1 commit into
Draft
Conversation
Signed-off-by: Brent Salisbury <bsalisbu@redhat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This draft PR adds the focused
grid-provider-trafficdemonstration to thepublic demos repository.
It shows Grid-programmed provider selection across three distinct provider
gateways, with one consumer gateway performing local
intelligent_routeround-robin selection inside the active group.
The demo intentionally keeps one consumer entrypoint so the provider-level
selection behavior is easy to see. The architecture supports multiple
consumer/edge gateways for scale-out; each gateway maintains local selection
state rather than using a globally coordinated request-time counter.
Grid selects among provider gateways. Endpoint, replica, or backend selection
inside an individual provider gateway remains the responsibility of that
provider's independent serving stack.
Capabilities demonstrated
routingPolicy: scoreFirst.scoringPolicy.strategy: noMetrics.selectionPolicy.mode: roundRobin.NewAndExistingcandidates in selection group 0.This PR does not claim weighted routing, metric-derived traffic ratios,
provider-local replica balancing, GLB, DNS/GTM routing, globally coordinated
round-robin, or automatic retry after an upstream request has started.
Pinned development images
The demo uses immutable project-owned development image tags and records their
expected registry digests in
demos/grid-provider-traffic/configs/images.env.It does not require local container builds.
ghcr.io/nerdalert/praxis-ai:grid-provider-selection-otel-20260814-536534aba5c1ghcr.io/nerdalert/grid-operator:provider-selection-20260814-d965540dad8dghcr.io/nerdalert/grid-overlay-sync:provider-selection-20260814-d965540dad8dghcr.io/neuralmagic/vllm-vcr:vllm0.23The tracing UI image is documented as an optional supporting component and is
not required for the core routing proof.
Running the demo
Until the provider-traffic xtask entrypoint is merged into Grid main, use the
public Grid feature branch that contains the command:
The wrapper builds only Forge and xtask locally. It does not build the
gateway, operator, overlay-sync, or tracing UI images.
Validation
The clean validation used the pinned image tags, the Grid provider-selection
branch, and zero existing provider-traffic clusters.
git diff --checkbash -n demos/grid-provider-traffic/run.sh scripts/run-grid-demo.shRuntime evidence showed:
roundRobinselection mode;The clean validation completed successfully in 380 seconds and removed only
the three provider-traffic Kind clusters and their network.
Related work
This is intentionally staying in draft until the Grid provider-selection
feature branch merges and the public demo can use the supported Grid main
entrypoint. It does not change Grid or Praxis AI implementation code.
Checklist