Julia McGhee 6dde7c8aef Add harness app: agent orchestrator with cluster deployment
- Next.js app for orchestrating coding agent benchmarks (Claude Code, Codex, OpenCode)
- Dockerfile installs git, gh CLI, and agent CLIs for headless execution
- K8s deployment with workspace volume, sealed credentials for Claude + OpenCode
- Traefik IngressRoute at harness.coreworlds.io with internal-only middleware + TLS
- CI pipeline path filter for harness builds
- Fix OpenCode runtime flags (subcommand-based headless mode)
2026-03-21 15:26:09 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00
2026-03-19 22:24:56 +00:00

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)

  1. Flash Ubuntu Server 24.04 on NUCs, configure SSH access
  2. Configure Ubiquiti Cloud Gateway (see infra/ubiquiti/)
  3. Provision nodes and install k3s:
    task cluster:bootstrap
    task cluster:kubeconfig
    
  4. Install platform components:
    task platform:install
    
  5. Seal initial secrets:
    task secrets:seal
    
  6. 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
No description provided
Readme 1.1 MiB
Languages
TypeScript 87.8%
JavaScript 7%
Shell 1.9%
Dockerfile 1.6%
CSS 1.1%
Other 0.6%