**Gitea** is a lightweight, self-hosted Git service written in Go. It provides a GitHub-like experience — repository hosting, pull requests, issues, code review, CI/CD webhooks — on infrastructure you control, with minimal resource requirements.
---
### First Principle: Your source code is your most valuable asset. It should live on infrastructure you own.
GitHub and GitLab SaaS are convenient but create a critical dependency on external services. A hyperscaler operator needs self-hosted source control — for compliance, for reliability, and for deep integration with internal CI/CD pipelines. Gitea provides this with a small operational footprint.
---
### Key Considerations
- **Lightweight**: Gitea runs on a single machine with very modest resource requirements. Compare this to GitLab, which requires significant compute and memory.
- **Feature Set**: Pull requests, code review, protected branches, webhooks, SSH/HTTPS clone, Gitea Actions (GitHub Actions-compatible CI), container registry, package registry.
- **Gitea Actions**: Recent versions include Gitea Actions — a GitHub Actions-compatible CI system. Existing GitHub Actions workflows can often be moved to Gitea with minimal changes.
- **Webhook Integration**: Gitea's webhook system integrates natively with [[Tekton]] Triggers and [[ArgoCD]] — push events trigger CI builds and ArgoCD sync checks.
- **vs GitLab CE**: GitLab Community Edition is more feature-rich but heavier. Gitea is better when you want simplicity and low overhead.
- **Forgejo Fork**: Forgejo is a community fork of Gitea focused on fully libre governance.
---
### How It Fits
```
Developers push code to Gitea
→ Gitea webhooks trigger [[Tekton]] (CI)
→ [[ArgoCD]] watches Gitea for manifest changes (CD)
→ [[Kubernetes]] clusters updated via GitOps
```
[[Tekton]] | [[ArgoCD]] | [[Kubernetes]] | [[Open Source Hyperscaler MoC]]