Skip to content

spec: invert platform GitOps to per-cluster ArgoCD pull model - #186

Draft
markturansky wants to merge 1 commit into
mainfrom
hypershell-6-argo-pull-model
Draft

spec: invert platform GitOps to per-cluster ArgoCD pull model#186
markturansky wants to merge 1 commit into
mainfrom
hypershell-6-argo-pull-model

Conversation

@markturansky

Copy link
Copy Markdown
Collaborator

Summary

Reworks specs/platform/global-architecture.spec.md to invert the platform GitOps deployment model from hub-push to per-cluster pull.

  • Before: a Cloud Hub's ArgoCD was a central controller holding remote kubeconfigs and reconciling manifests into its ManagedClusters.
  • After: ArgoCD runs on every cluster and reconciles only itself, pulling its own path from the central hypershell-gitops repo and applying locally. No cluster stores another's kubeconfig; no hub pushes outward.

This brings the spec in line with the real hypershell-gitops repo, which already uses a per-cluster layout (clusters/{global,hysh-ibm-01,uat}/ + bin/bootstrap).

Scope

Platform GitOps layer only. The control-plane tenant reconciliation (runtime push from the Cloud Hub PostgreSQL via gRPC watch) is unchanged and now explicitly documented as a distinct plane so the two aren't conflated.

Changes

Section Change
Overview Pull-not-push statement + two-plane callout
Topology diagram Central repo node, ArgoCD on all tiers, dotted pull arrows, "Reconcile tenants" labels
Tier 1/2/3 ArgoCD self-reconciles own path; Tier 2 no longer targets ManagedClusters
Data Flows New Platform GitOps Pull Flow sequence diagram + key points
Tooling Stack + Design Decisions ArgoCD-on-every-cluster pull model, blast-radius/HA rationale
GitOps Repository Structure Rewritten to the actual hypershell-gitops layout (bases/ + per-cluster clusters/<name>/ entrypoints)

Jira

HYPERSHELL-6

🤖 Generated with Claude Code

Rework the global architecture spec so ArgoCD runs on every cluster and
each cluster self-reconciles its own path from the central hypershell-gitops
repo, replacing the hub-push model where a Cloud Hub ArgoCD held remote
kubeconfigs and reconciled into its ManagedClusters.

Scope is the platform GitOps layer only. The control-plane tenant
reconciliation (runtime push from the Cloud Hub PostgreSQL via gRPC) is
preserved and now explicitly documented as a distinct plane.

- Overview: state pull-not-push; add two-plane callout
- Topology diagram: central repo node, ArgoCD on all tiers, pull arrows
- Tier 1/2/3: ArgoCD self-reconciles own path; Tier 2 no longer targets MCs
- Data Flows: new Platform GitOps Pull Flow sequence + key points
- Tooling Stack + Design Decisions: ArgoCD-on-every-cluster pull model
- GitOps Repository Structure: rewrite to real hypershell-gitops layout
  (bases/ + per-cluster clusters/<name>/ entrypoints, bin/bootstrap)

Refs: HYPERSHELL-6

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 6f9d8216-9fed-451d-a19d-8fde69abc432

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant