docs: add private repo split gate
This commit is contained in:
@@ -185,11 +185,16 @@ Implementation slices:
|
|||||||
2. Подготовить отдельные delivery manifests для Community.
|
2. Подготовить отдельные delivery manifests для Community.
|
||||||
3. Убрать из public repo assumptions о размещении private code рядом с Community logic.
|
3. Убрать из public repo assumptions о размещении private code рядом с Community logic.
|
||||||
4. Подготовить naming и packaging strategy для private repositories.
|
4. Подготовить naming и packaging strategy для private repositories.
|
||||||
|
5. После завершения seams и capability split остановиться на управленческом gate и создать:
|
||||||
|
- private repository `crank-enterprise`
|
||||||
|
- private repository `crank-cloud`
|
||||||
|
Только после этого начинать физическое вынесение commercial code из public repo.
|
||||||
|
|
||||||
DoD:
|
DoD:
|
||||||
- можно объяснить, что именно публикуется как OSS, а что уходит в private delivery;
|
- можно объяснить, что именно публикуется как OSS, а что уходит в private delivery;
|
||||||
- Community release path отделен от commercial release path;
|
- Community release path отделен от commercial release path;
|
||||||
- документация не ссылается на удаленные review files.
|
- документация не ссылается на удаленные review files.
|
||||||
|
- момент создания `2` private repositories зафиксирован в плане как отдельный обязательный шаг, а не подразумевается неявно.
|
||||||
|
|
||||||
Verification:
|
Verification:
|
||||||
- docs consistency pass;
|
- docs consistency pass;
|
||||||
|
|||||||
@@ -71,6 +71,12 @@
|
|||||||
- `crank-enterprise` — private self-hosted extensions;
|
- `crank-enterprise` — private self-hosted extensions;
|
||||||
- `crank-cloud` — private cloud control plane и hosted-only logic.
|
- `crank-cloud` — private cloud control plane и hosted-only logic.
|
||||||
|
|
||||||
|
Важно:
|
||||||
|
|
||||||
|
- создание `crank-enterprise` и `crank-cloud` должно быть отдельным осознанным шагом;
|
||||||
|
- до этого момента в public repo нужно завершить capability model, extension seams и public contracts;
|
||||||
|
- физическое вынесение private code нельзя начинать раньше, чем эти два private repositories созданы и для них определены delivery boundaries.
|
||||||
|
|
||||||
## 6. Техническая стратегия разделения
|
## 6. Техническая стратегия разделения
|
||||||
|
|
||||||
### 6.1. Capability-first design
|
### 6.1. Capability-first design
|
||||||
|
|||||||
@@ -119,7 +119,36 @@
|
|||||||
- есть `audit log`;
|
- есть `audit log`;
|
||||||
- существует private delivery path для self-hosted customers.
|
- существует private delivery path для self-hosted customers.
|
||||||
|
|
||||||
## 10. Этап 8. Cloud control plane
|
## 10. Управленческий рубеж: физическое разделение репозиториев
|
||||||
|
|
||||||
|
### Цель
|
||||||
|
|
||||||
|
Не начинать вынос private functionality хаотично, пока не завершены public seams и capability split.
|
||||||
|
|
||||||
|
### Условие входа
|
||||||
|
|
||||||
|
К этому рубежу можно переходить только после того, как завершены:
|
||||||
|
|
||||||
|
- open-core product boundary;
|
||||||
|
- edition capability model;
|
||||||
|
- private auth-service seam;
|
||||||
|
- documentation sync по Community / Enterprise / Cloud.
|
||||||
|
|
||||||
|
### Действие
|
||||||
|
|
||||||
|
На этом этапе нужно создать `2` новых private repositories:
|
||||||
|
|
||||||
|
- `crank-enterprise`
|
||||||
|
- `crank-cloud`
|
||||||
|
|
||||||
|
### Результат
|
||||||
|
|
||||||
|
- `crank` остается public Community repository;
|
||||||
|
- `crank-enterprise` становится private self-hosted commercial repository;
|
||||||
|
- `crank-cloud` становится private hosted/control-plane repository;
|
||||||
|
- только после этого начинается физическое вынесение коммерческого кода из public repo.
|
||||||
|
|
||||||
|
## 11. Этап 8. Cloud control plane
|
||||||
|
|
||||||
### Цель
|
### Цель
|
||||||
|
|
||||||
@@ -133,7 +162,7 @@
|
|||||||
- есть cloud deployment and support tooling;
|
- есть cloud deployment and support tooling;
|
||||||
- capability model синхронизирована с hosted plans.
|
- capability model синхронизирована с hosted plans.
|
||||||
|
|
||||||
## 11. Этап 9. Release and distribution hardening
|
## 12. Этап 9. Release and distribution hardening
|
||||||
|
|
||||||
### Цель
|
### Цель
|
||||||
|
|
||||||
@@ -147,7 +176,7 @@
|
|||||||
- build provenance и подпись артефактов документированы;
|
- build provenance и подпись артефактов документированы;
|
||||||
- коммерческий код не требуется публиковать в public repository.
|
- коммерческий код не требуется публиковать в public repository.
|
||||||
|
|
||||||
## 12. Этап 10. Live staging and demo readiness
|
## 13. Этап 10. Live staging and demo readiness
|
||||||
|
|
||||||
### Цель
|
### Цель
|
||||||
|
|
||||||
@@ -160,7 +189,7 @@
|
|||||||
- demo user flow подтвержден на реальном окружении;
|
- demo user flow подтвержден на реальном окружении;
|
||||||
- регрессии в publish/call/auth flow ловятся до релиза.
|
- регрессии в publish/call/auth flow ловятся до релиза.
|
||||||
|
|
||||||
## 13. Связанные документы
|
## 14. Связанные документы
|
||||||
|
|
||||||
- `docs/product-editions.md`
|
- `docs/product-editions.md`
|
||||||
- `docs/commercial-boundaries.md`
|
- `docs/commercial-boundaries.md`
|
||||||
|
|||||||
Reference in New Issue
Block a user