Skip to content

feat(cloud): tenant provider registry and model-group fallback - #410

Closed
seonghobae wants to merge 1 commit into
fix/atheris-interpreter-lockfrom
feature/tenant-cloud-routing
Closed

feat(cloud): tenant provider registry and model-group fallback#410
seonghobae wants to merge 1 commit into
fix/atheris-interpreter-lockfrom
feature/tenant-cloud-routing

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Status: RED contract stack — Draft, not merge-ready

This stacked PR targets the exact security branch owned by PR #96. The first commit deliberately contains only the accepted design, implementation plan, and failing contract tests. The production modules and deployment artifacts do not exist yet; exact-head CI is expected to fail on missing imports/files and will be used as the RED evidence before implementation.

Goal

Add a Cloud Native path where multiple Docker services or Kubernetes Pods share PostgreSQL-backed tenant routing metadata and pgcrypto-encrypted provider credentials, expose a same-origin web control plane, and route an OpenAI-compatible model group through deterministic sequential_failover across several upstream providers.

Boundaries

  • provider transport, credential lookup, DNS pinning, redirect/proxy rejection, TLS authority, bounded response handling, and strict JSON/SSE parsing remain inherited from PR fix(security): pin provider egress and repair the Atheris lock #96;
  • provider secrets remain in the existing encrypted KV and are never returned by tenant metadata APIs;
  • Keyverse/cwl-idp remains the production identity boundary;
  • this slice implements sequential fallback only; racing and delayed hedging remain issue feat: race equivalent model-group endpoints by first valid completion #102;
  • the live workflow may use the approved OpenRouter, NVIDIA NIM, and Bytez GitHub Secret names only in a one-shot bootstrap/test job, never in running gateway Pods;
  • branch protection and independent approval are not bypassed.

Current RED evidence target

The following new tests intentionally import not-yet-created modules and require not-yet-created deployment artifacts:

  • tests/test_tenant_registry.py
  • tests/test_model_group_fallback.py
  • tests/test_cloud_gateway_http.py
  • tests/test_cloud_native_contract.py

Next commits

  1. tenant registry and pgcrypto metadata schema;
  2. request-scoped model-group executor;
  3. Cloud Gateway/API/admin UI;
  4. Compose/Kubernetes/bootstrap/live provider verification;
  5. ADR, doctoring, runbook, CHANGELOG, full exact-head verification.

Refs issue #102 for the intentionally excluded race/hedge work. Does not close #102.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 176c0c03-9adf-4781-9f2a-19935d55834e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Closed as a stale draft after current-head review: the branch is based on an obsolete integration line, its required test suites are cancelled, and the current gateway has no mergeable patch from this branch. The tenant/provider-registry idea remains a product gap; reopen only as a focused, rebased design-and-implementation PR with current-head tests and protected Checks.

@seonghobae seonghobae closed this Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant