Rename pal-e-docs repo to pal-e-api #217

Closed
opened 2026-03-27 04:53:46 +00:00 by forgejo_admin · 3 comments

Type

Feature

Lineage

Standalone — addresses long-standing naming confusion. See phase-pal-e-docs-repo-renames (deferred) and feedback_naming_convention.md.

Repo

forgejo_admin/pal-e-docsforgejo_admin/pal-e-api

User Story

As the platform
I want the backend API repo named pal-e-api instead of pal-e-docs
So that the repo name matches its role (FastAPI backend) and doesn't collide with the project name

Context

pal-e-docs is used for the project, the repo, the API, the MCP server, and the SDK — causing constant confusion. The naming convention established that pal-e-docs = project name only. The repo should be pal-e-api since it's the FastAPI backend.

Forgejo handles URL redirects after rename, so existing links won't break immediately. The MCP server key stays pal-e-docs (it's the project name, not the repo name) — this means zero changes to hook tool matchers.

File Targets

Forgejo API rename:

  • PATCH /api/v1/repos/forgejo_admin/pal-e-docs with {"name": "pal-e-api"}

ArgoCD application update:

  • kubectl patch application -n argocd pal-e-docs --type merge -p '{"spec":{"source":{"repoURL":"https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-api.git"}}}'

Files to verify/update in the renamed repo:

  • CLAUDE.md — update repo name references
  • .woodpecker.yaml — verify image paths still work (Harbor project name may differ from repo name)
  • README.md — update repo name if referenced

Files the agent should NOT touch:

  • Any MCP tool prefix (mcp__pal-e-docs__* stays — it's the project name)
  • settings.json MCP server key (pal-e-docs stays)
  • Hook tool matchers
  • k8s namespace pal-e-docs (separate blast radius, may defer)

Acceptance Criteria

  • Forgejo repo accessible at forgejo_admin/pal-e-api
  • Old URL forgejo_admin/pal-e-docs redirects
  • ArgoCD application source updated and syncs with new repo URL
  • CI pipeline triggers on push to renamed repo
  • API still accessible at existing endpoints

Test Expectations

  • curl https://forgejo.tail5b443a.ts.net/api/v1/repos/forgejo_admin/pal-e-api returns 200
  • kubectl get application -n argocd pal-e-docs -o jsonpath='{.status.sync.status}' returns Synced
  • Run command: curl -s https://pal-e-docs-api.tail5b443a.ts.net/health

Constraints

  • Do NOT rename k8s namespace (pal-e-docs) in this ticket — separate blast radius
  • Do NOT change MCP server key — pal-e-docs is the project name
  • Forgejo redirects old URLs — downstream breakage is temporary
  • Use PATCH method for Forgejo API rename (not POST)

Checklist

  • Repo renamed on Forgejo
  • ArgoCD patched
  • CI verified
  • No unrelated changes
  • phase-pal-e-docs-repo-renames — deferred phase this replaces
  • project-pal-e-docs — project page needs updating after
  • forgejo_admin/pal-e-docs-sdk#38 — downstream rename
  • forgejo_admin/pal-e-docs-mcp#50 — downstream rename
### Type Feature ### Lineage Standalone — addresses long-standing naming confusion. See `phase-pal-e-docs-repo-renames` (deferred) and `feedback_naming_convention.md`. ### Repo `forgejo_admin/pal-e-docs` → `forgejo_admin/pal-e-api` ### User Story As the platform I want the backend API repo named pal-e-api instead of pal-e-docs So that the repo name matches its role (FastAPI backend) and doesn't collide with the project name ### Context pal-e-docs is used for the project, the repo, the API, the MCP server, and the SDK — causing constant confusion. The naming convention established that pal-e-docs = project name only. The repo should be pal-e-api since it's the FastAPI backend. Forgejo handles URL redirects after rename, so existing links won't break immediately. The MCP server key stays `pal-e-docs` (it's the project name, not the repo name) — this means zero changes to hook tool matchers. ### File Targets Forgejo API rename: - `PATCH /api/v1/repos/forgejo_admin/pal-e-docs` with `{"name": "pal-e-api"}` ArgoCD application update: - `kubectl patch application -n argocd pal-e-docs --type merge -p '{"spec":{"source":{"repoURL":"https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-api.git"}}}'` Files to verify/update in the renamed repo: - `CLAUDE.md` — update repo name references - `.woodpecker.yaml` — verify image paths still work (Harbor project name may differ from repo name) - `README.md` — update repo name if referenced Files the agent should NOT touch: - Any MCP tool prefix (`mcp__pal-e-docs__*` stays — it's the project name) - `settings.json` MCP server key (`pal-e-docs` stays) - Hook tool matchers - k8s namespace `pal-e-docs` (separate blast radius, may defer) ### Acceptance Criteria - [ ] Forgejo repo accessible at `forgejo_admin/pal-e-api` - [ ] Old URL `forgejo_admin/pal-e-docs` redirects - [ ] ArgoCD application source updated and syncs with new repo URL - [ ] CI pipeline triggers on push to renamed repo - [ ] API still accessible at existing endpoints ### Test Expectations - [ ] `curl https://forgejo.tail5b443a.ts.net/api/v1/repos/forgejo_admin/pal-e-api` returns 200 - [ ] `kubectl get application -n argocd pal-e-docs -o jsonpath='{.status.sync.status}'` returns Synced - Run command: `curl -s https://pal-e-docs-api.tail5b443a.ts.net/health` ### Constraints - Do NOT rename k8s namespace (pal-e-docs) in this ticket — separate blast radius - Do NOT change MCP server key — `pal-e-docs` is the project name - Forgejo redirects old URLs — downstream breakage is temporary - Use PATCH method for Forgejo API rename (not POST) ### Checklist - [ ] Repo renamed on Forgejo - [ ] ArgoCD patched - [ ] CI verified - [ ] No unrelated changes ### Related - `phase-pal-e-docs-repo-renames` — deferred phase this replaces - `project-pal-e-docs` — project page needs updating after - `forgejo_admin/pal-e-docs-sdk#38` — downstream rename - `forgejo_admin/pal-e-docs-mcp#50` — downstream rename
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-439-2026-03-26
Well-structured ticket with complete template sections and full traceability triangle, but three issues found in file targets.

  • Wrong API method: POST should be PATCH /api/v1/repos/forgejo_admin/pal-e-docs
  • Wrong file extension: .woodpecker.yml does not exist -- actual file is .woodpecker.yaml
  • ArgoCD update mechanism unspecified: Issue says "ArgoCD updated" but doesn't specify how (kubectl patch? deployments PR?). Current ArgoCD app has repoURL: https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-docs.git that needs updating.

Optional: add Woodpecker webhook verification criterion, document dependency ordering with #442.

## Scope Review: NEEDS_REFINEMENT Review note: `review-439-2026-03-26` Well-structured ticket with complete template sections and full traceability triangle, but three issues found in file targets. - **Wrong API method**: `POST` should be `PATCH /api/v1/repos/forgejo_admin/pal-e-docs` - **Wrong file extension**: `.woodpecker.yml` does not exist -- actual file is `.woodpecker.yaml` - **ArgoCD update mechanism unspecified**: Issue says "ArgoCD updated" but doesn't specify how (kubectl patch? deployments PR?). Current ArgoCD app has `repoURL: https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-docs.git` that needs updating. Optional: add Woodpecker webhook verification criterion, document dependency ordering with #442.
Author
Owner

Scope Review: READY

Review note: review-439-2026-03-26 (updated)

Re-review after refinement. All 3 previous issues resolved:

  • PATCH method — now correctly specified (was POST)
  • .woodpecker.yaml — correct extension (was .yml)
  • ArgoCD mechanism — kubectl patch command now included with exact field path

File targets verified against live cluster: ArgoCD sources from repo's own k8s/ directory (not pal-e-deployments overlay), .woodpecker.yaml Harbor/namespace references correctly scoped as verify-only. Blast radius contained — no changes needed in pal-e-deployments, Harbor, or downstream repos for this ticket.

Ready for todo → next_up.

## Scope Review: READY Review note: `review-439-2026-03-26` (updated) Re-review after refinement. All 3 previous issues resolved: - **PATCH method** — now correctly specified (was POST) - **`.woodpecker.yaml`** — correct extension (was .yml) - **ArgoCD mechanism** — kubectl patch command now included with exact field path File targets verified against live cluster: ArgoCD sources from repo's own `k8s/` directory (not pal-e-deployments overlay), `.woodpecker.yaml` Harbor/namespace references correctly scoped as verify-only. Blast radius contained — no changes needed in pal-e-deployments, Harbor, or downstream repos for this ticket. Ready for `todo → next_up`.
Author
Owner

Repo Rename Complete

All steps executed successfully.

What was done

  1. Forgejo repo renamed via PATCH /api/v1/repos/forgejo_admin/pal-e-docs with {"name": "pal-e-api"}
  2. ArgoCD patched to use new repo URL https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-api.git
  3. Local git remote updated to point to new URL (preserving credentials)
  4. CLAUDE.md heading updated from pal-e-docs to pal-e-api with rename note
  5. README.md heading updated and deployment config forgejo_repo reference corrected
  6. Branch pushed: 217-rename-repo-to-pal-e-api with doc updates (commit c816600)

Verification results

Check Result
GET /api/v1/repos/forgejo_admin/pal-e-api 200
GET /api/v1/repos/forgejo_admin/pal-e-docs (old URL) 301 (redirect)
ArgoCD spec.source.repoURL https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-api.git
ArgoCD sync status Synced
ArgoCD health status Healthy
GET /healthz on live API {"status":"ok"}
Woodpecker repo association Pipelines list returns successfully
Forgejo webhook to Woodpecker Active

Discovered scope

  • pal-e-services/terraform/k3s.tfvars still references forgejo_repo = "forgejo_admin/pal-e-docs" -- Forgejo 301 redirect covers this for now, but should be updated in a separate ticket
  • Woodpecker CI pipelines are all failing (pre-existing, unrelated to rename) -- the clone step references ${CI_REPO} which Woodpecker populates dynamically, so the rename does not affect it

Not touched (per constraints)

  • k8s namespace pal-e-docs -- separate blast radius
  • MCP server key pal-e-docs -- project name, not repo name
  • Hook tool matchers -- unchanged
  • Harbor image path pal-e-docs/api -- Harbor project name, not repo name
## Repo Rename Complete All steps executed successfully. ### What was done 1. **Forgejo repo renamed** via `PATCH /api/v1/repos/forgejo_admin/pal-e-docs` with `{"name": "pal-e-api"}` 2. **ArgoCD patched** to use new repo URL `https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-api.git` 3. **Local git remote updated** to point to new URL (preserving credentials) 4. **CLAUDE.md** heading updated from `pal-e-docs` to `pal-e-api` with rename note 5. **README.md** heading updated and deployment config `forgejo_repo` reference corrected 6. **Branch pushed**: `217-rename-repo-to-pal-e-api` with doc updates (commit c816600) ### Verification results | Check | Result | |-------|--------| | `GET /api/v1/repos/forgejo_admin/pal-e-api` | **200** | | `GET /api/v1/repos/forgejo_admin/pal-e-docs` (old URL) | **301** (redirect) | | ArgoCD `spec.source.repoURL` | `https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-api.git` | | ArgoCD sync status | **Synced** | | ArgoCD health status | **Healthy** | | `GET /healthz` on live API | `{"status":"ok"}` | | Woodpecker repo association | Pipelines list returns successfully | | Forgejo webhook to Woodpecker | Active | ### Discovered scope - `pal-e-services/terraform/k3s.tfvars` still references `forgejo_repo = "forgejo_admin/pal-e-docs"` -- Forgejo 301 redirect covers this for now, but should be updated in a separate ticket - Woodpecker CI pipelines are all failing (pre-existing, unrelated to rename) -- the clone step references `${CI_REPO}` which Woodpecker populates dynamically, so the rename does not affect it ### Not touched (per constraints) - k8s namespace `pal-e-docs` -- separate blast radius - MCP server key `pal-e-docs` -- project name, not repo name - Hook tool matchers -- unchanged - Harbor image path `pal-e-docs/api` -- Harbor project name, not repo name
forgejo_admin 2026-03-27 05:34:12 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-api#217
No description provided.