refactor: migrar GitLab → Gitea (aulas 10, 11, 13)

- Aula 10: Gitea + Registry + Actions + Runner (substituiu GitLab)
  - gitea-values.yaml: PostgreSQL standalone, Valkey standalone, ~800Mi RAM
  - setup.sh/cleanup.sh: namespace gitea, Helm gitea-charts/gitea + actions
  - README.md: documentação completa com de→para (GitLab/Harbor/Tekton vs Gitea)

- Aula 11: ArgoCD (GitOps) — removido GitLab Runner (runner vive na aula-10)
  - setup.sh: só ArgoCD, integração SSH com Gitea
  - node-bugado/.gitea/workflows/ci.yml: pipeline convertida

- Aula 13: Container Factory — atualizado para Gitea
  - setup.sh/cleanup.sh: referências GitLab → Gitea
  - pipelines/postgresql/ci.yml: Gitea Actions workflow
  - README.md: conexão com act_runner explicada

- CLAUDE.md: tabela de aulas atualizada
This commit is contained in:
ArgoCD Setup
2026-03-14 01:44:30 -03:00
parent ff7af56c30
commit d380cd8585
35 changed files with 3374 additions and 1202 deletions

207
aula-10/gitea-values.yaml Normal file
View File

@@ -0,0 +1,207 @@
# =============================================================================
# Gitea Helm Chart - Configuração para Hetzner CAX11
# =============================================================================
#
# Esta configuração:
# - Usa NGINX Ingress Controller externo (instalado na aula-08)
# - PostgreSQL standalone (sem HA) para economia de recursos
# - Valkey standalone (sem cluster) para economia de recursos
# - Container Registry (packages) habilitado
# - Gitea Actions habilitado
# - ~800Mi de recursos para Gitea + ~256Mi PostgreSQL + ~64Mi Valkey
# - act_runner instalado separadamente via gitea-charts/actions
#
# Valores dinâmicos (configurados via --set no setup.sh):
# - ingress.hosts[0].host
# - gitea.config.server.DOMAIN
# - gitea.config.server.ROOT_URL
# - gitea.config.server.SSH_DOMAIN
#
# =============================================================================
# Réplicas
replicaCount: 1
# Imagem rootless (mais segura)
image:
rootless: true
# =============================================================================
# RECURSOS - Otimizado para CAX11 (4GB RAM)
# =============================================================================
resources:
requests:
memory: 512Mi
cpu: 100m
limits:
memory: 1Gi
cpu: 500m
# =============================================================================
# INGRESS - Usa NGINX Ingress Controller externo (aula-08)
# =============================================================================
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "900"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "900"
hosts:
- host: git.example.com # Sobrescrito via --set
paths:
- path: /
# TLS configurado via --set no setup.sh
# =============================================================================
# SERVICE - HTTP e SSH
# =============================================================================
service:
http:
type: ClusterIP
port: 3000
ssh:
type: ClusterIP
port: 22
# =============================================================================
# PERSISTENCE
# =============================================================================
persistence:
enabled: true
size: 10Gi
storageClass: hcloud-volumes
# =============================================================================
# GITEA CONFIG (mapeia para app.ini)
# =============================================================================
gitea:
admin:
username: gitea_admin
password: "" # Gerado automaticamente pelo setup.sh
email: "admin@local.domain"
passwordMode: initialOnlyNoReset
config:
# Servidor
server:
PROTOCOL: http
SSH_PORT: 22
SSH_LISTEN_PORT: 2222 # Rootless image escuta nesta porta
LFS_START_SERVER: true
OFFLINE_MODE: false
# Segurança
security:
INSTALL_LOCK: true
# Serviço
service:
DISABLE_REGISTRATION: false
REQUIRE_SIGNIN_VIEW: false
DEFAULT_KEEP_EMAIL_PRIVATE: true
# Repositório
repository:
DEFAULT_BRANCH: main
DEFAULT_PRIVATE: private
# Container Registry (Packages)
packages:
ENABLED: true
# Gitea Actions (CI/CD)
actions:
ENABLED: true
DEFAULT_ACTIONS_URL: https://github.com
# Timezone
time:
DEFAULT_UI_LOCATION: America/Sao_Paulo
# Probes ajustadas para cluster pequeno
livenessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 60
timeoutSeconds: 3
periodSeconds: 10
failureThreshold: 10
readinessProbe:
enabled: true
tcpSocket:
port: http
initialDelaySeconds: 10
timeoutSeconds: 3
periodSeconds: 10
failureThreshold: 3
# =============================================================================
# POSTGRESQL - Standalone (sem HA, economia de recursos)
# =============================================================================
postgresql-ha:
enabled: false
postgresql:
enabled: true
global:
postgresql:
auth:
password: gitea
database: gitea
username: gitea
service:
ports:
postgresql: 5432
image:
repository: bitnamilegacy/postgresql
primary:
persistence:
size: 10Gi
storageClass: hcloud-volumes
resources:
requests:
memory: 128Mi
cpu: 50m
limits:
memory: 256Mi
cpu: 250m
# =============================================================================
# VALKEY (Redis) - Standalone (sem cluster, economia de recursos)
# =============================================================================
valkey-cluster:
enabled: false
valkey:
enabled: true
architecture: standalone
image:
repository: bitnamilegacy/valkey
global:
valkey:
password: gitea
master:
count: 1
service:
ports:
valkey: 6379
persistence:
size: 1Gi
storageClass: hcloud-volumes
resources:
requests:
memory: 32Mi
cpu: 25m
limits:
memory: 64Mi
cpu: 100m
# =============================================================================
# TESTES
# =============================================================================
checkDeprecation: true
test:
enabled: false