# ArgoCD: sova-root, data-test и «почему нельзя войти»

В UI ArgoCD видны приложения разных типов. Не у всех есть URL в браузере или смысл открывать Terminal «как в backend».

## Сводная таблица

| Application | Что деплоит | Namespace | Есть URL? | Terminal |
|-------------|-------------|-----------|-----------|----------|
| **sova-root** | другие `Application` CR (app-of-apps) | `argocd` | нет | нет pod'ов |
| **data-test** | PostgreSQL, MySQL, Redis (Helm Bitnami) | `sova-data-test` | нет | только в pod БД |
| **backend-test** | Symfony API | `sova-test` | api.test.sova.local | php-fpm |
| **adminpanel-test** | React admin | `sova-test` | admin.test.sova.local | nginx |
| **cabinet-test** | Symfony ЛК | `sova-test` | cabinet.test.sova.local | php-fpm |
| **docs-test** | документация (nginx) | `sova-test` | docs.sova.local | nginx |
| **mocks-test** | WireMock, Mailpit | `sova-mocks` | internal only | по pod |

---

## sova-root — «корневое» GitOps-приложение

**Назначение:** паттерн *app-of-apps*. Один `Application` следит за каталогом `sova-deploy/argocd/apps/` и создаёт/обновляет остальные Application-манифесты (`backend-test`, `data-test`, …).

**Почему «нельзя войти»:**

- Это **мета-приложение**. Оно не разворачивает Deployment, Service или Ingress.
- В дереве ресурсов — только объекты типа `Application` в namespace `argocd`.
- Нет веб-интерфейса, логина пользователя или pod'а для exec.

**Как пользоваться:** смотрите дочерние приложения (`backend-test`, `docs-test`, …). `sova-root` нужен для автоматического подхвата новых Application при push в `sova-deploy`.

```mermaid
flowchart TB
  root["sova-root Application"]
  apps["argocd/apps/*.yaml"]
  be["backend-test"]
  data["data-test"]
  docs["docs-test"]
  root --> apps
  apps --> be & data & docs
```

---

## data-test — инфраструктура данных

**Назначение:** Helm-чарт `sova-deploy/data/test` — PostgreSQL (backend + cabinet БД), MySQL Bitrix, Redis для test-контура.

**Почему «нельзя войти»:**

- Это **слой данных**, не пользовательское приложение.
- Нет Ingress и публичного hostname.
- «Войти» в ArgoCD UI можно только в смысле открыть карточку приложения — там StatefulSet/Deployment БД, а не сайт.

**Как подключаться:**

```bash
# PostgreSQL из другого pod в кластере
postgresql-test.sova-data-test.svc.cluster.local:5432

# Инициализация schema/seed — отдельный Job db-init (чарт data/db-init), не через браузер
kubectl get jobs -n sova-data-test
```

**Terminal:** технически можно `exec` в pod PostgreSQL/MySQL, но это для DBA/отладки, не «логин в приложение».

**Sync degraded:** если в чарте `data/test` был лишний шаблон `db-init` с несуществующими values (`postgres.*` вместо `postgresql.*`), Application падал в ошибку. Инициализация БД выполняется **отдельным** чартом `data/db-init` через `deploy-test-stack.sh`.

---

## Куда идти вместо этого

| Задача | Куда |
|--------|------|
| API, миграции, cron | **backend-test** → Pod → container **php-fpm** → Terminal |
| Админка | **adminpanel-test** → http://admin.test.sova.local |
| Личный кабинет | **cabinet-test** → http://cabinet.test.sova.local |
| Документация | **docs-test** → http://docs.sova.local |
| Git, CI | http://git.sova.local |
| Метрики/логи | http://grafana.sova.local |

Exec в ArgoCD включён в `platform/argocd/values-test.yaml` (`exec.enabled: true`).
