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
|
- 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`
|
- 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
|
- `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:
|
- 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 and move these bootstrap templates into their roots before physical split starts
|
||||||
- next management gate is to actually create the `3` target repositories before physical split starts
|
|
||||||
|
|
||||||
## Planned
|
## Planned
|
||||||
|
|
||||||
|
|||||||
@@ -202,6 +202,13 @@ Private code должен подключаться как реализация
|
|||||||
- Community release path должен опираться на `deploy/community/*`;
|
- Community release path должен опираться на `deploy/community/*`;
|
||||||
- private `Enterprise` и `Cloud` manifests не должны проектироваться как вариации того же root compose-файла.
|
- private `Enterprise` и `Cloud` manifests не должны проектироваться как вариации того же root compose-файла.
|
||||||
|
|
||||||
|
Подготовительные bootstrap artifacts для будущих репозиториев должны храниться отдельно от production manifests.
|
||||||
|
В текущем репозитории для этого используются:
|
||||||
|
|
||||||
|
- `templates/repositories/crank-community/*`
|
||||||
|
- `templates/repositories/crank-enterprise/*`
|
||||||
|
- `templates/repositories/crank-cloud/*`
|
||||||
|
|
||||||
## 10. Связанные документы
|
## 10. Связанные документы
|
||||||
|
|
||||||
- `docs/product-editions.md`
|
- `docs/product-editions.md`
|
||||||
|
|||||||
@@ -144,6 +144,12 @@
|
|||||||
- `crank-enterprise`
|
- `crank-enterprise`
|
||||||
- `crank-cloud`
|
- `crank-cloud`
|
||||||
|
|
||||||
|
Bootstrap templates для этого шага уже должны быть подготовлены заранее в текущем репозитории:
|
||||||
|
|
||||||
|
- `templates/repositories/crank-community/*`
|
||||||
|
- `templates/repositories/crank-enterprise/*`
|
||||||
|
- `templates/repositories/crank-cloud/*`
|
||||||
|
|
||||||
### Результат
|
### Результат
|
||||||
|
|
||||||
- `crank-community` становится public Community repository;
|
- `crank-community` становится public Community repository;
|
||||||
|
|||||||
@@ -197,6 +197,12 @@ Private repository.
|
|||||||
|
|
||||||
Пока эти четыре пункта не выполнены, physical split не начинается.
|
Пока эти четыре пункта не выполнены, physical split не начинается.
|
||||||
|
|
||||||
|
Техническая заготовка для этого шага уже живет в:
|
||||||
|
|
||||||
|
- `templates/repositories/crank-community/*`
|
||||||
|
- `templates/repositories/crank-enterprise/*`
|
||||||
|
- `templates/repositories/crank-cloud/*`
|
||||||
|
|
||||||
## 7. Практический вывод
|
## 7. Практический вывод
|
||||||
|
|
||||||
Следующий управленческий шаг после завершения текущего boundary-трека:
|
Следующий управленческий шаг после завершения текущего 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