Talos/testing1/first-cluster/apps/gitea/deployment.yaml
0xWheatyz af0403d330 feat(apps): add Gitea Git service with container registry
Deploy Gitea 1.22 with integrated container registry and CI/CD runner.

Features:
- Git repository hosting
- Container registry on port 5000
- Gitea Act Runner for CI/CD (GitHub Actions compatible)
- LoadBalancer service at 10.0.1.10 (HTTP:80, SSH:22)
- NFS-backed persistent storage (50Gi data, 5Gi config)
- Automatic failover across control plane nodes

Access:
- Web UI: http://10.0.1.10
- SSH: ssh://10.0.1.10:22
- Registry: 10.0.1.10:5000

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 01:47:12 +00:00

71 lines
1.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: gitea
namespace: gitea
labels:
app: gitea
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: gitea
template:
metadata:
labels:
app: gitea
spec:
containers:
- name: gitea
image: gitea/gitea:1.22.6
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 3000
protocol: TCP
- name: ssh
containerPort: 22
protocol: TCP
volumeMounts:
- name: gitea-data
mountPath: /data
- name: gitea-config
mountPath: /etc/gitea
env:
- name: USER_UID
value: "1000"
- name: USER_GID
value: "1000"
resources:
requests:
cpu: "500m"
memory: "512Mi"
limits:
cpu: "1000m"
memory: "1Gi"
livenessProbe:
httpGet:
path: /api/healthz
port: 3000
initialDelaySeconds: 200
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 10
readinessProbe:
httpGet:
path: /api/healthz
port: 3000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
volumes:
- name: gitea-data
persistentVolumeClaim:
claimName: gitea-data
- name: gitea-config
persistentVolumeClaim:
claimName: gitea-config