Update Home page with project documentation
+80
@@ -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-<env>-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
|
||||
|
||||
Reference in New Issue
Block a user