Files
platform/gitea-runner/manifests/deployment.yaml
Mayne0213 dfa2a0578e feat: Kaniko 기반 CI/CD 설정
- gitea-runner: DinD 제거, Host 모드 전환
- gitea-runner: ServiceAccount, RBAC 추가
- gitea ns: zot-registry-credentials ExternalSecret 추가
- argocd ns: zot-registry-credentials ExternalSecret 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:15:19 +09:00

74 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: gitea-runner
namespace: gitea
labels:
app: gitea-runner
spec:
replicas: 1
selector:
matchLabels:
app: gitea-runner
template:
metadata:
labels:
app: gitea-runner
spec:
serviceAccountName: gitea-runner
containers:
- name: runner
image: gitea/act_runner:latest
command:
- sh
- -c
- |
# Install kubectl
wget -q -O /usr/local/bin/kubectl "https://dl.k8s.io/release/$(wget -q -O - https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
chmod +x /usr/local/bin/kubectl
# Wait for Gitea to be ready
while ! wget -q --spider http://gitea-http.gitea.svc:3000/api/v1/version 2>/dev/null; do
echo "Waiting for Gitea to be ready..."
sleep 5
done
echo "Gitea is ready!"
# Register runner if not already registered
if [ ! -f /data/.runner ]; then
act_runner register --no-interactive \
--instance https://github0213.com \
--token $(cat /secrets/token) \
--name k3s-runner \
--labels k3s-home:host
fi
act_runner daemon
env:
- name: GITEA_INSTANCE_URL
value: "https://github0213.com"
volumeMounts:
- name: runner-data
mountPath: /data
- name: runner-secret
mountPath: /secrets
readOnly: true
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 512Mi
volumes:
- name: runner-data
emptyDir: {}
- name: runner-secret
secret:
secretName: gitea-runner-secret
nodeSelector:
node-role.kubernetes.io/control-plane: "true"
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule