nebari-dev / nebari-dev/llm-serving-pack

PassthroughModel reports Ready even when the upstream credential Secret is missing/misnamed

Open
#110 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: medium ⚡ type: bug 🐛
Dominant language
Go
Stars
3
Forks
3
Avg merge
16h 31m
Merged PRs (30d)
11

Description

The webhook validates that spec.provider.credentialSecretName is non-empty (passthroughmodel_webhook.go:201) but nothing verifies the referenced Secret exists or carries the expected apiKey key. If it is missing or misnamed, all gateway resources still apply, the CR goes Ready, and every upstream request 401s with no signal in CR status. This is new surface (LLMModels have no upstream credential).

A webhook hard-fail would be wrong - the Secret may legitimately be created after the CR. Instead, add a status condition (e.g. CredentialResolved) that the controller sets based on the Secret's presence and apiKey key, turning a silent runtime 401 into a visible status signal.

Surfaced in review of #96.

Acceptance
  • Controller reads the credential Secret during reconcile
  • A status condition reflects present-and-valid vs missing/misnamed
  • Condition does not block Ready on transient absence but is visible
  • Test coverage for both states

Contributor guide

Open the contributing guide

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.

Research direction

Start with the PassthroughModel controller reconcile path and the validation reference in passthroughmodel_webhook.go:201. Trace how status conditions are currently set, then add coverage for a present Secret with apiKey and a missing or misnamed Secret; done means the credential condition is visible while Ready remains unblocked.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.