Skip to content

ROSAENG-63138: Add regional control plane architecture design doc - #730

Open
typeid wants to merge 1 commit into
openshift-online:mainfrom
typeid:control-plane-architecture
Open

ROSAENG-63138: Add regional control plane architecture design doc#730
typeid wants to merge 1 commit into
openshift-online:mainfrom
typeid:control-plane-architecture

Conversation

@typeid

@typeid typeid commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds docs/design/regional-control-plane-architecture.md documenting the hyperfleet-operator + hyperfleet-db architecture
  • Controller-runtime reconciliation backed by PostgreSQL instead of etcd
  • Lists CLM and etcd-backed operator as alternatives considered
  • References hyperfleet-db DESIGN.md and ARCHITECTURE_COMPARISON.md for depth

Jira: https://redhat.atlassian.net/browse/ROSAENG-63138

Test plan

  • Verify Mermaid diagram renders correctly
  • Verify cross-repo links resolve

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added architecture documentation for a regional control plane that manages cluster lifecycles.
    • Documented system components, integrations, data flow, reliability, observability, scalability, and regional cost considerations.
    • Added the new architecture document to the design decisions index.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 31, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

@typeid: This pull request references ROSAENG-63138 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Adds docs/design/regional-control-plane-architecture.md documenting the hyperfleet-operator + hyperfleet-db architecture
  • Controller-runtime reconciliation backed by PostgreSQL instead of etcd
  • Lists CLM and etcd-backed operator as alternatives considered
  • References hyperfleet-db DESIGN.md and ARCHITECTURE_COMPARISON.md for depth

Jira: https://redhat.atlassian.net/browse/ROSAENG-63138

Test plan

  • Verify Mermaid diagram renders correctly
  • Verify cross-repo links resolve

🤖 Generated with Claude Code

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Jul 31, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign ravitri for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 79999258-e0fe-4be4-9905-310afbbd6406

📥 Commits

Reviewing files that changed from the base of the PR and between 22f570c and 0d8c2d6.

📒 Files selected for processing (2)
  • docs/README.md
  • docs/design/regional-control-plane-architecture.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/README.md
  • docs/design/regional-control-plane-architecture.md

📝 Walkthrough

Walkthrough

Added a Regional Control Plane Architecture document and linked it from the documentation index. The document describes PostgreSQL-backed reconciliation, component interactions, rejected alternatives, consequences, reliability, observability, performance, and regional cost considerations.

Changes

Regional Control Plane Architecture

Layer / File(s) Summary
Architecture and control-plane data flow
docs/design/regional-control-plane-architecture.md, docs/README.md
Defines the regional control plane, its components, PostgreSQL state ownership, resource flows, and documentation index entry.
Storage rationale and rejected alternatives
docs/design/regional-control-plane-architecture.md
Documents PostgreSQL design rationale, benchmark evidence, and comparisons with CLM and etcd-based alternatives.
Consequences and operational considerations
docs/design/regional-control-plane-architecture.md
Documents design consequences, reliability, observability, performance, compaction, and regional cost details.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the issue and the main change: adding the regional control plane architecture design document.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

Documents the hyperfleet-operator + hyperfleet-db architecture:
controller-runtime reconciliation backed by PostgreSQL instead of etcd.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@typeid
typeid force-pushed the control-plane-architecture branch from 22f570c to 0d8c2d6 Compare July 31, 2026 10:18

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (2)
docs/design/regional-control-plane-architecture.md (2)

24-34: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Show the status return path in the diagram.

Line [41] describes status flowing from kube-applier to DynamoDB and back to the operator. The Mermaid diagram shows only the desire write path. Add the status path, or label the diagram as a simplified write-path view.

Also applies to: 39-41

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/design/regional-control-plane-architecture.md` around lines 24 - 34,
Update the Mermaid graph around the DynamoDB and Operator relationships to show
the status return path from kube-applier through DynamoDB back to
hyperfleet-operator, matching the flow described later in the document. If that
path cannot be represented, explicitly label the diagram as a simplified
write-path view.

1-7: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add or verify ADR status and decision metadata.

The document has Context, Design, Alternatives, Rationale, and Consequences, but no explicit decision status or Decision field. Add the repository-standard ADR metadata, or confirm that this repository intentionally uses this format for architecture documents.

As per path instructions, docs/design/** design decisions must be reviewed for ADR format compliance.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/design/regional-control-plane-architecture.md` around lines 1 - 7, Add
repository-standard ADR metadata to the “Regional Control Plane Architecture”
document, including explicit decision status and decision fields alongside the
existing “Last Updated Date” metadata. If this repository intentionally uses a
different architecture-document format, verify and document that convention
instead, while preserving the existing design content.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/design/regional-control-plane-architecture.md`:
- Around line 65-66: Update the component-count and operational-overhead
comparisons in the regional architecture discussion to remain explicitly scoped
to the reconcile loop, or replace both sides with comparable total-architecture
counts. Ensure references near “Component count” and “Operational overhead” do
not imply that 2 versus 5+ represents all deployable services.
- Around line 39-48: The architecture document must explicitly define ownership
for each state type: clarify whether PostgreSQL is the source of truth for
operator CRDs and DynamoDB is only an integration store for desires and observed
status, or document the actual model. Update the sections around the
hyperfleet-db description and the corresponding consequence text, plus the
diagram, so all statements consistently reflect that ownership.
- Around line 52-58: Update the PostgreSQL rationale and related recovery
statements to document the Terraform-provisioned Aurora topology: one writer
instance, no Aurora Replica, and regional storage replication. Replace the
inaccurate “RDS synchronous standby” claim, distinguish storage durability from
instance failover, and state RPO 0 only for a tested, explicitly scoped regional
failure scenario; otherwise record the tested RPO and recovery behavior in the
relevant sections.

---

Nitpick comments:
In `@docs/design/regional-control-plane-architecture.md`:
- Around line 24-34: Update the Mermaid graph around the DynamoDB and Operator
relationships to show the status return path from kube-applier through DynamoDB
back to hyperfleet-operator, matching the flow described later in the document.
If that path cannot be represented, explicitly label the diagram as a simplified
write-path view.
- Around line 1-7: Add repository-standard ADR metadata to the “Regional Control
Plane Architecture” document, including explicit decision status and decision
fields alongside the existing “Last Updated Date” metadata. If this repository
intentionally uses a different architecture-document format, verify and document
that convention instead, while preserving the existing design content.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 7a0b3cdf-6012-4f8b-b9d5-9eb68800e24f

📥 Commits

Reviewing files that changed from the base of the PR and between 211f9b7 and 22f570c.

📒 Files selected for processing (2)
  • docs/README.md
  • docs/design/regional-control-plane-architecture.md

Comment thread docs/design/regional-control-plane-architecture.md
Comment thread docs/design/regional-control-plane-architecture.md
Comment thread docs/design/regional-control-plane-architecture.md
@typeid typeid added the review-ready Indicates that a PR is ready for human review. label Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. review-ready Indicates that a PR is ready for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants