Repository navigation
fix(platform): retire the unused Backstage portal - #4639
Conversation
Validated source head
Runtime cleanup remains pending until this PR actually merges and its source revision has deployed. Existing protected orphans will be explicitly removed, database contents retained offline, the orphan-proof Job run successfully, and unrelated live services checked before closing #4266. No live mutation has been made for this change yet. |
@codex review for the retired portal removal, remaining shared authentication and monitoring, and the render regression guard |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
@codex review for the complete portal retirement including the CI executable-mode correction |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Ready at signed head Current-head CI passes, including manifest, rendered production authorization, chart post-rendering, disruption-budget, signature and required-aggregate checks. Code scanning, code quality, dependency review and workflow scanning also pass. The executable-mode failure at the earlier head was fixed and both executable guards pass. Codex review is clean at this head. Fresh full review-surface reads show zero unresolved threads, inline comments or body findings. GitHub reports CLEAN and MERGEABLE; the latest fetched base changes do not overlap the removal files. Exercised the desired configuration by rendering all four production roots and their embedded configuration; no retired portal wiring remains. Negative controls reject the deployed scaffold and residual shared authentication with a large render. Remaining SSO callbacks, dashboard groups and affected monitoring behavior pass their tests. The changed Dex HelmRelease also renders successfully in targeted production validation. Broader unchanged local OCI chart coverage is limited by the unavailable local credential helper; CI passed the required coverage. This PR changes desired GitOps configuration. Its actual production retirement remains a post-merge operation: confirm the deployed revision, retain the former database volumes offline, explicitly remove the protected runtime orphans, run the canonical orphan proof and verify unrelated services before closing #4266. |
@coderabbitai full review |
✅ Action performedFull review finished. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 36 minutes. View limit details
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📜 Recent review details
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to No actionable merge-blocking risk is identified; remaining production cleanup is an operational follow-up after deployment. 🚥 Pre-merge checks | ✅ 4 | ❌ 1
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Integrated reviewed main Both local and production schema validations pass. All four production roots contain no retired portal wiring. The affected monitoring, database network-policy and two-stage persistence guards pass, as does the affected credential-rollout drain case. The broader local credential-rollout suite exceeded its five-minute timeout and is not reported as passed. New-head hosted CI and substantive review remain required; this PR stays draft. Actual production retirement and retained-storage/orphan proof remain post-deployment work on #4266. No live deletion was performed. |
@coderabbitai full review |
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Ready for the normal protected merge queue at f6a6d8b against freshly fetched main bf3fe77. All 33 checks are settled (25 passed, 8 intentional skips), complete comment/review/thread reads show no remaining finding or human blocker, all review threads are resolved, and the forge reports CLEAN. Codex’s current-head review is green. All readable required gates pass; the separately reported code-quality analysis has no readable verdict and is not claimed as verified. As an operator, I rendered the actual local and production roots and exercised the retirement guard against all four production layers. The current-head manifest CI confirms those layers contain no retired portal or access wiring; its complete credential-helper suite passed with the configured 20-minute bound. Local and production workload validation and the targeted changed-case standard/race checks passed. This proves the declared retirement. Production reconciliation and final retained-resource cleanup remain post-merge checks; no live database or retained storage was deleted in this run. The preceding deployment’s restore-main job succeeded, and the fresh platform health check exited 0. Its separate drain failure remains tracked in #3388; that failed rollout is not being retried here. |
Removed from the merge queue at 05:37Z: the production deploy failed. Re-queue only after #4733 has mergedWhat failed. Merge-queue run 38113692499, job Root cause (found, tracked in #4732). This change removes the The route stayed, its access grant was already gone, and the gateway rejected it. Nothing is wrong with this pull request's own content: the policy should never judge a delete. Fix. #4733 limits the policy to create and update. Its test reproduces the refusal offline and passes after the change. State now. Prod is back on Next. Once #4733 is merged and deployed, re-queue this head. A re-queue before that fails the same way. |
No longer parked (2026-10-11 11:15Z). #4733 merged at 11:08Z and its production deploy passed. Read back on the live cluster: What is left before this can be queued again: the branch conflicts with |
# Conflicts: # scripts/validate-eks-ci-role-policy/approved-surface-history.md
The deletion-policy prerequisite #4733 is merged and deployed. Its live rule still checks create/update requests and permits the retirement to prune its resources. I integrated that reviewed main state into this PR without changing the retirement scope; the sole conflict was two independent authorization-history entries, both retained. Current head: Validation passed: both local and production manifest renders, the production authorization evaluator with the approved renderer, the four-layer retirement regression, Homepage policy regression, Coroot alert/application/risk/scrape regressions, all 218 database-network tests under the race detector, the changed PDB-blocked-drain regression under the race detector, ShellCheck, actionlint, and diff whitespace checks. The drain test preserves both the refusal diagnostic and restoration of only the owned cordon. The updated branch remains a draft for fresh current-head review and CI. Self-review found no additional correctness, security or simplification changes to make: shared access is removed only for the retired portal, remaining services and admission checks stay intact, and the new regression examines every independently reconciled production layer. Actual resource pruning and remaining-service health still require protected deployment readback after merge; local renders are not that proof. |
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Readiness rechecked at Codex's clean review names this head. Complete conversation, review-body, inline-comment and thread reads found no open findings or maintainer directions; the thread count is zero and no live worktree holder was found. All 33 current checks are settled; GitHub reports CLEAN and MERGEABLE. The repository's unreadable per-head code-quality verdict remains UNVERIFIED rather than being reported as green; the normal protected queue remains authoritative. Self-promoting and submitting this evaluated head to the normal merge queue. #4266 remains open: deployment must remove the obsolete route/access wiring while retaining the protected runtime resources, then a separately reviewed protected cleanup must retain the database backing volumes before retiring runtime ownership. Source merge is not completed live retirement and is not authority for manual storage deletion. |
Why
Backstage remains as an unused demo after the portfolio chose GitHub as its developer platform. Retiring it removes unnecessary maintenance and hosting overhead.
What
Retire the portal and its dedicated resources, remove obsolete access and monitoring entries, and document GitHub's catalog, templates, scorecard badges and self-service workflows. Complete the final live cleanup after merge, keeping the old database contents offline.
Part of #4266