HOMELAB-246: Remove Anthropic Claude model from LiteLLM #26

Merged
aaron merged 39 commits from plane/HOMELAB-246-remove-anthropic-key into main 2026-03-23 03:36:59 +00:00
Owner

Summary

  • Remove "smart" model (anthropic/claude-sonnet-4-20250514) from LiteLLM proxy config
  • LiteLLM now routes only to local Ollama models (fast + code)
  • Anthropic API key was from personal Claude subscription — should not be used for automated API calls

Test plan

  • ArgoCD syncs updated LiteLLM config
  • LiteLLM pod restarts and runs healthy
  • Only fast and code models available via LiteLLM API

🤖 Generated with Claude Code

## Summary - Remove "smart" model (anthropic/claude-sonnet-4-20250514) from LiteLLM proxy config - LiteLLM now routes only to local Ollama models (fast + code) - Anthropic API key was from personal Claude subscription — should not be used for automated API calls ## Test plan - [ ] ArgoCD syncs updated LiteLLM config - [ ] LiteLLM pod restarts and runs healthy - [ ] Only fast and code models available via LiteLLM API 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Design spec for deploying Langfuse v3 as unified LLM observability
platform. Uses official Helm chart via ArgoCD, CNPG PostgreSQL,
Zitadel SSO, and phased rollout (core → LiteLLM → metrics → agent).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
plan: add Langfuse v3 implementation plan (HOMELAB-159)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
3e1119791c
8-task plan: CNPG cluster, base values, Zitadel OIDC, ArgoCD apps,
Pangolin resource, deploy, LiteLLM integration, verification.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add Langfuse base Helm values (HOMELAB-159)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
3e8ef6a386
Base values for official Langfuse chart v1.5.22: disable bundled
PostgreSQL (using CNPG), configure ClickHouse single-node, Valkey
standalone, MinIO with Longhorn storage, sign-up disabled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add Zitadel OIDC application for Langfuse (HOMELAB-159)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
5f629734c2
Creates Langfuse OIDC app in Zitadel project with callback URL at
/api/auth/callback/custom. Distributes client ID/secret as K8s
secret in langfuse namespace.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: increase Langfuse memory limits to prevent OOM (HOMELAB-159)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 2s
Lint & Validate / terraform-validate (pull_request) Failing after 2s
Lint & Validate / yaml-lint (pull_request) Failing after 2s
Lint & Validate / shellcheck (pull_request) Failing after 2s
10028fac6f
Next.js app requires more memory than 256Mi. Bumped to 512Mi
request / 1Gi limit to prevent heap allocation failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: enable id_token_userinfo_assertion for Langfuse OIDC (HOMELAB-159)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
43590caf98
Zitadel follows OIDC spec strictly — omits email from id_token when
access_token is also issued. This flag forces Zitadel to include
userinfo claims (email, name) in the id_token.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: enable sign-up for initial Langfuse account creation (HOMELAB-159)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
df1698cc86
docs: add Cilium network policy assessment and sample manifests (HOMELAB-141)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
5d1732b6e0
Evaluate which intra-cluster traffic rules can be managed via
CiliumNetworkPolicy CRDs vs OPNSense. Add ADR-008 documenting the
layered security model and VLAN limitation (cilium/cilium#40247).
Include 4 sample manifests: default deny, DNS allow, monitoring
scrape allow, and system namespace protection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: correct CiliumClusterwideNetworkPolicy type in README (HOMELAB-141)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 1s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
731ca37a41
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: add .worktrees/ to .gitignore for parallel session isolation (HOMELAB-173)
Some checks failed
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
3630d0659b
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-176: ci: replace auto-version with PR-title-based release versioning
Some checks failed
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
0b7552db9c
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add Langfuse OTLP exporter to OTel Collector + LiteLLM callback (HOMELAB-175)
Some checks failed
CI Review / pr-title (pull_request) Failing after 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
1fa6588981
OTel Collector:
- otlphttp/langfuse exporter with retry/queue config
- filter/langfuse processor (OTTL): only agent-harness spans go to Langfuse
- traces/langfuse pipeline: OTel -> filter -> Langfuse
- NodePort service for VM 110 agent access

LiteLLM:
- Enable langfuse callback for LLM-level tracing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: OTel Collector retry config — add time unit suffixes (HOMELAB-175)
Some checks failed
CI Review / pr-title (pull_request) Failing after 0s
CI Review / helm-validate (pull_request) Failing after 1s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
6292deeac5
max_elapsed_time needs 's' suffix. Also add initial_interval and max_interval.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: reduce Velero BSL sync frequency to cut Backblaze Class C usage (HOMELAB-179)
Some checks failed
CI Review / pr-title (pull_request) Failing after 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
d516c042bb
Velero's default 1-minute backupSyncPeriod and storeValidationFrequency
were generating ~3000-5000 Class C transactions/day against Backblaze B2,
hitting the 75% daily cap alert. Set both to 30m which is more than
adequate for a homelab with a single daily backup schedule.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add resource limit alerts and fix Loki retention (HOMELAB-180)
Some checks failed
CI Review / pr-title (pull_request) Failing after 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
f5b472ce74
- Add Longhorn storage capacity alerts (disk 80%/90%, node storage 80%)
- Add observability stack alerts (Prometheus TSDB/WAL, Loki errors,
  Tempo compaction/ingester failures)
- Improve PVC alerts: tiered thresholds (75% warn, 90% crit) and
  predict_linear() for "filling in <4h" prediction
- Fix Loki retention: enable compactor retention_enabled (required for
  retention_period to actually enforce cleanup on 50Gi PVC)

Sub-tickets: HOMELAB-219, HOMELAB-220, HOMELAB-221, HOMELAB-222

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-232: feat(atlantis): add base Helm values for Atlantis deployment
Some checks failed
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
5d283a7594
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-232: fix(atlantis): move workflows inside repoConfig block
Some checks failed
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
d78ed929ff
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-188: feat(lab-director): add Helm chart for K8s deployment
Some checks failed
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 2s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
c23d1df4ff
Backend + frontend deployments, services, HTTPRoute with path splitting
(/api/* + /ws/* → backend, /* → frontend). Database URI from CNPG secret.
Configurable operator URL and hostname via prod overrides.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-233: feat(atlantis): add repo-level config for infra-core terraform
Some checks failed
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
86d36b0489
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-233: fix(forgejo): allow webhooks to private/internal IPs
Some checks failed
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 2s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
cf17952d5d
Required for Atlantis webhook delivery — default ALLOWED_HOST_LIST
blocks private IP ranges.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-236: fix(litellm): update stale Ollama model names
Some checks failed
0/0 projects applied successfully.
CI Review / pr-title (pull_request) Successful in 0s
CI Review / helm-validate (pull_request) Failing after 3s
CI Review / ai-review (pull_request) Failing after 1s
Lint & Validate / terraform-validate (pull_request) Failing after 1s
Lint & Validate / yaml-lint (pull_request) Failing after 1s
Lint & Validate / shellcheck (pull_request) Failing after 1s
b1e475ea69
Model config referenced llama3.1:8b and qwen2.5-coder:14b but Ollama
has llama3.2:1b-instruct-q4_0 and qwen2.5-coder:7b. This blocked all
Ollama inference through LiteLLM, preventing the Langfuse callback from
capturing any generation data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HOMELAB-246: remove Anthropic Claude model from LiteLLM proxy config
Some checks failed
0/1 projects planned successfully.
Release / release (pull_request) Failing after 2s
1594f8f7fe
Remove the "smart" model (anthropic/claude-sonnet-4-20250514) from the
model list. LiteLLM now routes only to local Ollama models (fast + code).
The Anthropic API key was from a personal Claude subscription and should
not be used for automated API calls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
aaron merged commit 78a31a993c into main 2026-03-23 03:36:59 +00:00
aaron deleted branch plane/HOMELAB-246-remove-anthropic-key 2026-03-23 03:36:59 +00:00
Collaborator

Ran Plan for dir: core/terraform/live/zitadel workspace: default

Plan Error

Show Output
running 'sh -c' '/atlantis-data/bin/terraform1.14.7 init -input=false -upgrade' in '/atlantis-data/repos/aaron/infra-core/26/default/core/terraform/live/zitadel': exit status 1
Initializing the backend...
╷
│ Error: Missing Required Value
│ 
│   on versions.tf line 4, in terraform:
│    4:   backend "s3" {
│ 
│ The attribute "bucket" is required by the backend.
│ 
│ Refer to the backend documentation for additional information which
│ attributes are required.
╵
╷
│ Error: Missing Required Value
│ 
│   on versions.tf line 4, in terraform:
│    4:   backend "s3" {
│ 
│ The attribute "key" is required by the backend.
│ 
│ Refer to the backend documentation for additional information which
│ attributes are required.
╵
╷
│ Error: Missing region value
│ 
│   on versions.tf line 4, in terraform:
│    4:   backend "s3" {
│ 
│ The "region" attribute or the "AWS_REGION" or "AWS_DEFAULT_REGION"
│ environment variables must be set.
╵

Ran Plan for dir: `core/terraform/live/zitadel` workspace: `default` **Plan Error** <details><summary>Show Output</summary> ``` running 'sh -c' '/atlantis-data/bin/terraform1.14.7 init -input=false -upgrade' in '/atlantis-data/repos/aaron/infra-core/26/default/core/terraform/live/zitadel': exit status 1 Initializing the backend... ╷ │ Error: Missing Required Value │ │ on versions.tf line 4, in terraform: │ 4: backend "s3" { │ │ The attribute "bucket" is required by the backend. │ │ Refer to the backend documentation for additional information which │ attributes are required. ╵ ╷ │ Error: Missing Required Value │ │ on versions.tf line 4, in terraform: │ 4: backend "s3" { │ │ The attribute "key" is required by the backend. │ │ Refer to the backend documentation for additional information which │ attributes are required. ╵ ╷ │ Error: Missing region value │ │ on versions.tf line 4, in terraform: │ 4: backend "s3" { │ │ The "region" attribute or the "AWS_REGION" or "AWS_DEFAULT_REGION" │ environment variables must be set. ╵ ``` </details>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aaron/infra-core!26
No description provided.