TOOLS/ — generators + scripts + config + ARCHITECTURE.md ├── yaml-generator/ (code) ├── resource-generator/ (code) ├── docs-generator/ (code) ├── scripts/ (← devops/*.sh) ├── config/ (← devops/profiles/ + devops/config/) │ ├── test/ profile.env, services_list.txt, operation_timeouts.json │ ├── prod/ │ └── dev/ └── ARCHITECTURE.md (← devops/ARCHITECTURE.md) generated/ — pipeline output only (gitignored) ├── test/resources_yaml/, go/, docs/, provider_build/ ├── prod/ └── dev/ provider/ — code only, no generated files resources_yaml/ — DELETED (generated) internal/resources_gen/ — DELETED (generated) devops/ — removed (replaced by TOOLS/scripts + TOOLS/config + generated/) Generators now fail if NUBES_*_DIR not set (no defaults to provider/). Provider requires pipeline to populate resources_gen/ before build.
14 lines
6.7 KiB
Markdown
14 lines
6.7 KiB
Markdown
# Resource nubes_gitea
|
||
|
||
Service ID: `99`
|
||
|
||
Service Name: Gitea
|
||
|
||
[Manual](gitea.md) | [Create params](gitea_params_create.md) | [Modify params](gitea_params_modify.md) | [Output params](gitea_outputs.md) | [Operations](gitea_ops.md) | [Example](gitea_example.md)
|
||
|
||
## MAN
|
||
|
||
<div class="man-content">
|
||
# Инструкция по развертыванию Gitea через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Gitea — это лёгкий, быстрый и самодостаточный сервис хостинга Git-репозиториев с веб-интерфейсом.<br/>Позволяет создавать и управлять репозиториями, организациями, командами, а также настраивать CI/CD через интеграции.<br/>Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание сервиса Gitea<br/>- **delete** — Удаление сервиса Gitea<br/>- **modify** — Модификация сервиса Gitea<br/>- **suspend** — Остановка сервиса Gitea<br/>- **resume** — Запуск сервиса Gitea<br/><br/>---<br/>## 2. Параметры развертывания<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Gitea:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в которой будет развёрнут сервис). Пример: `k8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество реплик подов Gitea. Пример: `1`<br/><br/>* **Квота (megabyte) памяти пода:**<br/> Квота памяти пода в мегабайтах. Пример: `1024`<br/><br/>* **Квота (millicore) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `500`<br/><br/>* **Размер (gigabyte) диска для базы данных:**<br/> Размер PVC для хранения репозиториев и данных Gitea в гигабайтах. Пример: `10`<br/><br/>* **FQDN / Домен:**<br/> Доменное имя, по которому будет доступен сервис. Пример: `git.example.com`<br/><br/>* **Инстанс услуги PostgreSQL:**<br/> UUID услуги k8sPgsql, в которой будет создана база данных `gitea` и пользователь `techgitea`.<br/><br/>* **Дополнительные параметры сервера (iniServerParams):**<br/> JSON-объект с дополнительными параметрами секции `[server]` в `app.ini`. Пример:<br/> ```json<br/> {"MAX_CONTENT_LENGTH": "524288000"}<br/> ```<br/><br/>* **Дополнительные annotations для Ingress (ingressExtraAnnotations):**<br/> JSON-объект с дополнительными annotations для Ingress-контроллера. Пример:<br/> ```json<br/> {"nginx.ingress.kubernetes.io/proxy-body-size": "500m"}<br/> ```<br/><br/>---<br/>## 3. Особенности подключения и работы с репозиториями<br/><br/>### 3.1. Доступ только по HTTPS<br/>Сервис развёртывается с **rootless-образом** Gitea. SSH-сервер внутри и он **доступен только внутри кластера Kubernetes**.<br/><br/>**Внешний доступ к репозиториям осуществляется исключительно по HTTPS через Ingress.**<br/><br/>```bash<br/># Пример клонирования<br/>https://<домен>/<пользователь>/<репозиторий>.git<br/>```<br/><br/>### 3.2. Настройка git для передачи логина и пароля<br/>Для работы с приватными репозиториями через HTTPS необходимо передать учётные данные. Рекомендуется использовать один из следующих способов:<br/><br/>**Встроить креды в URL remote**<br/>```bash<br/>git remote set-url origin https://<логин>:<пароль>@<домен>/<пользователь>/<репозиторий>.git<br/>```<br/>> **Важно:** Логин и пароль администратора создаются автоматически при развертывании и хранятся в Vault.<br/><br/>### 3.3. Работа с большими файлами<br/>По умолчанию `MAX_CONTENT_LENGTH` установлен в **500 МБ**, а Ingress пропускает pack-файлы до **500 МБ**.<br/><br/>Если необходимо запушить файлы близкие к лимиту, увеличьте HTTP-буфер git на стороне клиента:<br/>```bash<br/>git config http.postBuffer 524288000<br/>```<br/><br/>Для файлов **более 500 МБ** рекомендуется использовать **Git LFS**.<br/><br/>---<br/>## 4. Выходные параметры<br/>После успешного развертывания ресурса Gitea платформа возвращает ряд параметров.<br/><br/>Ключевым из них является:<br/><br/>**connectionUrl**<br/>Это внешний URL для доступа к веб-интерфейсу и Git-репозиториям по HTTPS. Пример:<br/>```<br/>https://git.example.com<br/>```<br/><br/>**internalConnect**<br/>Внутренний эндпоинт для подключения к PostgreSQL из других сервисов внутри кластера.<br/><br/>---<br/>## 5. Дополнительная информация<br/>- База данных `gitea` и пользователь `techgitea` создаются автоматически в указанной услуге PostgreSQL.<br/>- DNS-запись и TLS-сертификат (Let's Encrypt) настраиваются автоматически на основе указанного домена.<br/>- Для изменения параметров сервера Gitea (`app.ini`) используйте операцию **modify** с полем `iniServerParams`.<br/>- Для добавления дополнительных Ingress-annotations используйте операцию **modify** с полем `ingressExtraAnnotations`.<br/>---
|
||
</div>
|