docs: add repository bootstrap templates

This commit is contained in:
a.tolmachev
2026-05-04 09:39:05 +00:00
parent a61064ba3a
commit c4ac6e85c0
12 changed files with 192 additions and 2 deletions
+2 -2
View File
@@ -45,9 +45,9 @@ Progress:
- separate `Community` release checklist now exists and explicitly forbids treating future `Enterprise/Cloud` delivery as just another env on the same public manifest
- explicit repository split map now defines what goes to `crank-community`, `crank-enterprise`, and `crank-cloud`
- `Community` is now fixed as `REST-only` in product docs, capability model, backend validation, demo seed, and UI protocol expectations
- bootstrap templates now exist for `crank-community`, `crank-enterprise`, and `crank-cloud`, including initial README and workflow skeletons
- pending:
- remaining extension seams and packaging split still need to move from planning into concrete `crank-community` / `crank-enterprise` / `crank-cloud` manifests
- next management gate is to actually create the `3` target repositories before physical split starts
- next management gate is to actually create the `3` target repositories and move these bootstrap templates into their roots before physical split starts
## Planned
+7
View File
@@ -202,6 +202,13 @@ Private code должен подключаться как реализация
- Community release path должен опираться на `deploy/community/*`;
- private `Enterprise` и `Cloud` manifests не должны проектироваться как вариации того же root compose-файла.
Подготовительные bootstrap artifacts для будущих репозиториев должны храниться отдельно от production manifests.
В текущем репозитории для этого используются:
- `templates/repositories/crank-community/*`
- `templates/repositories/crank-enterprise/*`
- `templates/repositories/crank-cloud/*`
## 10. Связанные документы
- `docs/product-editions.md`
+6
View File
@@ -144,6 +144,12 @@
- `crank-enterprise`
- `crank-cloud`
Bootstrap templates для этого шага уже должны быть подготовлены заранее в текущем репозитории:
- `templates/repositories/crank-community/*`
- `templates/repositories/crank-enterprise/*`
- `templates/repositories/crank-cloud/*`
### Результат
- `crank-community` становится public Community repository;
+6
View File
@@ -197,6 +197,12 @@ Private repository.
Пока эти четыре пункта не выполнены, physical split не начинается.
Техническая заготовка для этого шага уже живет в:
- `templates/repositories/crank-community/*`
- `templates/repositories/crank-enterprise/*`
- `templates/repositories/crank-cloud/*`
## 7. Практический вывод
Следующий управленческий шаг после завершения текущего boundary-трека:
+25
View File
@@ -0,0 +1,25 @@
# Repository Templates
Этот каталог содержит bootstrap-шаблоны для физического разделения текущего репозитория на:
- `crank-community`
- `crank-enterprise`
- `crank-cloud`
Назначение:
- не придумывать структуру новых репозиториев с нуля в момент split;
- заранее зафиксировать базовые README и workflow skeletons;
- сократить риск того, что `Community`, `Enterprise` и `Cloud` начнут жить по разным непредсказуемым правилам.
Правила использования:
1. Шаблоны не являются production source of truth для текущего репозитория.
2. Они применяются только в момент создания новых репозиториев.
3. После создания целевых репозиториев эти файлы должны быть перенесены в их корень и адаптированы под реальные owners, secrets и release paths.
Связанные документы:
- `docs/repository-split-map.md`
- `docs/commercial-boundaries.md`
- `docs/community-release-checklist.md`
@@ -0,0 +1,13 @@
name: Cloud Release
on:
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: TODO
run: |
echo "Add private cloud release pipeline after crank-cloud repository is created."
exit 1
@@ -0,0 +1,24 @@
# crank-cloud
Private hosted/control-plane repository for Crank.
## Scope
This repository is expected to contain:
- cloud control-plane code
- hosted orchestration
- metering and billing integrations
- hosted tenant management
- cloud operational tooling
- private cloud deployment and rollout workflows
It must remain separate from the public Community delivery path and from self-hosted Enterprise packaging.
## Initial bootstrap checklist
1. Create the repository as private.
2. Copy bootstrap files from this template.
3. Define hosted environment owners, release policy and secret model.
4. Add cloud-only workflows and manifests.
5. Move cloud-owned code only after Community and Enterprise boundaries are already fixed.
@@ -0,0 +1,20 @@
name: Community CI
on:
pull_request:
push:
branches:
- main
- "feat/**"
jobs:
rust:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: TODO
run: |
echo "Move Community CI logic here from the split monorepo."
exit 1
@@ -0,0 +1,13 @@
name: Community Deploy
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: TODO
run: |
echo "Move Community deploy workflow here after crank-community repository is created."
exit 1
@@ -0,0 +1,33 @@
# crank-community
Public Community repository for Crank.
## Scope
This repository is the open-source, self-hosted `Community` edition.
It is expected to contain:
- Community runtime and UI
- `admin-api`
- `mcp-server`
- public core crates
- Community-only deployment manifests
- public CI/CD
- public documentation and demo flow
It must not contain:
- private enterprise token services
- private enterprise governance code
- cloud control-plane code
- private release manifests
- private operational tooling
## Initial bootstrap checklist
1. Copy Community-owned code and docs from the monorepo according to `docs/repository-split-map.md`.
2. Move `deploy/community/*` into the root delivery path for this repository.
3. Move public workflows into `.github/workflows/`.
4. Enable public branch protection and required status checks.
5. Publish Community release and deployment documentation from this repository only.
@@ -0,0 +1,13 @@
name: Enterprise Release
on:
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: TODO
run: |
echo "Add private enterprise release pipeline after crank-enterprise repository is created."
exit 1
@@ -0,0 +1,30 @@
# crank-enterprise
Private self-hosted commercial repository for Crank.
## Scope
This repository is expected to contain:
- self-hosted commercial extensions
- short-lived and one-time machine token services
- enterprise access and governance features
- premium protocol/runtime additions that are not part of Community
- private self-hosted packaging
- private operator documentation
It must not become a copy-paste fork of the entire Community repository.
Expected model:
- pull Community-compatible contracts from `crank-community`
- keep private delta isolated
- avoid editing the same ownership area in two repositories without a clear seam
## Initial bootstrap checklist
1. Create the repository as private.
2. Copy bootstrap files from this template.
3. Define owners and access policy.
4. Create private release workflow and private registry path.
5. Move only enterprise-owned code after `crank-community` is established as the public base.