Context
The ownCloud documentation is migrating from a 9-repo setup (1 orchestrator owncloud/docs, 7 owncloud/docs-* content repos, 1 owncloud/docs-ui) to this single Antora monorepo, where each product version is a folder (content/<product>/<version>/) instead of a git branch.
This issue tracks the migration into the owncloud org and retirement of the legacy multi-repo setup (Phases 2–5). Phase 0–1 (sync-manifest drift reconciliation) are handled separately in a code PR.
Decisions locked
- Target repo: fresh
owncloud/docs — rename/retire the old orchestrator first, then create a clean owncloud/docs for the monorepo.
- Drift handling: reconcile manifest mappings, keep the sync bridge running during a transition (do not freeze yet).
- Hosting: GitHub Pages under the
owncloud org.
- Retirement: archive legacy repos read-only (reversible, history preserved), sequenced after the transition.
Phase 2 — Create fresh owncloud/docs and move the monorepo
Phase 3 — Enable GitHub Pages under the org
Phase 4 — Transition period (sync bridge stays live)
Phase 5 — Freeze sync & retire legacy repos (read-only)
Open items to confirm with maintainers
- Exact new dev-version folder numbers for ocis
master, desktop master, ios master, android master.
- Whether ocis
8.1 (prerelease branch) or master (=next) is the authoritative dev line.
- Final production URL/domain for
site.url (org github.io path vs. custom doc.owncloud.com).
- Old-orchestrator rename target name.
- Phase 4→5 exit criterion (when authoring moves in-repo).
Prerequisite (done separately)
Phase 0–1: reconcile sync/manifest.yml version drift — 4 folders (ocis/8.0, desktop/7.1, ios/12.7, android/4.8) are currently fed from upstream master (=next) instead of their now-cut release branches; ocis 8.1 and the new dev lines are unmapped.
🤖 Generated with Claude Code
Context
The ownCloud documentation is migrating from a 9-repo setup (1 orchestrator
owncloud/docs, 7owncloud/docs-*content repos, 1owncloud/docs-ui) to this single Antora monorepo, where each product version is a folder (content/<product>/<version>/) instead of a git branch.This issue tracks the migration into the
owncloudorg and retirement of the legacy multi-repo setup (Phases 2–5). Phase 0–1 (sync-manifest drift reconciliation) are handled separately in a code PR.Decisions locked
owncloud/docs— rename/retire the old orchestrator first, then create a cleanowncloud/docsfor the monorepo.owncloudorg.Phase 2 — Create fresh
owncloud/docsand move the monorepoowncloud/docs→owncloud/docs-legacy(frees the canonical name, keeps history).owncloud/docsin the org.main.main(no direct pushes), Dependabot config incl.github-actionsecosystem (add if missing),upstream-syncPR label.site.ymlsite.urlfromhttps://deepdiver1975.github.io/owncloud-docs-monorepoto the org Pages URL — drives canonical links (Pagefind dedup) + asset resolution, must match publish location.ci.yml+sync-upstream.ymlunder the org; pin third-party actions to full commit SHAs (mikefarah/yq,peter-evans/create-pull-requestcurrently unpinned); confirm org Actions permissions for scheduled sync + Pages deploy.Phase 3 — Enable GitHub Pages under the org
CNAME+ DNS + TLS; orgithub.io: confirmsite.urlmatches.go.phpredirects./server/latest/publish behavior is intended (current stable publishes only underlatest).Phase 4 — Transition period (sync bridge stays live)
sync-upstream.ymlmirroring upstreamdocs-*→ folders; authoring continues upstream.content/directly) and the sync bridge is retired.Phase 5 — Freeze sync & retire legacy repos (read-only)
sync-upstream.yml; marksync/manifest.yml+sync/historical (dedicated PR).docs-ui): add deprecation notice →owncloud/docs, then archive read-only.owncloud/docs,owncloud/docs-main,owncloud/docs-server,owncloud/docs-ocis,owncloud/docs-webui,owncloud/docs-client-desktop,owncloud/docs-client-ios-app,owncloud/docs-client-android,owncloud/docs-uiOpen items to confirm with maintainers
master, desktopmaster, iosmaster, androidmaster.8.1(prerelease branch) ormaster(=next) is the authoritative dev line.site.url(orggithub.iopath vs. customdoc.owncloud.com).Prerequisite (done separately)
Phase 0–1: reconcile
sync/manifest.ymlversion drift — 4 folders (ocis/8.0,desktop/7.1,ios/12.7,android/4.8) are currently fed from upstreammaster(=next) instead of their now-cut release branches; ocis8.1and the new dev lines are unmapped.🤖 Generated with Claude Code