Skip to content

feat: add deployment topology and shared state - #13

Merged
github-actions[bot] merged 5 commits into
mainfrom
feat/10-deployment-topology
Sep 3, 2026
Merged

github-actions[bot] merged 5 commits into
mainfrom
feat/10-deployment-topology

Conversation

@Yash-Chindam

Copy link
Copy Markdown
Owner

Implements sections 13, 14, and 17 of the design specification.

  • Namespaced Kubernetes manifests: gateway, GPU serving pool with accelerator pinning, Redis, KEDA autoscaling on queue depth and p95 latency, Prometheus ServiceMonitor, network policy, and secret-manager-sourced credentials. No secret material is committed.
  • 18 invariant tests enforce unprivileged workloads, digest-pinned images, bounded resources, real probes, graceful drain, and metrics reachable only from monitoring.
  • Redis-backed cache and quota state behind a small async protocol, so the gateway can scale beyond one replica.
  • CD renders the canary plan with its rollback target, verifies the Ray Serve config against the catalog, and validates manifests with kubeconform.

Tests: 24 new unit tests, 1 new integration test. Local suite 120 passed, 97% branch coverage.

Adds namespaced manifests for the gateway, GPU serving pool, Redis state,
KEDA autoscaling on queue depth, Prometheus scraping, network policy, and
secret-manager-sourced credentials. Invariant tests enforce unprivileged
workloads, digest-pinned images, bounded resources, real probes, and the
absence of committed secret material.
Adds a Redis-backed response cache and fixed-window quota behind a small
async protocol, selected by ROUTER_REDIS_URL. Without it the gateway keeps
in-process state, which is correct for a single replica only.
Verifies the committed Ray Serve configuration against the catalog,
renders the canary plan with its rollback target, and validates the
Kubernetes manifests with kubeconform. Applying to a cluster remains
disabled until a deployment destination is configured.
CI invokes the pytest entry point directly, which does not add the
repository root to sys.path the way `python -m pytest` does, so
`from tests.conftest import FakeRedis` failed collection in CI while
passing locally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions
github-actions Bot merged commit 840af57 into main Sep 3, 2026
6 checks passed
@github-actions
github-actions Bot deleted the feat/10-deployment-topology branch September 3, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant