e2b339aac8bd19bfa20786d3a6da53f70530deab
Add model fetchers for OpenCode Zen (https://opencode.ai/zen/v1/models) and Go (https://opencode.ai/zen/go/v1/models) APIs. Register opencode-go as a new provider, load shared credentials from auth.json, add known models with pricing, and create default agents for both tiers on first boot. Replace the manual "Add Model" form with a search bar that filters by model name/ID and paginate the catalog at 25 models per page.
Homelab
Monorepo for self-hosted applications running on a k3s cluster across Intel NUC machines.
What's Inside
- Apps: Next.js frontend, Express API (TypeScript)
- Infrastructure: Ansible provisioning, ArgoCD GitOps, full Kubernetes platform
- Observability: Prometheus, Grafana, Loki
Prerequisites
Quick Start
# Install dependencies
pnpm install
# Start development
task dev
# Build all apps
task build
Bootstrap Cluster (Day 1)
- Flash Ubuntu Server 24.04 on NUCs, configure SSH access
- Configure Ubiquiti Cloud Gateway (see
infra/ubiquiti/) - Provision nodes and install k3s:
task cluster:bootstrap task cluster:kubeconfig - Install platform components:
task platform:install - Seal initial secrets:
task secrets:seal - Push an app — ArgoCD handles the rest
Branch Deploys
Push a branch or open a PR → GitHub Actions builds changed apps → ArgoCD creates a preview namespace → merge to main deploys to production.
Project Structure
homelab/
├── apps/ # Deployable applications
├── packages/ # Shared libraries
├── infra/
│ ├── ansible/ # Bare-metal provisioning
│ ├── kubernetes/ # K8s manifests (ArgoCD, platform, observability)
│ └── ubiquiti/ # Network documentation
├── scripts/ # Utility scripts
├── templates/ # App scaffolding templates
└── Taskfile.yaml # Task runner
License
Private — All rights reserved.
Description
Languages
TypeScript
87.8%
JavaScript
7%
Shell
1.9%
Dockerfile
1.6%
CSS
1.1%
Other
0.6%