Files
memory/systems/gitea.md
T
2026-07-26 22:00:53 +00:00

3.3 KiB

title, category, tags, created, modified
title category tags created modified
Gitea (Git Server + CI) systems
gitea
git
ci
actions
2026-07-24 2026-07-26

Gitea (Git Server + CI)

Instanz

  • URL: git.schoen.codes (K8s Ingress, Traefik → gitea-http ClusterIP)
  • Internal: gitea-internal.gitea:3000 (K8s ClusterIP 10.43.5.203)
  • SSH: 10.0.30.202:22 (Cilium LoadBalancer, gitea-ssh service)
  • Version: 1.27.0 (K8s Helm chart v12.7.0)
  • Privat: NIEMALS öffentlich machen (enthält Secrets)
  • CT108 (alte Gitea, 10.0.30.105): DECOMMISSIONED — gestoppt am 2026-07-24

Repositories

Repo Zweck Clone
dominik/iac-homelab IaC (Tofu + Ansible + K8s Manifeste) /home/debian/iac-homelab auf Hermes host
dominik/hermes-skills Skill Versionierung ~/.hermes/skills/
dominik/hermes-memories MEMORY.md/USER.md Sync ~/.hermes/memories/
dominik/noris-compound-learning Noris Learnings (shareable) /home/debian/infra-compound-learning/

ArgoCD SSH Deploy Keys

  • Ed25519 SSH-Key als Gitea Deploy Key (read-only)
  • ArgoCD Secret argocd-repo-k8s-gitea mit SSH Private Key
  • known_hosts ConfigMap mit Gitea SSH Hostkey
  • 15 ArgoCD Apps via SSH (ssh://gitea@git.schoen.codes:22/dominik/iac-homelab.git)

Gitea Actions CI

  • Primary Runner: vm200-host (ID 73, act_runner v0.2.13, host backend) — WORKING
  • K8s Runner: gitea-runner deployment in gitea namespace (DinD sidecar + act_runner v0.2.13) — registered but NO TASK ASSIGNMENT (Gitea 1.27.0 bug)
  • KNOWN BUG (Gitea 1.27.0): actions_ready_job queue doesn't create action_task records for K8s-based runners via gRPC Declare. Only runner 73 (external, pre-registered) receives tasks. Fix: upgrade Gitea to 1.27.1+ or 1.28.x.
  • No runner management API in Gitea 1.27.0 (/api/v1/admin/runners → 404). Manage via DB: gitea.action_runner table, is_disabled column, deleted for soft-delete.
  • Workflow: .gitea/workflows/rebuild-infrastructure.yml
  • Achtung: actions/checkout@v4 versucht github.com zu erreichen — muss gemapped werden
  • DinD Pitfalls: docker:27-dind creates docker.sock as directory → use TCP mode (--host=tcp://, --tls=false). act_runner:0.2.13 has no docker CLI → use nc for port check. act_runner:0.2.13 doesn't auto-register → wrapper script needed.
  • Solution Doc: docs/solutions/bug-fixes/2026-07-24-gitea-actions-k8s-runner-task-assignment-bug.md

IaC Remotes

  • iac-homelab hat EINEN remote: origin = K8s Gitea (git.schoen.codes)
  • Alter CT108 remote wurde entfernt (CT108 decommissioned)

Hermes Agent SSH Push Key

  • Key: ~/.ssh/id_ed25519_gitea-hermes-push (hermes-agent@gitea-push)
  • 1Password: "Gitea Hermes Push Key" (ID: lqaebdtewj5xatvpzfrkag73v4)
  • Gitea Key ID: 4 (title: hermes-agent-push, user: dominik)
  • Verwendung: GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ed25519_gitea-hermes-push -o StrictHostKeyChecking=no" git push ssh://git@10.0.30.202:22/dominik/iac-homelab.git HEAD:main
  • Wichtig: Gitea HTTP (Port 3000) hat keine externe IngressRoute — SSH (Port 22 via LoadBalancer) ist der einzige zuverlässige Weg für Git-Pushes von außerhalb K8s.