- README.md: перепиcан как компактный обзор (98 строк) с навигацией по docs/ - docs/: 13 файлов — getting-started, architecture, configuration, addons, storage, security, cicd, observability, networking, operations, make-reference, molecule-testing, troubleshooting - addons/*/README.md: 31 новый файл — описание, параметры, примеры кода для каждого из 34 аддонов (vault и external-secrets уже существовали)
Gitea
Self-hosted Git сервис с веб-интерфейсом. Поддерживает SSH для git clone, интеграцию с PostgreSQL, Gitea Actions (GitHub Actions-совместимая CI/CD).
Быстрый старт
# group_vars/all/addons.yml
addon_gitea: true
gitea_ingress_host: "gitea.example.com"
gitea_ingress_tls: true
Секреты в vault.yml:
vault_gitea_admin_password: "secure-password"
vault_gitea_db_password: "db-password" # если addon_postgresql: true
make addon-gitea
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
gitea_admin_username |
gitea |
Логин администратора |
gitea_ingress_host |
gitea.local |
Hostname |
gitea_ingress_tls |
false |
TLS через cert-manager |
gitea_ssh_enabled |
false |
SSH NodePort для git clone |
gitea_ssh_node_port |
30022 |
NodePort для SSH |
gitea_storage_size |
10Gi |
Размер PVC для репозиториев |
SSH для git clone
gitea_ssh_enabled: true
gitea_ssh_node_port: 30022
Использование:
git clone ssh://git@192.168.1.10:30022/user/repo.git
Интеграция с PostgreSQL
При addon_postgresql: true Gitea автоматически использует общий PostgreSQL, создавая свою базу данных gitea и пользователя.
Gitea Actions (GitHub Actions совместимая CI/CD)
gitea_actions_enabled: true # включить Actions в Gitea
gitea_actions_runner_enabled: true # установить act_runner
gitea_actions_runner_replicas: 2 # параллельных runner
gitea_actions_runner_dind_enabled: true # Docker-in-Docker
Поддерживаемые labels (runs-on):
gitea_actions_runner_labels: "ubuntu-latest:docker://node:20-bullseye,ubuntu-22.04:docker://ubuntu:22.04"
Пример workflow
# .gitea/workflows/ci.yml
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build
run: make build
- name: Test
run: make test
Docker build в Actions
jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build Docker image
run: |
docker build -t myapp:${{ gitea.sha }} .
docker push harbor.example.com/library/myapp:${{ gitea.sha }}
Webhooks для интеграции с Jenkins
В настройках репозитория → Webhooks → Add Webhook:
- URL:
https://jenkins.example.com/gitea-webhook/post - Content-Type:
application/json - Secret: токен из Jenkins
Диагностика
kubectl logs -n gitea deployment/gitea -f
kubectl exec -n gitea deployment/gitea -- gitea admin user list