Skip to content

feat(ai): register gpt-6-astra and gpt-6-astra-pro LiteLLM models - #1640

Merged
Aviator-Coding merged 2 commits into
mainfrom
fm/homeops-litellm-astra
Sep 9, 2026
Merged

feat(ai): register gpt-6-astra and gpt-6-astra-pro LiteLLM models#1640
Aviator-Coding merged 2 commits into
mainfrom
fm/homeops-litellm-astra

Conversation

@Aviator-Coding

Copy link
Copy Markdown
Owner

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

  • Add LiteLLMModel CRs gpt-6-astra and gpt-6-astra-pro, both routed through openrouter/openai/... using the existing OPENROUTER_API_KEY credential - no new secret introduced.
  • Wire both new files into kubernetes/apps/base/ai/litellm/app/models/kustomization.yaml.
  • Bump the LiteLLMModel CR count in kubernetes/apps/base/ai/litellm/README.md from 36 to 38.
  • Registration-only, per this directory's existing kustomization convention: neither model is added to any LiteLLMVirtualKey allow-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-paid key'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-captain and agent-swarm-paid, exist live with models: ALL but have no LiteLLMVirtualKey CR 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
name: gpt-6-astra
spec:
modelName: gpt-6-astra
params:
apiKey: os.environ/OPENROUTER_API_KEY
model: openrouter/openai/gpt-6-astra
proxyRef: litellm
---
apiVersion: litellm.home-operations.com/v1alpha1
kind: LiteLLMModel
metadata:
name: gpt-6-astra-pro
spec:
modelName: gpt-6-astra-pro
params:
apiKey: os.environ/OPENROUTER_API_KEY
model: openrouter/openai/gpt-6-astra-pro
proxyRef: litellm
Evidence: task flux:test:all (flate) result
⚠ warnings (4)
HelmRelease coder/coder: values not used by the chart
podAnnotations
HelmRelease database/dragonfly-operator: values not used by the chart
kube-rbac-proxy
HelmRelease database/surrealdb: values not used by the chart
serviceMonitor, topologySpreadConstraints
HelmRelease kube-system/cilium: values not used by the chart
tunneling

✓ 307 passed · 1 skipped 2.8s

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 untouched
  • mise 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.

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.
@mortyops

mortyops Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor
--- 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
 

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Automated recommendation: APPROVE

Analysis engine: pr-review-local@http://litellm.ai.svc.cluster.local:4000/v1 (openai)

Recommendation

Approve. This PR is a clean, registration-only addition of two LiteLLMModel CRs (gpt-6-astra and gpt-6-astra-pro) and their wiring into the existing Kustomization. It introduces no new secrets, no credential changes, no routing modifications, and no workload patches. The changes follow the repository's established patterns for model registration.

Change-by-Change Findings

1. kubernetes/apps/base/ai/litellm/app/models/gpt-6-astra.yaml (New)

  • Schema & Structure: Uses the correct litellm.home-operations.com/v1alpha1 API version and includes the required # yaml-language-server: $schema=... comment pointing to the accepted kubernetes-schemas.pages.dev endpoint.
  • Routing: Correctly routes via openrouter/openai/gpt-6-astra using the existing os.environ/OPENROUTER_API_KEY. No new secrets introduced.
  • Metadata: Includes a clear COST WARNING ($50/M output, ~50x current tiers) and explicitly states REGISTRATION ONLY, aligning with the repo's convention that registration does not grant entitlement.
  • Naming: Uses the short stable alias gpt-6-astra as requested, rather than the provider-qualified ID.

2. kubernetes/apps/base/ai/litellm/app/models/gpt-6-astra-pro.yaml (New)

  • Consistency: Mirrors the structure and comments of gpt-6-astra.yaml exactly, including the cost warning and registration-only disclaimer.
  • Routing: Correctly routes via openrouter/openai/gpt-6-astra-pro using the same existing credential.

3. kubernetes/apps/base/ai/litellm/app/models/kustomization.yaml (Modified)

  • Wiring: Adds the two new files to the resources list in alphabetical order (between gpt-5.6-terra.yaml and gpt-oss-20b.yaml), maintaining the repo's sorting convention.
  • No Collisions: No ${...} variables added; no risk of Flux substitute collisions.

4. kubernetes/apps/base/ai/litellm/README.md (Modified)

  • Documentation: Updates the model count from 36 to 38 in the summary table, keeping documentation in sync with the new CRs.

Required Checks

  • validate manifest against target cluster version: Verified. The new CRs use litellm.home-operations.com/v1alpha1, which is consistent with the existing 36 models in the same directory. The schema URL points to kubernetes-schemas.pages.dev, the repo's preferred source. No version-specific fields were added that would conflict with the current cluster state. The PR body confirms kustomize build renders cleanly and task flux:test:all passes.
  • check for resource quota / limit changes: Verified. This PR only adds LiteLLMModel CRs (metadata-only resources that configure the LiteLLM proxy) and updates a Kustomization list. It does not modify any Deployment, StatefulSet, or LimitRange/ResourceQuota objects. No resource limits or quotas are affected.

Standards Compliance

  • No plaintext secrets: Verified. Both new models use os.environ/OPENROUTER_API_KEY, which is already present in the cluster. No new secrets or tokens are introduced.
  • Schema comments: Verified. Both new files include the required # yaml-language-server: $schema=... comment.
  • Naming conventions: Verified. Files are lowercase kebab-case (gpt-6-astra.yaml, gpt-6-astra-pro.yaml).
  • Registration-only: Verified. The PR body and file comments explicitly state that these models are registered but not entitled. No LiteLLMVirtualKey allow-lists are modified, and no fallback chains are altered. This aligns with the repo's rule: "REGISTRATION IS NOT ENTITLEMENT."
  • No postRenderer: Verified. No Helm charts or postRenderer logic is involved.
  • Flux Kustomization layout: Verified. The new files are placed in kubernetes/apps/base/ai/litellm/app/models/, and the Kustomization is updated correctly.

Tool Harness Findings

Tool harness was disabled; no findings to report.

Unknowns or Needs Verification

None. The changes are self-contained, follow established patterns, and do not introduce new risks. The cost warning is appropriately documented. The registration-only nature ensures no unintended access or spend is enabled by this merge.

@Aviator-Coding
Aviator-Coding merged commit ce2ece8 into main Sep 9, 2026
18 checks passed
@Aviator-Coding
Aviator-Coding deleted the fm/homeops-litellm-astra branch September 9, 2026 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant