4.2 KiB
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в namespaceargocd. - Нет веб-интерфейса, логина пользователя или pod'а для exec.
Как пользоваться: смотрите дочерние приложения (backend-test, docs-test, …). sova-root нужен для автоматического подхвата новых Application при push в sova-deploy.
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 БД, а не сайт.
Как подключаться:
# 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).