Federation does not require a service mesh or external tools. The operator
connects directly to each cluster via kubeconfig stored in Secrets.
Why Multi-Cluster Federation?
In modern production environments, infrastructure is rarely limited to a single cluster:Multi-Region
Clusters in us-east-1, eu-west-1, and ap-southeast-1 for latency and
regional compliance.
Multi-Environment
Staging, production, and DR in separate clusters with different security
policies.
Multi-Tenant
Dedicated clusters per team or product with strong workload isolation.
- Detect that the same problem affects 5 clusters simultaneously
- Correlate a staging deploy with a production failure
- Apply differentiated remediation policies by cluster importance
- Aggregate health metrics into a global view
ClusterRegistration CRD
TheClusterRegistration CRD is the entry point for adding clusters to the federation.
Complete Specification
Spec Fields
Status Fields
How Federation Works
Kubeconfig Parsing
The controller reads the kubeconfig from the referenced Secret and creates a Kubernetes client configured for the remote cluster.Remote Client Cache
Clients are stored in async.Map for reuse, avoiding unnecessary reconnections:
Health Check Loop
The controller executes periodic health checks on each registered cluster:1
List Nodes
Executes
List Nodes on the remote cluster to verify connectivity and count
active nodes.2
List Namespaces
Executes
List Namespaces to count namespaces and verify RBAC
permissions.3
Update Status
Updates the
ClusterRegistration.Status with the results, including
connected, nodeCount, namespaceCount, and kubernetesVersion.4
Generate Metrics
Exports Prometheus metrics with the cluster state.
Cross-Cluster Correlation
One of the most powerful federation features is the ability to correlate incidents across clusters.Automatic Severity Elevation
When the samesignalType is detected in 3 or more clusters within a time window, the platform automatically elevates severity to critical:
CorrelationID Annotation
When incidents are correlated across clusters, they all receive the samecorrelationID annotation for traceability:
The
correlationID allows operators to run kubectl queries to find
all related incidents across all clusters:Cascade Detection
Cascade detection identifies when a problem in a lower-tier environment (staging) may be about to affect a higher-tier environment (production).Staging to Production
platform.chatcli.io/cascade-detected: true is added to the production Issue:
Global Status Aggregation
The operator maintains an aggregated status of the entire federation, accessible via CRD and API:- kubectl
- REST API
Remediation Policy per Tier
Each cluster has a remediation policy based on itstier, which controls the level of autonomy allowed by the Decision Engine.
Policy Definitions
The per-tier policy is evaluated before the Decision Engine calculates
confidence. If the tier requires manual approval, the confidence calculation
is still performed (for logging and auditing), but the result does not change
the decision.
YAML Examples
Register a Production Cluster
Register a Staging Cluster
Complete Multi-Region Setup
Federation Monitoring
Prometheus Metrics
Recommended Dashboards
Grafana Dashboard: Federation Overview
Grafana Dashboard: Federation Overview
Recommended Alerts
Network Architecture
Next Steps
Decision Engine
Understand how confidence is calculated and how per-tier policies affect
decisions.
Chaos Engineering
Run chaos experiments on specific clusters with safety checks per tier.
Audit and Compliance
Complete audit trail of cross-cluster actions with correlationID.
AIOps Platform
Return to the AIOps platform overview.