Skip to content

feat(checkout): configure OFF/OPTIONAL policy per Repo UUID - #48

Merged
opendev9 merged 5 commits into
devfrom
fix/checkout-per-repo-20261025
Oct 25, 2026
Merged

opendev9 merged 5 commits into
devfrom
fix/checkout-per-repo-20261025

Conversation

@servicememeai

Copy link
Copy Markdown

Decision (2026-10-25)

Only OFF (default) / OPTIONAL per Repo UUID, no REQUIRED.

  • CF_CHECKOUT_REPOS (empty by default) configures only OPTIONAL libraries, gated by CF_ENABLE_CHECKOUT=true.
  • Bootstrap validates canonical UUIDs and renders identical selection to Hub CF_CHECKOUT_REPOS and native seafile.conf [cloudfile] checkout_repo_ids.
  • Compose passes the variable to app and worker, with .env example and rollout documentation.
  • No new table and no change to cf_library_storage.
  • Focused, isolated Python unit cases added (not run in a configured deployment).

Important: Before an existing global Checkout rollout is migrated, resolve or keep allowlisted all active Guards. Coordinate service restart. Related Server and Hub PRs must ship together. No PROD deployment here.

@opendev9

Copy link
Copy Markdown

2026-10-25 检查结论

按最新决策核查:OFF 默认、OPTIONAL 仅 UUID 白名单、无 REQUIRED;无新表、未改 cf_library_storage、无扩展名自动切换。配置链路一致:

  • CF_ENABLE_CHECKOUT=false + 空 CF_CHECKOUT_REPOS → 所有库 OFF;
  • Bootstrap 校验 canonical UUID/重复/长度并 fail-fast,同时生成 Hub CF_CHECKOUT_REPOS tuple 与 native [cloudfile] checkout_repo_ids;Go/C 解析器格式一致;
  • app 与 worker 都注入变量;文档含迁移/排空 Guard 纪律。

test_checkout_repo_config.py 4 项通过,CI static PASS。未发现需修改代码的问题;合并前置为与 Server #41 / Hub haiwen#87 联动重启及真实 DEV 验收。

@opendev9
opendev9 marked this pull request as ready for review October 25, 2026 04:19
@opendev9
opendev9 merged commit d3752ab into dev Oct 25, 2026
1 check passed
@opendev9
opendev9 deleted the fix/checkout-per-repo-20261025 branch October 25, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants