refactor(kargo): adopt canonical ring-based directory layout#462
Conversation
Extract shared resources (route-and-oauth, RBAC) into base/ (Tier 1). Each ring's deployment/ (Tier 2) now references ../../base and owns its helm generator and OCP patches. Root kustomization.yaml (Tier 3) adds cluster-specific oauth redirect patches. Move project-level RBAC into its own rbac/ subdirectory.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: flacatus The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Code Review by Qodo
Context used✅ Compliance rules (platform):
5 rules 1. Tier-2 OAuth redirect missing
|
PR Summary by Qodorefactor(kargo): adopt canonical ring-based directory layout WalkthroughsDescription• Extract shared Kargo Route/OAuth and RBAC into a reusable Tier-1 base. • Update ring deployments to consume the base and keep ring-specific generators/OCP patches local. • Move cluster-specific OAuth redirect URIs to ring root kustomizations and isolate project RBAC. Diagramgraph TD
Root["Ring root overlays (Tier 3)"] --> Deploy["Ring deployment overlays (Tier 2)"] --> Base["Shared base (Tier 1)"]
Base --> Route[("route-and-oauth.yaml")]
Base --> SharedRBAC[("shared RBAC")]
ProjBase["kargo-infra-common base"] --> ProjRBAC[("project RBAC")]
High-Level AssessmentThe following are alternative approaches to this PR: 1. Use Kustomize Components for shared Route/RBAC
2. Keep per-ring Route/RBAC (no shared base)
Recommendation: The chosen Tier-1 base + Tier-2 ring deployments + Tier-3 ring roots is the best fit for a canonical ring layout: it removes duplication while preserving ring ownership of generators and OCP-specific patches. The main thing to validate in review is that RBAC semantics and the OAuth redirect patch targets remain identical post-move. File ChangesRefactor (6)
Other (5)
|
|
/lgtm |
1096c39
into
redhat-appstudio:main
Extract shared resources (route-and-oauth, RBAC) into base/ (Tier 1). Each ring's deployment/ (Tier 2) now references ../../base and owns its helm generator and OCP patches. Root kustomization.yaml (Tier 3) adds cluster-specific oauth redirect patches.
Move project-level RBAC into its own rbac/ subdirectory.