feat: from_stands.py — конвертер STANDS YAML → polygon configs (37 сервисов)
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
name: gitea
|
||||
service_id: 99
|
||||
service_display_name: Gitea
|
||||
service_short_name: gitea
|
||||
service_man: '# Инструкция по развертыванию 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/>---'
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 82
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 83
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
- svcOperationId: 91
|
||||
operation: modify
|
||||
kind: instance
|
||||
action: modify
|
||||
- svcOperationId: 127
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 126
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
stateOut: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 232
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '500'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 233
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '512'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 234
|
||||
svcOperationCfsParam: resourceDisk
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '1'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 235
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '1'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 237
|
||||
svcOperationCfsParam: domain
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: gitea-1
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 238
|
||||
svcOperationCfsParam: psqlUid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 818
|
||||
svcOperationCfsParam: ingressExtraAnnotations
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 821
|
||||
svcOperationCfsParam: iniServerParams
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 259
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 260
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 261
|
||||
svcOperationCfsParam: resourceDisk
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 262
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 819
|
||||
svcOperationCfsParam: ingressExtraAnnotations
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 820
|
||||
svcOperationCfsParam: iniServerParams
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
82:
|
||||
- 232
|
||||
- 233
|
||||
- 234
|
||||
- 235
|
||||
- 237
|
||||
- 238
|
||||
- 818
|
||||
- 821
|
||||
83: []
|
||||
91:
|
||||
- 259
|
||||
- 260
|
||||
- 261
|
||||
- 262
|
||||
- 819
|
||||
- 820
|
||||
127: []
|
||||
126: []
|
||||
stateParams:
|
||||
resourceCPU: '500'
|
||||
resourceMemory: '512'
|
||||
resourceDisk: '1'
|
||||
resourceInstances: '1'
|
||||
domain: gitea-1
|
||||
psqlUid: ''
|
||||
ingressExtraAnnotations: ''
|
||||
iniServerParams: ''
|
||||
Reference in New Issue
Block a user