Files
docs/infrastructure/test-contour/argocd-apps.md
T

82 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`).