Files
k8s-manifests/gitea/statefulset-gitea.yaml
ChemaVXandClaude Fable 5 29d681431a fix(gitea): set ROOT_URL to https://git.chemavx.xyz matching the actual ingress
The old ROOT_URL (gitea.chemavx.xyz) is not routed by traefik, so every
URL Gitea generated from it was broken — including webhook payload repo
URLs, which is why ArgoCD ignored real push events (host mismatch) and
deploys waited for the ~3min polling cycle. Applied live on 2026-06-12.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 07:58:52 +00:00

92 lines
2.3 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: gitea
namespace: gitea
spec:
persistentVolumeClaimRetentionPolicy:
whenDeleted: Retain
whenScaled: Retain
podManagementPolicy: OrderedReady
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: gitea
serviceName: gitea
template:
metadata:
labels:
app: gitea
spec:
containers:
- env:
- name: GITEA__database__DB_TYPE
value: sqlite3
- name: GITEA__database__PATH
value: /data/gitea/gitea.db
- name: GITEA__server__DOMAIN
value: gitea.chemavx.xyz
- name: GITEA__server__ROOT_URL
value: https://git.chemavx.xyz
- name: GITEA__server__SSH_PORT
value: '22'
- name: GITEA__server__SSH_DOMAIN
value: gitea.chemavx.xyz
- name: GITEA__security__INSTALL_LOCK
value: 'true'
- name: GITEA__service__DISABLE_REGISTRATION
value: 'false'
- name: USER_UID
value: '1000'
- name: USER_GID
value: '1000'
image: gitea/gitea:1.25.5
imagePullPolicy: Always
name: gitea
ports:
- containerPort: 3000
protocol: TCP
- containerPort: 22
protocol: TCP
resources:
limits:
cpu: 300m
memory: 512Mi
requests:
cpu: 50m
memory: 128Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /data
name: data
dnsPolicy: ClusterFirst
initContainers:
- command:
- sh
- -c
- mkdir -p /data/gitea/conf && chown -R 1000:1000 /data
image: busybox
imagePullPolicy: Always
name: init-dirs
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /data
name: data
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: data
persistentVolumeClaim:
claimName: gitea-data-pvc
updateStrategy:
rollingUpdate:
partition: 0
type: RollingUpdate