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

4.5 KiB
Raw Blame History

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