docs: add community release checklist
This commit is contained in:
@@ -41,6 +41,7 @@ Progress:
|
||||
- gate for creating `2` private repositories is already documented before any physical commercial split
|
||||
- canonical Community deployment manifest and env template now live under `deploy/community/*`, and public deploy uses that manifest instead of the root compose file
|
||||
- CI, README, runtime/deploy smoke docs now point to `deploy/community/*` as the Community delivery source of truth
|
||||
- separate `Community` release checklist now exists and explicitly forbids treating future `Enterprise/Cloud` delivery as just another env on the same public manifest
|
||||
- pending:
|
||||
- remaining extension seams and packaging split still need to move from planning into concrete public/private manifests
|
||||
|
||||
|
||||
@@ -201,6 +201,7 @@ Private code должен подключаться как реализация
|
||||
## 10. Связанные документы
|
||||
|
||||
- `docs/product-editions.md`
|
||||
- `docs/community-release-checklist.md`
|
||||
- `docs/agent-auth-model.md`
|
||||
- `docs/module-decomposition.md`
|
||||
- `docs/frontend-roadmap.md`
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
# Community release checklist
|
||||
|
||||
## 1. Назначение документа
|
||||
|
||||
Этот документ фиксирует канонический release path только для открытой редакции `Community`.
|
||||
|
||||
Он нужен, чтобы:
|
||||
|
||||
- не смешивать Community delivery с будущей коммерческой поставкой;
|
||||
- дать reproducible checklist для public release;
|
||||
- зафиксировать, какие артефакты считаются source of truth именно для открытой редакции.
|
||||
|
||||
## 2. Source of truth для Community release
|
||||
|
||||
Для открытой редакции каноническими считаются:
|
||||
|
||||
- `deploy/community/docker-compose.yml`
|
||||
- `deploy/community/.env.example`
|
||||
- `.github/workflows/ci.yml`
|
||||
- `.github/workflows/deploy.yml`
|
||||
- `docs/deployment.md`
|
||||
- `docs/deploy-and-staging-smoke.md`
|
||||
- `docs/authenticated-staging-pass.md`
|
||||
|
||||
Root-файлы:
|
||||
|
||||
- `docker-compose.yml`
|
||||
- `.env.example`
|
||||
|
||||
считаются только convenience-слоем для локальной разработки и не должны использоваться как
|
||||
основа будущей коммерческой упаковки.
|
||||
|
||||
## 3. Что обязательно входит в Community release
|
||||
|
||||
Community release должен поставлять:
|
||||
|
||||
- `ui`
|
||||
- `admin-api`
|
||||
- `mcp-server`
|
||||
- `postgres` как runtime dependency в compose-манифесте
|
||||
- healthchecks
|
||||
- базовый self-hosted deployment path
|
||||
- capability-gated UI, который не притворяется коммерческой редакцией
|
||||
|
||||
## 4. Чего не должно быть в Community release
|
||||
|
||||
В Community release нельзя включать:
|
||||
|
||||
- private container images;
|
||||
- private `Helm` charts;
|
||||
- hosted control-plane services;
|
||||
- enterprise-only auth/governance services;
|
||||
- private token issuer implementations;
|
||||
- manifests, которые пытаются быть общими одновременно для Community и коммерческой поставки.
|
||||
|
||||
## 5. Community release workflow
|
||||
|
||||
Перед выпуском нужно проверить:
|
||||
|
||||
1. `CI` зеленый.
|
||||
2. Community deployment manifest валиден:
|
||||
- `docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env.example config -q`
|
||||
3. Docker image build проходит для:
|
||||
- `admin-api`
|
||||
- `mcp-server`
|
||||
- `ui`
|
||||
4. Deploy workflow использует именно `deploy/community/docker-compose.yml`.
|
||||
5. Post-deploy smoke выполнен по:
|
||||
- `docs/deploy-and-staging-smoke.md`
|
||||
- `docs/authenticated-staging-pass.md`
|
||||
|
||||
## 6. Правило для будущих коммерческих редакций
|
||||
|
||||
`Enterprise` и `Cloud` не должны проектироваться как:
|
||||
|
||||
- другой `.env` поверх `deploy/community/docker-compose.yml`;
|
||||
- скрытые feature flags внутри Community release path;
|
||||
- дополнительные сервисы, “подмешанные” в те же public manifests без отдельной delivery границы.
|
||||
|
||||
Они должны иметь:
|
||||
|
||||
- отдельные private repositories;
|
||||
- отдельные manifests;
|
||||
- отдельные release pipelines;
|
||||
- отдельные operator docs.
|
||||
|
||||
До создания:
|
||||
|
||||
- `crank-enterprise`
|
||||
- `crank-cloud`
|
||||
|
||||
нельзя считать physical packaging split завершенным.
|
||||
|
||||
## 7. Минимальный operator checklist
|
||||
|
||||
Перед публикацией Community release нужно подтвердить:
|
||||
|
||||
- capability matrix совпадает с `docs/product-editions.md`;
|
||||
- UI не показывает рабочими premium-only сценарии;
|
||||
- `admin-api` и `mcp-server` enforce capability limits на сервере;
|
||||
- public deployment path воспроизводим на чистом хосте;
|
||||
- staging smoke записан в regression notes.
|
||||
|
||||
## 8. Связанные документы
|
||||
|
||||
- `docs/product-editions.md`
|
||||
- `docs/commercial-boundaries.md`
|
||||
- `docs/deployment.md`
|
||||
- `docs/deploy-and-staging-smoke.md`
|
||||
- `docs/authenticated-staging-pass.md`
|
||||
- `docs/implementation-plan.md`
|
||||
+14
-1
@@ -13,7 +13,10 @@
|
||||
|
||||
Документ не привязан к конкретному hypervisor, cloud provider, типу VM или домашней инфраструктуре.
|
||||
|
||||
Практический post-deploy smoke checklist вынесен отдельно в [deploy-and-staging-smoke.md](/home/a.tolmachev/code/rust/mcpaas/docs/deploy-and-staging-smoke.md).
|
||||
Практический post-deploy smoke checklist вынесен отдельно в [deploy-and-staging-smoke.md](/home/github-ops/crank/docs/deploy-and-staging-smoke.md).
|
||||
|
||||
Отдельный release checklist именно для открытой редакции вынесен в
|
||||
[community-release-checklist.md](/home/github-ops/crank/docs/community-release-checklist.md).
|
||||
|
||||
## 2. Базовая модель деплоя
|
||||
|
||||
@@ -261,6 +264,16 @@ Workflow доставляет именно `deploy/community/docker-compose.yml`
|
||||
- ротация одного секрета не требует переписывать весь набор env;
|
||||
- `.env` на сервере каждый deploy собирается заново из актуальных secrets.
|
||||
|
||||
## 11. Граница Community против future commercial delivery
|
||||
|
||||
Community delivery path должен оставаться отдельным и воспроизводимым сам по себе.
|
||||
|
||||
Это означает:
|
||||
|
||||
- `deploy/community/*` — public source of truth для открытой поставки;
|
||||
- future `Enterprise` и `Cloud` не должны появляться как еще один `.env` на том же compose-файле;
|
||||
- commercial manifests и pipelines должны жить отдельно после создания private repositories.
|
||||
|
||||
## 12. Что нельзя забыть
|
||||
|
||||
- TLS и renewal сертификатов;
|
||||
|
||||
@@ -195,6 +195,7 @@
|
||||
|
||||
- `docs/product-editions.md`
|
||||
- `docs/commercial-boundaries.md`
|
||||
- `docs/community-release-checklist.md`
|
||||
- `docs/frontend-roadmap.md`
|
||||
- `docs/refactoring-roadmap.md`
|
||||
- `docs/agent-auth-model.md`
|
||||
|
||||
@@ -187,6 +187,7 @@ Crank развивается как три редакции:
|
||||
- `docs/architecture.md`
|
||||
- `docs/module-decomposition.md`
|
||||
- `docs/agent-auth-model.md`
|
||||
- `docs/community-release-checklist.md`
|
||||
- `docs/frontend-roadmap.md`
|
||||
- `docs/refactoring-roadmap.md`
|
||||
- `docs/implementation-plan.md`
|
||||
|
||||
Reference in New Issue
Block a user