# CI/CD, репозитории, Loki — паритет с `k3s-test` Каталог **`k8s/`**. У каждого приложения свой `.git` в `sova-backend/` и т.д. (не корень монорепо). ## Репозитории в Gitea | Gitea repo | Локальная папка | |------------|-----------------| | `backend` | `k8s/sova-backend/` | | `adminpanel` | `k8s/sova-adminpanel/` | | `cabinet` | `k8s/sova-cabinet/` | | `docs` | `k8s/sova-docs/` | | `sova-deploy` | `k8s/sova-deploy/` | | `sova-mocks` | `k8s/sova-mocks/` | Синхронизация из монорепо: `k8s/scripts/sync-from-monorepo.sh` ## CI/CD через теги Формат: `{компонент}-v{semver}-{test|stage|prod}` (например `backend-v1.0.4-test`). ```bash cd k8s VM_NAME=vm-k8s-git ./scripts/bootstrap-gitea-ci-secrets.sh VM_NAME=vm-k8s-git ./scripts/bootstrap-gitea-runner.sh VM_NAME=vm-k8s-app-test REGISTRY_GIT_IP=192.168.252.4 SKIP_K3S_RESTART=1 ./scripts/configure-k3s-registry.sh ./scripts/release-tag.sh backend backend-v1.0.4-test ``` `deploy-gitops` пушит в ветку **`test`/`stage`/`prod`** в `sova-deploy` (не `main`). ## Loki 1. Loki на **Mgmt** (`vm-k8s-mgmt`), namespace `monitoring`. 2. **Promtail** на App TEST — app `promtail-test`. 3. **Grafana** → **Explore** → **Loki** (`{namespace="sova-test"}`). Если Grafana не стартует (два default datasource) — см. `k8s/scripts/deploy-platform-mgmt.sh` (удаление `loki-loki-stack` CM). ## Донастройка ```bash ./scripts/apply-k3s-test-parity.sh ./scripts/fix-and-verify.sh ```