Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Empty backends omit the clusters key, so any candidate is routable

Open Beginner friendly
#412 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
helm, kubernetes, rust

Research direction

Start in the praxis-gateway chart, where the clusters key for grid_site_route is rendered inside a with block over the backends, and inspect the filter’s has_route check for how it handles an absent cluster set. Then find the empty-backend chart test and make it require the clusters key in the generated config; done means an empty backend declaration produces an empty cluster list and its test checks for that key.

Written by the indexing model from the issue text.

Description

bug triage/needs-triage

An empty backend list renders a gateway config with no clusters key, and the route filter reads an absent list as permission to route anywhere.

In the praxis-gateway chart the clusters key for grid_site_route sits inside a with block over the backends, so an empty list omits the key rather than emitting an empty one.

On the filter side the declared set is an Option, and has_route is clusters.is_none_or(|clusters| clusters.contains(&candidate.cluster)). None therefore makes every candidate routable. The distinction the config means to express, "this gateway declares no backends", is indistinguishable from "this gateway declares no restriction".

A candidate arriving from the operator can then be selected with no declared backend behind it. The request reaches the load balancer and fails there instead of getting the no-route response the empty declaration should have produced.

Emitting clusters: [] for the empty case keeps the two states apart. The empty-backend chart test should require the key rather than tolerate its absence.

Raised by CodeRabbit on the ODH sync PR opendatahub-io/praxis-ai-grid-operator#42 and verified against this repository.

Dominant language
Rust
Stars
10
Forks
24
Avg merge
1d 13h
Merged PRs (30d)
121

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from praxis-proxy/grid

All issues in praxis-proxy/grid

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.