# ArgoCD: приложения test-контура ArgoCD — GitOps UI: следит за `sova-deploy` и `sova-mocks`, раскатывает Helm charts в кластер. Краткая теория: [sova-root и data-test](../argocd-apps). ## 1. Вход http://argocd.sova.local — логин **admin**, пароль: ```bash kubectl -n argocd get secret argocd-initial-admin-secret \ -o jsonpath='{.data.password}' | base64 -d && echo ``` ![ArgoCD login](../screenshots/07-argocd-login.png) ## 2. Список Applications На главной — все приложения test-контура: | Application | Что деплоит | Есть URL? | |-------------|-------------|-----------| | `backend-test` | Symfony API | api.test.sova.local | | `adminpanel-test` | React admin | admin.test.sova.local | | `cabinet-test` | Symfony ЛК | cabinet.test.sova.local | | `docs-test` | VitePress docs | docs.sova.local | | `mocks-test` | WireMock, Mailpit | internal | | `data-test` | PostgreSQL, MySQL, Redis | нет (БД) | | `sova-root` | другие Application CR | нет (meta) | ![Applications list](../screenshots/08-argocd-applications.png) **Sync Status `Unknown`** часто нормален для local — смотрите **Health** и pod'ы в namespace. ## 3. Пользовательское приложение: `backend-test` Откройте карточку → дерево ресурсов: Deployment, Service, Ingress, CronJob, Secret. ![backend-test detail](../screenshots/09-argocd-backend-test.png) ### Sync вручную Кнопка **Sync** → **Synchronize** — подтянуть последний `main` из Gitea. ### Terminal в pod (миграции, отладка) 1. Deployment `backend` → Pod 2. Container **php-fpm** → иконка **Terminal** 3. Пример: `php bin/console cache:clear --env=prod` Exec включён в `platform/argocd/values-test.yaml` (`exec.enabled: true`). ### CronJob в UI Фильтр по label `app.kubernetes.io/component: console` — видны `backend-sync-doctors`, `backend-clear-schedule-cache` и т.д. ## 4. `sova-root` — app-of-apps **Не приложение с URL.** Только создаёт/обновляет другие Application из `argocd/apps/`. ![sova-root](../screenshots/10-argocd-sova-root.png) «Войти» сюда нельзя — открывайте дочерние apps (`backend-test`, `docs-test`, …). ## 5. `data-test` — слой данных PostgreSQL (backend + cabinet), MySQL Bitrix, Redis. **Без Ingress.** ![data-test](../screenshots/11-argocd-data-test.png) Подключение из pod'ов приложений: ``` postgresql-test.sova-data-test.svc.cluster.local:5432 mysql-bitrix-test.sova-data-test.svc.cluster.local:3306 redis-test-master.sova-data-test.svc.cluster.local:6379 ``` Инициализация schema/seed — Job `db-init` (отдельный чарт), не через браузер. ## 6. Типичный цикл после CI ```mermaid sequenceDiagram participant Dev as Разработчик participant Gitea as Gitea tag participant CI as Actions participant Deploy as sova-deploy participant Argo as ArgoCD participant K8s as Kubernetes Dev->>Gitea: release-test-tag.sh Gitea->>CI: push tag CI->>Deploy: bump values-test.yaml Argo->>Deploy: poll main Argo->>K8s: helm upgrade ``` 1. Push тега в Gitea 2. CI обновляет `apps/backend/values-test.yaml` 3. ArgoCD auto-sync (или Sync вручную) 4. Новый pod с образом из registry Дальше: [Grafana, Prometheus, Loki](./monitoring).