- Add comprehensive AI plans implementation documentation - Add LiteLLM gateway Kubernetes manifests - Update PostgreSQL and Forgejo deployment configs - Add build-from-binaries script
7.3 KiB
7.3 KiB
Project Status Summary - Nxtgauge Infrastructure
Last Updated
2026-06-15
What Has Been Completed
1. LiteLLM AI Gateway Deployment ✅
- Status: Fully deployed and working
- Namespace:
nxtgauge-ai - Service:
litellm.nxtgauge-ai.svc.cluster.local:4000 - Ingress:
https://llm.nxtgauge.com(TLS via cert-manager) - Models configured:
askash-fast→qwen3:4b(fast, 2.5GB)askash-main→qwen3:8b(powerful, 5.2GB)- Plus 10 specialized model aliases for different use cases
- Security: API key required via
LITELLM_MASTER_KEY - Ollama: Remains internal-only, NOT exposed publicly
- Files created:
apps/litellm/base/configmap.yamlapps/litellm/base/deployment.yamlapps/litellm/base/service.yamlapps/litellm/base/ingress.yamlapps/litellm/base/secret.yamlapps/litellm/base/ratelimit.yamlapps/litellm/base/kustomization.yamlapps/litellm/README.mdapps/litellm/OPENCODE_CONNECT.md
2. Kubernetes Cluster Expansion ✅
- Added 4th worker node: nxtgauge-4 / Ramaris (89.167.0.148)
- All nodes labeled with character names:
nxtgauge-1→ Rimuru (control plane)nxtgauge-2→ Veldora (worker)nxtgauge-3→ Diablo (worker)nxtgauge-4→ Ramaris (worker)
- All nodes Ready and schedulable
3. GHCR Registry Authentication ✅
- Created
ghcr-regcredsecret innxtgaugeandnxtgauge-ainamespaces - Updated
registries.yamlon all K3s nodes to authenticate with GHCR - Restarted K3s services on all nodes
- All deployments now pulling images successfully from GitHub Container Registry
4. Latest Code Deployed via GitHub Actions + Flux ✅
All four repositories are live with their latest commits:
| Repository | Branch | Commit | Status |
|---|---|---|---|
| nxtgauge-frontend-solid | high-performance | 3b8f75d feat: add AI usage widget to user dashboard |
✅ Deployed |
| nxtgauge-admin-solid | high-performance | f511a3c feat: add AI management page to admin panel |
✅ Deployed |
| nxtgauge-ai-assistant | main | 4505d89 feat: add Ask Ash AI assistant implementation |
✅ Deployed |
| nxtgauge-backend-rust | high-performance | ba63736 feat: add AI management endpoints and LiteLLM support |
✅ Deployed |
- Flux synced to latest gitops commit
c5b32538 - 22/22 deployments ready
5. Ollama Models Downloaded ✅
gemma3:270m(291 MB) - original modelqwen3:4b(2.5 GB) - fast/general useqwen3:8b(5.2 GB) - powerful/long-form generation
6. OpenCode Configuration ✅
- Updated OpenCode binary from
1.14.20→1.17.7 - Reverted config back to use Ollama Cloud with Kimi K2.7
- Config file:
~/.config/opencode/opencode.jsonc
7. AI Plans Implementation Plan ✅
- Created detailed implementation plan:
docs/AI_PLANS_IMPLEMENTATION_PLAN.mddocs/AI_PLANS_FINAL_PLAN.md
- Plan covers:
- Database schema
- Plan tiers (Free/Pro/Business/Enterprise)
- API key generation
- Usage tracking
- Rate limiting
- Model access control
- Backend services architecture
- API endpoints
- Frontend integration
- Deployment steps
What We Are Stuck At / Blocked On
1. PostgreSQL for LiteLLM (Optional Advanced Tracking)
- Status: Attempted but not critical
- Issue: Tried to deploy PostgreSQL in
nxtgauge-ainamespace for LiteLLM's built-in virtual key tracking, but it failed to schedule on the new node due to Longhorn CSI driver not being available onnxtgauge-4 - Impact: LOW - This is not required. We are building our own API key/usage tracking system instead.
- Decision: Skip LiteLLM-native virtual keys. Use custom backend implementation.
2. AI Plans Implementation ✅
- Status: Core backend implementation complete
- Completed: Database migration, models, repositories, core services, LiteLLM integration, endpoint wiring, admin endpoints, cron jobs, AI credit packages, auto-apply/auto-request log endpoints
- Remaining: Kubernetes env-var wiring (
AI_CREDIT_ADMIN_TOKEN), real payment gateway integration, automated integration tests - Next step: Apply migrations in target environment and configure Kubernetes secrets
Current System Health
| Component | Status |
|---|---|
| Kubernetes cluster | ✅ 4 nodes Ready |
| Flux GitOps | ✅ Synced |
| All 22 deployments | ✅ Running |
| LiteLLM gateway | ✅ Running |
| Ollama | ✅ Running |
| AI Assistant | ✅ Running |
| Frontend | ✅ Running |
| Admin panel | ✅ Running |
| 19 backend rust services | ✅ Running |
Decisions Made
- ✅ Using GitHub Container Registry (GHCR) instead of
registry.nxtgauge.com - ✅ Using GitHub Actions + Flux instead of Forgejo/Gitea
- ✅ Using custom API key/usage tracking instead of LiteLLM Enterprise
- ✅ Using qwen3:4b as main fast model and qwen3:8b for long-form/power tasks
- ✅ Keeping Ollama internal-only, exposing only LiteLLM
- ✅ OpenCode using Ollama Cloud Kimi K2.7
Next Recommended Actions
- Run database migrations for AI plans and credit packages (
cargo run -p db-migrateorsqlx migrate run) - Configure
AI_CREDIT_ADMIN_TOKENsecret for payments service to credit AI credits via users admin endpoint - Add
LITELLM_BASE_URLenv var for users service (default already points to cluster local service) - Credit purchase flow — integrate real payment gateway with
/api/admin/ai/users/{id}/credits - Add monitoring/alerting for AI usage and credit thresholds
Key Files and Commands
Useful Commands
# Check cluster nodes
kubectl get nodes -o custom-columns='NAME:.metadata.name,CHARACTER:.metadata.labels.node-name,ROLE:.metadata.labels.node-role\.kubernetes\.io/worker,STATUS:.status.conditions[-1].type,IP:.status.addresses[0].address'
# Check deployments
kubectl get deployments -n nxtgauge
# Check AI namespace
kubectl get pods -n nxtgauge-ai
# Check LiteLLM models
curl http://litellm.nxtgauge-ai.svc.cluster.local:4000/v1/models \
-H "Authorization: Bearer sk-litellm-prod-1c66d63e701c32cd85922a62fd2e087469486a9b7a34d950423a8726d0aceec9"
# Check Flux status
flux get kustomizations --all-namespaces
# Get LiteLLM master key
kubectl get secret litellm-secrets -n nxtgauge-ai -o jsonpath='{.data.LITELLM_MASTER_KEY}' | base64 -d
Important Paths
- GitOps repo:
/home/ashwin/nxtgauge-gitops - Frontend repo:
/home/ashwin/nxtgauge-projects/nxtgauge-frontend-solid - Backend repo:
/home/ashwin/nxtgauge-projects/nxtgauge-backend-rust - Admin repo:
/home/ashwin/nxtgauge-projects/nxtgauge-admin-solid - AI Assistant repo:
/home/ashwin/nxtgauge-projects/nxtgauge-ai-assistant - AI plans plan:
/home/ashwin/nxtgauge-gitops/docs/AI_PLANS_FINAL_IMPLEMENTATION.md
Blockers Requiring User Input
None currently. Core AI plans implementation is complete on the backend.
Notes
- The PostgreSQL deployment attempt left a
postgres-pvcinnxtgauge-ainamespace. It can be cleaned up safely since we are not using it. - No git commits have been made during recent infrastructure changes unless explicitly requested.
- All changes were applied directly to Kubernetes and config files.
- Local
.opencodeplugin was updated, but OpenCode binary upgrade was done via built-inopencode upgradecommand.