Enhance CLAUDE.md with Forgejo CI/CD worker documentation
- Add Forgejo workers to infrastructure components - Include deployment commands for CI/CD workers - Document worker architecture, toolchain, and NFS integration - Add worker labels and key features - Note privileged container requirements 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
2fc476d058
commit
747ec85d98
1 changed files with 26 additions and 1 deletions
25
CLAUDE.md
25
CLAUDE.md
|
@ -22,6 +22,7 @@ This repository contains Kubernetes manifests for deploying a media server stack
|
||||||
- **Longhorn**: Block storage for application configs
|
- **Longhorn**: Block storage for application configs
|
||||||
- **NFS Storage**: External server at 192.168.12.16 for media files
|
- **NFS Storage**: External server at 192.168.12.16 for media files
|
||||||
- **Kubernetes Dashboard**: Web UI with admin access
|
- **Kubernetes Dashboard**: Web UI with admin access
|
||||||
|
- **Forgejo CI/CD Workers**: Self-hosted runners for git.deco.sh with full toolchain
|
||||||
|
|
||||||
## Deployment Commands
|
## Deployment Commands
|
||||||
|
|
||||||
|
@ -40,6 +41,11 @@ kubectl apply -f arr/
|
||||||
# Deploy individual apps
|
# Deploy individual apps
|
||||||
kubectl apply -f arr/radarr.yaml
|
kubectl apply -f arr/radarr.yaml
|
||||||
kubectl apply -f arr/sonarr.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
|
## Resource Patterns
|
||||||
|
@ -66,9 +72,28 @@ Each media application follows this structure:
|
||||||
- NFS server must be accessible at 192.168.12.16
|
- NFS server must be accessible at 192.168.12.16
|
||||||
- Local DNS must resolve `*.local` domains
|
- 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
|
## Important Notes
|
||||||
|
|
||||||
- All containers run with UID/GID 1000
|
- All containers run with UID/GID 1000
|
||||||
- Dashboard has full cluster-admin privileges
|
- Dashboard has full cluster-admin privileges
|
||||||
- All images use `latest` tag
|
- All images use `latest` tag
|
||||||
- Media namespace must exist before deploying applications
|
- Media namespace must exist before deploying applications
|
||||||
|
- Forgejo workers require privileged containers for full CI/CD functionality
|
Loading…
Add table
Add a link
Reference in a new issue