feat(ai): register gpt-6-astra and gpt-6-astra-pro LiteLLM models - #1640
Conversation
Adds registration-only LiteLLMModel CRs for OpenAI GPT-6 Astra and its -pro variant via OpenRouter (existing OPENROUTER_API_KEY credential). Released 2026-09-04, 1,050,000 context, $10/M input, $50/M output on both variants. Neither is added to any virtual key allow-list or the auto-router - entitlement is a separate captain decision.
--- LiteLLMModel ai/gpt-6-astra
+++ LiteLLMModel ai/gpt-6-astra
@@ -1 +1,16 @@
+apiVersion: litellm.home-operations.com/v1alpha1
+kind: LiteLLMModel
+metadata:
+ labels:
+ app.kubernetes.io/name: litellm
+ kustomize.toolkit.fluxcd.io/name: litellm
+ kustomize.toolkit.fluxcd.io/namespace: ai
+ name: gpt-6-astra
+ namespace: ai
+spec:
+ modelName: gpt-6-astra
+ params:
+ apiKey: os.environ/OPENROUTER_API_KEY
+ model: openrouter/openai/gpt-6-astra
+ proxyRef: litellm
--- LiteLLMModel ai/gpt-6-astra-pro
+++ LiteLLMModel ai/gpt-6-astra-pro
@@ -1 +1,16 @@
+apiVersion: litellm.home-operations.com/v1alpha1
+kind: LiteLLMModel
+metadata:
+ labels:
+ app.kubernetes.io/name: litellm
+ kustomize.toolkit.fluxcd.io/name: litellm
+ kustomize.toolkit.fluxcd.io/namespace: ai
+ name: gpt-6-astra-pro
+ namespace: ai
+spec:
+ modelName: gpt-6-astra-pro
+ params:
+ apiKey: os.environ/OPENROUTER_API_KEY
+ model: openrouter/openai/gpt-6-astra-pro
+ proxyRef: litellm
|
|
✅ Automated recommendation: APPROVE Analysis engine: pr-review-local@http://litellm.ai.svc.cluster.local:4000/v1 (openai) RecommendationApprove. This PR is a clean, registration-only addition of two Change-by-Change Findings1.
|
Intent
Add GPT-6 Astra to the cluster's LiteLLM gateway so the captain can route to it. Register gpt-6-astra and, unless a concrete reason not to, also gpt-6-astra-pro. Both exist on OpenRouter and are reachable via the existing OPENROUTER_API_KEY - no new secret/credential. Follow the exact naming, credential-reference, and metadata pattern of the neighboring LiteLLMModel CRs (e.g. gpt-5.6-sol.yaml, deepseek-v4-pro.yaml): short stable alias (gpt-6-astra, not the provider-qualified id), registration-only (per this repo's own kustomization.yaml convention: 'REGISTRATION IS NOT ENTITLEMENT' - a model file alone grants nothing; entitlement/budget assignment to a virtual key is a separate captain decision, so do NOT add these models to any LiteLLMVirtualKey allow-list or to the auto-router). Do not change any existing model definition, the gateway, routing, or any other workload, and do not add a new secret/credential.
Verify live, not merged (merging is not deploying): confirmed the model appears in GET /v1/models on the live gateway, and minimal completions (few max_tokens, one-word prompt) succeeded for both models via the proxy's own master key by applying the two new LiteLLMModel CRs directly to the live cluster ahead of merge (a new-object addition, not a modification of an existing resource, so safe to test this way) - gpt-6-astra cost $0.00072 and gpt-6-astra-pro cost $0.01648 for the probes (~$0.017 total). The captain separately confirmed the models work through the live 'agent-swarm-paid' key (the actual paid key his swarm uses): a gpt-6-astra completion, 13 tokens, $0.00033.
Important scope decision from the captain: an earlier draft of this task assumed a git-declared 'agent-swarm-paid' LiteLLMVirtualKey CR exists; it does not - neither in git nor, initially, believed live. The captain clarified he minted two virtual keys imperatively through the LiteLLM API himself (agent-swarm-captain and agent-swarm-paid), each with models:ALL, so they exist live at runtime but have no LiteLLMVirtualKey CR in git - this is pre-existing drift the captain introduced, not something this task should fix. Captain's explicit decision: ship this PR as registration-only (do not author LiteLLMVirtualKey CRs for either key here - budgets and entitlements for those keys are the captain's call, not this task's). The PR body must include: (1) a cost warning that GPT-6 Astra's output pricing ($50/M) is roughly 50x the models the captain has been running day to day, so a ~140,000-token five-agent swarm run would cost roughly $7-10 on Astra against the agent-swarm-paid key's $25-per-30-days cap - i.e. this model covers about two or three swarm runs, not a month of them; (2) a named follow-up note (not resolved in this PR) that two LiteLLM virtual keys, agent-swarm-captain and agent-swarm-paid, exist live with models:ALL but have no LiteLLMVirtualKey CR in git, and should be brought under git as separate follow-up work with the captain deciding their budgets/entitlements.
Validation already run locally: kustomize build on kubernetes/apps/base/ai/litellm/app/models renders cleanly; task flux:test:all (flate) passes 307 checks with only the same 4 pre-existing unrelated warnings (coder podAnnotations, dragonfly-operator kube-rbac-proxy, surrealdb serviceMonitor/topologySpreadConstraints, cilium tunneling) - no new warnings introduced.
What Changed
LiteLLMModelCRsgpt-6-astraandgpt-6-astra-pro, both routed throughopenrouter/openai/...using the existingOPENROUTER_API_KEYcredential - no new secret introduced.kubernetes/apps/base/ai/litellm/app/models/kustomization.yaml.LiteLLMModelCR count inkubernetes/apps/base/ai/litellm/README.mdfrom 36 to 38.LiteLLMVirtualKeyallow-list or to the auto-router, so no key gains access and no existing model, the gateway, or routing config is modified.Cost warning
GPT-6 Astra's output pricing is $50/M tokens - roughly 50x the models run day to day on this proxy. A ~140,000-token five-agent swarm run would cost roughly $7-10 on Astra, against the
agent-swarm-paidkey's $25-per-30-days cap. That's about two or three swarm runs on this model, not a month of them.Follow-up (not resolved in this PR)
Two LiteLLM virtual keys,
agent-swarm-captainandagent-swarm-paid, exist live withmodels: ALLbut have noLiteLLMVirtualKeyCR in git. This is pre-existing drift, not introduced by this change. Bringing them under git, and deciding their budgets/entitlements, is separate follow-up work for the captain.Risk Assessment
✅ Low: Purely additive registration-only change: two new LiteLLMModel CRs that exactly mirror the structure, comments, and credential reference of neighboring model files (e.g. gpt-5.6-sol.yaml, deepseek-v4-pro.yaml), plus two new alphabetically-correct entries in kustomization.yaml; no existing model, virtualkey, auto-router, gateway, or secret was touched, and file/resource counts match with no duplicates.
Testing
All locally-executable validation for this GitOps change passes and matches the claims in the intent: the diff is scoped to exactly the two new model registrations plus the kustomization resource list, both files follow the exact neighboring pattern with no new secret, neither model is wired into the auto-router or any virtual key (confirming registration-only), kustomize build renders cleanly, and flate reproduces 307 passed/1 skipped with only the same 4 pre-existing unrelated warnings. Live end-to-end verification (GET /v1/models, minimal completions through the actual gateway) could not be independently re-executed by this test phase because this is a fresh worktree with no kubeconfig/talosconfig - expected and by-design for this repo's sandboxed test phases per its own documented convention - and re-running paid live API calls against production infrastructure is outside this phase's mandate; the intent text already documents that verification was performed directly by the author pre-merge with specific cited costs and token counts, which is the correct mechanism for a GitOps repo where merging is not deploying.
Evidence: kustomize build output for gpt-6-astra / gpt-6-astra-pro LiteLLMModel CRs
Evidence: task flux:test:all (flate) result
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
git diff 5259a01e cc711cb6 --stat / --name-only (confirms exactly 3 changed files, all in kubernetes/apps/base/ai/litellm/app/models/)Manual diff review comparing gpt-6-astra.yaml / gpt-6-astra-pro.yaml against sibling gpt-5.6-sol.yaml and deepseek-v4-pro.yaml for pattern conformance (schema header, apiVersion/kind, proxyRef, apiKey env-var reference, absence of info.extra prices)grep -rn gpt-6-astra across kubernetes/ to confirm the models are referenced only in the models/kustomization.yaml resources list (not in auto.yaml or any virtualkeys/*.yaml)git diff on models/auto.yaml and virtualkeys/ directory (both empty) to confirm the auto-router and entitlement CRs were untouchedmise exec -- kustomize build kubernetes/apps/base/ai/litellm/app/models (exit 0, both new LiteLLMModel objects render with correct modelName/params)mise exec -- task flux:test:all (flate) - 307 passed, 1 skipped, same 4 pre-existing warnings (coder podAnnotations, dragonfly-operator kube-rbac-proxy, surrealdb serviceMonitor/topologySpreadConstraints, cilium tunneling), no new warnings✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.