diff --git a/CLAUDE.md b/CLAUDE.md index 65462f4..24307ac 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,6 +22,7 @@ This repository contains Kubernetes manifests for deploying a media server stack - **Longhorn**: Block storage for application configs - **NFS Storage**: External server at 192.168.12.16 for media files - **Kubernetes Dashboard**: Web UI with admin access +- **Forgejo CI/CD Workers**: Self-hosted runners for git.deco.sh with full toolchain ## Deployment Commands @@ -40,6 +41,11 @@ kubectl apply -f arr/ # Deploy individual apps kubectl apply -f arr/radarr.yaml kubectl apply -f arr/sonarr.yaml + +# Deploy Forgejo CI/CD workers +kubectl create namespace forgejo-workers +kubectl apply -f forgejo-worker-config.yaml +kubectl apply -f forgejo-workers-volume5.yaml ``` ## Resource Patterns @@ -66,9 +72,28 @@ Each media application follows this structure: - NFS server must be accessible at 192.168.12.16 - Local DNS must resolve `*.local` domains +## Forgejo CI/CD Workers + +### Architecture +- **DaemonSet deployment** on ARM64 nodes with host networking and privileged containers +- **Full toolchain**: Node.js, Go, Hugo, AWS CLI, Python, Git, yarn, jq +- **NFS-backed workspace**: `/Volume5/forgejo-builds` (workspace) and `/Volume5/forgejo-cache` (cache) +- **Auto-registration**: Workers register with Forgejo instance at `https://git.deco.sh` + +### Key Features +- Supports multiple languages and frameworks out of the box +- Configured for HTTPS git authentication +- Includes AWS CLI for cloud deployments +- Resource limits: 4Gi memory, 2 CPU cores +- Persistent storage on host for worker data + +### Worker Labels +- `self-hosted`, `linux`, `arm64`, `nodejs`, `aws-cli`, `golang`, `hugo` + ## Important Notes - All containers run with UID/GID 1000 - Dashboard has full cluster-admin privileges - All images use `latest` tag -- Media namespace must exist before deploying applications \ No newline at end of file +- Media namespace must exist before deploying applications +- Forgejo workers require privileged containers for full CI/CD functionality \ No newline at end of file