# Redmine #27: ветки в Gitea (k8s)

Задача [#27](http://redmine.sova.local/issues/27) — content CRUD (backend + adminpanel) и доработки cabinet. Исходный код живёт в **monorepo** `apps/{backend,adminPanel,cabinet}`; в ферме k8s — отдельные репозитории `sova-*` на Gitea.

## Ветки

| Репозиторий Gitea | Ветка | Откуда | Назначение |
|-------------------|-------|--------|------------|
| `sova/backend` | `issues/27` | `apps/backend` | Интеграционный CRUD API (не для review; см. `feature/content-crud-*`) |
| `sova/adminpanel` | `issues/27` | `apps/adminPanel` | UI «как `/promotions`» — отдельные страницы на ресурс |
| `sova/adminpanel` | `issues/27-future` | `apps/adminPanel` | Рекомендуемый UI: `ContentListPage`, `apiContent`, [док](/apps/admin-panel-content-crud) |
| `sova/cabinet` | `issues/27` | `apps/cabinet` | MIS-сессия, онлайн-визит/оплата |
| `sova/cabinet` | `issues/27-cabinet-registration` | только k8s/k3s-test | Docker/webpack + регистрация на test |
| `sova/cabinet` | `issues/27-cabinet-owl-fix` | только k8s/k3s-test | Lazy `owl.carousel` для Stimulus |

Ветки **`prod` / `test` / `stage`** — контур деплоя (ArgoCD). Feature-ветки **не** триггерят CI на push (только `workflow_dispatch` или merge в `test` + тег).

## Перенос / обновление из monorepo

```bash
cd k8s
./scripts/migrate-issues-27-branches.sh
```

Скрипт:

1. `git checkout` нужной ветки в `apps/*`;
2. `rsync` в `sova-*` (сохраняет k8s-артефакты: `Dockerfile`, `.gitea/`, `docker/`, `.env.ci`);
3. коммит на одноимённой ветке;
4. `git push gitea` на `vm-k8s-git`.

Альтернатива с историей коммитов (только backend/adminpanel): `scripts/migrate-monorepo-branch.sh` + диапазон коммитов monorepo.

## Локальная работа

```bash
# backend CRUD на test
cd k8s/sova-backend && git checkout issues/27

# adminpanel (generic UI)
cd k8s/sova-adminpanel && git checkout issues/27-future

# собрать образ вручную или merge → test → ./scripts/release-tag.sh
```

После merge в `test` — релизный тег (`backend-v*`, `adminpanel-v*`) и ArgoCD sync, как в [CI/CD и Loki](./ci-and-logs).

## Связанные документы

- [Backend content CRUD](/apps/backend-content-crud)
- [Adminpanel content CRUD](/apps/admin-panel-content-crud)
- [Git-flow](./git-flow)
