docs: add repository bootstrap templates
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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`
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -197,6 +197,12 @@ Private repository.
|
||||
|
||||
Пока эти четыре пункта не выполнены, physical split не начинается.
|
||||
|
||||
Техническая заготовка для этого шага уже живет в:
|
||||
|
||||
- `templates/repositories/crank-community/*`
|
||||
- `templates/repositories/crank-enterprise/*`
|
||||
- `templates/repositories/crank-cloud/*`
|
||||
|
||||
## 7. Практический вывод
|
||||
|
||||
Следующий управленческий шаг после завершения текущего boundary-трека:
|
||||
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user