diff --git a/Home.md b/Home.md index e69de29..4cfa5ba 100644 --- a/Home.md +++ b/Home.md @@ -0,0 +1,80 @@ +## Що це + +Каталог CMS-плагінів, побудований на Emdash (Astro 6 + TypeScript + SQLite). Початкові дані — матриця сумісності плагінів WordPress → Emdash з проєкту `kotkanagrilli.fi`. Нові записи додаються через адмін-панель Emdash (`/_emdash/admin`). + +## Репозиторії + +| Репозиторій | Опис | +|---|---| +| `oleks/cms-plugins` (git.oleks.space) | Цей репозиторій: вихідний код, Dockerfile, Helm-чарт, пайплайн Woodpecker | +| `oleks/emdash-kotkanagrilli` | Референсний Emdash-деплой, структуру якого копіює цей репозиторій | +| `oleks/kotkanagrilli.fi` | Оригінальний WordPress-сайт, звідки взяті початкові дані плагінів | +| `anton/helm-workloads` | FluxCD HelmRelease-и для обох середовищ | + +## Середовища + +| Гілка | Середовище | Кластер | URL | +|---|---|---|---| +| `develop` | Локальний DDEV | Хост розробника | `https://cms-plugins.ddev.site/` | +| `staging` | Staging k3s | Вузол `kotkan` | `https://cms-plugins-staging.kotkanagrilli.fi/` | +| `production` | Production k3s | Вузол `kotkan` | `https://cms-plugins-production.kotkanagrilli.fi/` | + +## CI/CD + +Woodpecker (`ci.oleks.space`), репо `oleks/cms-plugins`, пайплайн `.woodpecker/container.yaml`. + +Кожен push до `staging` або `production` збирає Docker-образ (arm64) і публікує три теги до реєстру `git.oleks.space/oleks/cms-plugins`: + +- `0.1.<номер>` — незмінний тег версії +- `<гілка>` — плаваючий тег гілки +- `<гілка>-latest` — плаваючий тег latest для гілки + +## Кластер + +Усі ресурси (HelmRelease, GitRepository, ImagePolicy, Secret, поди) розміщені в namespace `kotkan` на кластері armer/kotkan. + +Flux-маніфести знаходяться в `anton/helm-workloads` у директоріях: +- `cms-plugins-staging/` +- `cms-plugins-production/` + +## Секрети + +Зашифровані через sops (age) у `anton/helm-workloads`. + +Кожне середовище має: +- `cms-plugins-deploy-key` — SSH-ключ для Flux +- `cms-plugins--secrets` — містить `EMDASH_ENCRYPTION_KEY` + +## Локальна розробка + +Запуск з DDEV: + +```bash +cd ~/projects/cms-plugins +ddev start +# → https://cms-plugins.ddev.site/ +``` + +Або без DDEV: + +```bash +cd app && npm install && npm run bootstrap && npx emdash dev +``` + +## Просування між гілками + +Fast-forward only: + +```bash +# develop → staging +git switch staging && git merge --ff-only develop && git push origin staging + +# staging → production +git switch production && git merge --ff-only staging && git push origin production +``` + +## Детальніша документація + +Див. також: +- `DEPLOYMENT.md` — повне описання пайплайну +- `ARCHITECTURE.md` — контракти чарту, образу, Flux