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
+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.