Files
crank/docs/community-release-checklist.md
T
2026-05-03 21:36:14 +00:00

118 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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-манифесте
- optional `valkey` profile как рекомендованный, но не обязательный cache layer
- 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`
- `docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env.example --profile cache 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 границы.
Они должны иметь:
- отдельный public repository `crank-community`;
- отдельные private repositories;
- отдельные manifests;
- отдельные release pipelines;
- отдельные operator docs.
До создания:
- `crank-community`
- `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 воспроизводим на чистом хосте;
- базовый запуск и запуск с profile `cache` оба валидны;
- staging smoke записан в regression notes.
## 8. Связанные документы
- `docs/product-editions.md`
- `docs/commercial-boundaries.md`
- `docs/repository-split-map.md`
- `docs/deployment.md`
- `docs/deploy-and-staging-smoke.md`
- `docs/authenticated-staging-pass.md`
- `docs/implementation-plan.md`