Files
homelab/kubernetes/apps/gitea/service.yaml
claude-botandClaude Opus 5.5 eb23d3ac6e
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
feat(gitea): move Gitea into the gitea namespace (stage 2 of #878)
- kubernetes/apps/gitea: every object in namespace gitea; applied by a
  new gitea Flux Kustomization (clusters/homelab/gitea.yaml) instead of
  apps. gitea-allow-metrics-scrape dropped: the gitea-ns baseline
  already admits monitoring.
- Rotators (flux-git, review-bot) and the Prometheus gitea job use
  gitea.gitea.svc.
- bootstrap.sh waits for the gitea KS.

Data: data-gitea-0 is not copied. The PV (reclaimPolicy Retain) is
rebound to a PVC gitea/data-gitea-0 pre-created with volumeName, which
the new StatefulSet adopts. gitea-tls is pre-issued in the gitea
namespace so HTTPS has no certificate gap.

Refs #878

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 07:44:26 +02:00

25 lines
669 B
YAML

apiVersion: v1
kind: Service
metadata:
name: gitea
namespace: gitea
labels:
app.kubernetes.io/name: gitea
spec:
# PHASE 2: flipped ExternalName -> ClusterIP. gitea.renner.uno now resolves to
# the in-cluster StatefulSet instead of LXC 114. The Ingress already targets
# this Service by name, so the HTTP cutover is just this file. git-over-ssh
# arrives via the Traefik gitea-ssh entrypoint -> ingressroute-ssh.yaml -> :2222.
type: ClusterIP
selector:
app.kubernetes.io/name: gitea
ports:
- name: http
port: 3000
targetPort: http
protocol: TCP
- name: ssh
port: 2222
targetPort: ssh
protocol: TCP