82 lines
4.2 KiB
Markdown
82 lines
4.2 KiB
Markdown
# 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`).
|