Що це
Каталог CMS-плагінів, побудований на Emdash (Astro 6 + TypeScript +
SQLite). Початкові дані — матриця сумісності плагінів WordPress → Emdash
з проєкту kotkanagrilli.fi. Нові записи додаються через адмін-панель
Emdash (/_emdash/admin).
Репозиторії
oleks/cms-plugins(git.oleks.space) — Цей репозиторій: вихідний код, Dockerfile, Helm-чарт, пайплайн Woodpeckeroleks/emdash-kotkanagrilli— Референсний Emdash-деплой, структуру якого копіює цей репозиторійoleks/kotkanagrilli.fi— Оригінальний WordPress-сайт, звідки взяті початкові дані плагінівanton/helm-workloads— FluxCD HelmRelease-и для обох середовищ
Середовища
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-ключ для Fluxcms-plugins-<env>-secrets— міститьEMDASH_ENCRYPTION_KEY
Локальна розробка
Запуск з DDEV:
cd ~/projects/cms-plugins
ddev start
# → https://cms-plugins.ddev.site/
Або без DDEV:
cd app && npm install && npm run bootstrap && npx emdash dev
Просування між гілками
Fast-forward only:
# 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
Посилання
Сайти
| Середовище | URL |
|---|---|
| cms-plugins staging | https://cms-plugins-staging.kotkanagrilli.fi/ |
| cms-plugins production | https://cms-plugins-production.kotkanagrilli.fi/ |
| emdash staging | https://emdash-staging.kotkanagrilli.fi/ |
| emdash production | https://emdash-production.kotkanagrilli.fi/ |
Інфраструктура
| Ресурс | URL |
|---|---|
| Gitea репозиторій | https://git.oleks.space/oleks/cms-plugins |
| Gitea реєстр | https://git.oleks.space/oleks/cms-plugins/packages |
| Вікі | https://git.oleks.space/oleks/cms-plugins/wiki/Home |
| Woodpecker CI | https://ci.oleks.space/oleks/cms-plugins |