Commit Graph

85 Commits

Author SHA1 Message Date
jordan
dc00921703 ci: add Woodpecker CI for self-hosted builds
- Add .woodpecker.yml with build steps for api, worker, claudebox
- Update K8s manifests to use registry.threesix.ai/rdev/*
- Remove ghcr-secret imagePullSecrets (Zot is unauthenticated)

Builds will run on Woodpecker using kaniko, pushing to our internal
Zot registry. This eliminates the QEMU cross-compilation issues on
Apple Silicon.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 19:26:44 -07:00
jordan
3b35900a2d feat: enterprise worker pool with HTTP sidecar pattern
Implements horizontally-scalable worker pool architecture:
- claudebox-sidecar: HTTP server for Claude Code, git, and SDLC ops
- rdev-worker: standalone worker binary polling rdev-api for tasks
- HTTP client adapter for sidecar communication
- HPA with custom Prometheus metrics for autoscaling
- ServiceMonitor for metrics scraping

Code review fixes applied:
- URL-encode query parameters in GitStatus (Critical #1)
- Remove unused shellQuote function (Critical #2)
- Use stdlib strings.Split/TrimSpace (Critical #3)
- Add version injection via ldflags (Warning #4)
- Add debug logging for swallowed git/sdlc errors (Warning #5, #6)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:21:11 -07:00
jordan
da482b48b4 release: v0.10.56 - fix: worker template unused pkg/config import 2026-02-05 13:46:45 -07:00
jordan
0c7282b9eb release: v0.10.55 - fix: Dockerfile templates use GOWORK=off for independent component builds 2026-02-05 13:09:35 -07:00
jordan
a7fcba3587 release: v0.10.54 - fix: go.work race condition with batch components 2026-02-05 12:46:22 -07:00
jordan
19837f7251 release: v0.10.53 - fix: shell-quote SDLC command args to handle spaces in titles 2026-02-05 00:44:34 -07:00
jordan
022184ef6a chore: update claudebox to v0.4.0 (includes sdlc binary) 2026-02-05 00:18:02 -07:00
jordan
4766a54314 release: v0.10.52 - feat: SDLC worker routing for skeleton projects with auto-init 2026-02-05 00:16:29 -07:00
jordan
46c8bfeec2 release: v0.10.51 - feat: inject provisioned credentials into component deployments 2026-02-05 00:09:43 -07:00
jordan
34e12ff3d5 release: v0.10.50 - fix: resolve systemic debt in worker and skeleton templates 2026-02-04 23:57:55 -07:00
jordan
619a57c240 release: v0.10.49 - fix: add workspace package paths to app-react and app-astro tailwind configs 2026-02-04 01:03:14 -07:00
jordan
78e8eb5f27 release: v0.10.48 - feat: multi-component ingress routing with path-based routing 2026-02-03 23:03:22 -07:00
jordan
f8433a1d16 release: v0.10.47 - fix: make go.work.sum optional in component Dockerfiles 2026-02-03 19:58:49 -07:00
jordan
86b372fa08 release: v0.10.46 - feat: add diagnostics endpoint and external health monitoring 2026-02-03 19:22:56 -07:00
jordan
9128dd23b5 release: v0.10.45 - chore: remove hardcoded fallback projects 2026-02-03 19:07:38 -07:00
jordan
5c615fd54c release: v0.10.44 - fix: composable monorepo CI builds + health improvements 2026-02-03 19:04:33 -07:00
jordan
9a1309a0c5 feat: fix composable monorepo CI builds + health endpoint improvements
Composable monorepo CI fixes:
- Add empty go.sum.tmpl files for pkg, service, worker, and cli components
- Fix Dockerfile.tmpl glob patterns (COPY go.work.sum* is invalid in Kaniko)
- Add deps step to CI that runs go work sync and go mod tidy before builds
- Fix scalar-go dependency version (v0.1.2 doesn't exist, use v0.13.0)

Health endpoint improvements:
- Add registry health check (zot OCI /v2/ endpoint)
- Add health metrics for CI, registry, and Git
- Add /health/ci endpoint for Woodpecker health

Visual verification scaffolding:
- Add Playwright pod and scripts ConfigMap
- Add vision.md and implementation breakdown plan

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 18:46:51 -07:00
jordan
9a0591e67d release: v0.10.43 - feat: add WorkerService.FailTask for audit updates + visual verification scaffolding 2026-02-03 00:09:19 -07:00
jordan
b2152b7967 release: v0.10.42 - feat: add work task error classification and user-facing error codes 2026-02-03 00:07:38 -07:00
jordan
cce4314a39 release: v0.10.41 - feat: add artifact pass/fail/needs-fix lifecycle for SDLC execution phases 2026-02-02 22:15:34 -07:00
jordan
fc2cfa139c release: v0.10.40 - feat: add worker pool infrastructure for composable projects 2026-02-02 19:56:04 -07:00
jordan
aaf66764fb feat: add worker pool infrastructure for composable projects
- Add POST /workers/register and POST /workers/{workerId}/heartbeat endpoints
- Start worker health checker goroutine in main.go
- Fix network policy to allow K8s API server access (includes real endpoint IPs)
- Add rdev.orchard9.ai/role: worker label to claudebox StatefulSet

This enables the embedded WorkExecutor to reach claudebox-0 for executing
builds on composable projects that don't have dedicated pods.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 19:55:37 -07:00
jordan
fc0f6db184 release: v0.10.39 - fix: resolve chi route conflicts for SDLC endpoints 2026-02-02 19:17:51 -07:00
jordan
1a69298e9c release: v0.10.38 - feat: add feature development E2E test and SDLC API deployment 2026-02-02 19:13:45 -07:00
jordan
c280a92012 feat: add operations audit system and template improvements
Operations Audit (new feature):
- Add Operation domain model with status tracking (pending, running, completed, failed, cancelled)
- Add OperationRepository with PostgreSQL implementation
- Add OperationService for CRUD and lifecycle management
- Add operations handlers (list, get, cancel endpoints)
- Add migration 015_operations.sql for operations table
- Add operation cleanup worker for stale operation handling
- Add ErrOperationNotFound to domain errors

Template Improvements:
- Add CLAUDE.md configuration files to astro-landing, default, and go-api templates
- Fix PORT template variable usage in nginx configs for app templates
- Add replace directives for local pkg module in Go templates
- Simplify Go service/worker Dockerfiles for workspace builds
- Fix TypeScript error in logger template

Other:
- Refactor landing-test.sh cookbook script
- Update CLAUDE.md version reference

Note: Some files exceed 500-line limit (pre-existing debt + new feature)
- component.go: 550 lines (unchanged, pre-existing)
- main.go: 522 lines (added operations wiring)
- operation_repo.go: 569 lines (new, needs splitting)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 19:08:57 -07:00
jordan
56fd376922 release: v0.10.37 - fix: use PORT template variable for nginx in app templates 2026-02-01 14:16:17 -07:00
jordan
20f14c3810 release: v0.10.36 - fix: skip project-level deployment for composable projects 2026-02-01 14:08:45 -07:00
jordan
ab43869317 release: v0.10.35 - fix: use registry.threesix.ai as default registry URL 2026-02-01 14:00:27 -07:00
jordan
13c7111a8b release: v0.10.34 - fix: add replace directives for local pkg module in Go templates 2026-02-01 13:52:44 -07:00
jordan
f8e6a6e25c release: v0.10.33 - fix: build from workspace root to find go.work 2026-02-01 13:45:30 -07:00
jordan
931c7c0074 release: v0.10.32 - fix: use git.threesix.ai module path and add GOPRIVATE 2026-02-01 13:39:05 -07:00
jordan
88ae77e9d0 release: v0.10.31 - fix: restore git in Go Dockerfiles for external deps 2026-02-01 13:11:33 -07:00
jordan
79f1fefd9e release: v0.10.30 - fix: simplify Go Dockerfiles to handle workspace deps 2026-02-01 13:04:36 -07:00
jordan
cee736e781 release: v0.10.29 - fix: install git in Go service/worker Dockerfiles 2026-02-01 12:57:29 -07:00
jordan
eb70704c6b release: v0.10.28 - fix: TypeScript error in logger template 2026-02-01 12:51:03 -07:00
jordan
552c36233d release: v0.10.27 - fix: woodpecker step YAML multi-line command syntax 2026-02-01 12:45:37 -07:00
jordan
25ce2ebd65 release: v0.10.25 - feat: add pipeline steps API for debugging diagnostics 2026-02-01 12:44:47 -07:00
jordan
05a64c51e7 release: v0.10.27 - fix: woodpecker step YAML multi-line command syntax 2026-02-01 12:42:18 -07:00
jordan
35dc4d26a4 release: v0.10.25 - feat: add pipeline steps API for debugging diagnostics 2026-02-01 12:41:04 -07:00
jordan
ccc3f13ced release: v0.10.26 - fix: sanitize component path for K8s labels 2026-02-01 12:28:08 -07:00
jordan
c9414832d3 release: v0.10.25 - fix: component deployment creation and pnpm workspace Docker builds 2026-02-01 11:12:55 -07:00
jordan
96a81fb395 release: v0.10.24 - fix: woodpecker YAML marker format 2026-02-01 01:24:29 -07:00
jordan
91c87836a7 release: v0.10.23 - feat: composable monorepo component endpoints 2026-02-01 00:26:36 -07:00
jordan
f6ced22e06 fix: Use FQDN for k8s service hostnames and remove broken commonLabels
Short-form DNS names (e.g. postgres.databases.svc) fail to resolve in
new pods due to k8s DNS search domain limitations. Switch all service
hostnames to FQDNs (*.svc.cluster.local).

Remove commonLabels from kustomization.yaml — it injected labels into
all selectors including NetworkPolicy egress rules (blocking DNS to
CoreDNS) and Deployment selectors (causing immutability errors).

Add OTEL_EXPORTER_OTLP_ENDPOINT env var to deployment YAML so the
telemetry collector endpoint uses the FQDN without requiring a binary
rebuild.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:46:04 -07:00
jordan
e1b8ccd6a4 release: v0.10.22 - fix: Reduce CI activation retry from 15 to 5 attempts to stay under proxy timeout 2026-01-31 10:53:22 -07:00
jordan
137814ae7e release: v0.10.21 - fix: Sync build audit with work queue when stale tasks are requeued 2026-01-31 02:06:10 -07:00
jordan
8db06a32ec chore: Remove obsolete dedicated claudebox pods
The shared worker pool (claudebox-0) now handles all project builds
with dynamic git cloning. The dedicated per-project pods were stuck
in Init state and are no longer needed.

Removed:
- claudebox-aeries StatefulSet and PVC
- claudebox-pantheon StatefulSet and PVC
- Associated secrets and configmaps (deleted from cluster)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:15:17 -07:00
jordan
b9aa64f284 release: v0.10.20 - fix: Verify git remote matches before pulling in shared workspace 2026-01-31 00:48:09 -07:00
jordan
6405acb66a release: v0.10.19 - fix: Clear non-git workspace before cloning repository 2026-01-31 00:34:39 -07:00
jordan
823cae51c0 release: v0.10.18 - fix: Clone git repo before build execution to enable post-build git operations 2026-01-31 00:21:06 -07:00