mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-10-27 15:17:18 +09:00
The split point was clean: git_service.py L602-881 (Gitea install/ lifecycle/config) and 18 of git_bp's 32 routes (lifecycle + repo browsing via GiteaAPIService) move into builtin-extensions/serverkit-git/backend/, mounted back at the same /api/v1/git prefix when the extension is installed. GiteaAPIService moves wholesale (its only consumer). The deploy pipeline stays core untouched: clone/pull/deploy/webhook-verify on GitService (all 5 core importers keep every method they call), the webhook routes including the unauthenticated signature-verified receiver, and the deployment routes. NginxService's gitea-config helpers stay core as a deliberate two-speed seam the extension calls. Upgrade parity: serverkit-git joins GATED_BUILTIN_SLUGS (auto-install only when the panel-managed serverkit-gitea application exists) and run_backend_acquisition now sweeps gated slugs too, so a panel that installed the frontend-only extension picks the backend up once. The core repo pickers keep three fail-soft getGitea* aliases that 404 into a clean 'not installed' state. Proving suite test_git_split.py (7 tests); live smoke: builtin install mounts all 18 routes. Render smoke green for the Git + Security pages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
288 KiB
2880x1800px
288 KiB
2880x1800px