Skip to content

Commit cbb8db0

Browse files
committed
feat: install dynamo operator cluster-wide by default
Signed-off-by: Julien Mancuso <jmancuso@nvidia.com>
1 parent 399542d commit cbb8db0

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

deploy/cloud/helm/platform/README.md.gotmpl

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,47 @@ The Dynamo Platform Helm chart deploys the complete Dynamo Cloud infrastructure
3838
- Sufficient cluster resources for your deployment scale
3939
- Container registry access (if using private images)
4040

41+
## ⚠️ Important: Cluster-Wide vs Namespace-Scoped Deployment
42+
43+
### Single Cluster-Wide Operator (Recommended)
44+
45+
**By default, the Dynamo operator runs with cluster-wide permissions and should only be deployed ONCE per cluster.**
46+
47+
- ✅ **Recommended**: Deploy one cluster-wide operator per cluster
48+
- ❌ **Not Recommended**: Multiple cluster-wide operators in the same cluster
49+
50+
### Multiple Namespace-Scoped Operators (Advanced)
51+
52+
If you need multiple operator instances (e.g., for multi-tenancy), use namespace-scoped deployment:
53+
54+
```yaml
55+
dynamo-operator:
56+
namespaceRestriction:
57+
enabled: true
58+
targetNamespace: "my-tenant-namespace" # Optional, defaults to release namespace
59+
```
60+
61+
### Validation and Safety
62+
63+
The chart includes built-in validation to prevent all operator conflicts:
64+
65+
- **Automatic Detection**: Scans for existing operators (both cluster-wide and namespace-restricted) during installation
66+
- **Prevents Multiple Cluster-Wide**: Installation will fail if another cluster-wide operator exists
67+
- **Prevents Mixed Deployments (Type 1)**: Installation will fail if trying to install namespace-restricted operator when cluster-wide exists
68+
- **Prevents Mixed Deployments (Type 2)**: Installation will fail if trying to install cluster-wide operator when namespace-restricted operators exist
69+
- **Safe Defaults**: Leader election uses shared ID for proper coordination
70+
71+
#### 🚫 **Blocked Conflict Scenarios**
72+
73+
| Existing Operator | New Operator | Status | Reason |
74+
|-------------------|--------------|---------|--------|
75+
| None | Cluster-wide | ✅ **Allowed** | No conflicts |
76+
| None | Namespace-restricted | ✅ **Allowed** | No conflicts |
77+
| Cluster-wide | Cluster-wide | ❌ **Blocked** | Multiple cluster managers |
78+
| Cluster-wide | Namespace-restricted | ❌ **Blocked** | Cluster-wide already manages target namespace |
79+
| Namespace-restricted | Cluster-wide | ❌ **Blocked** | Would conflict with existing namespace operators |
80+
| Namespace-restricted A | Namespace-restricted B (diff ns) | ✅ **Allowed** | Different scopes |
81+
4182
## 🔧 Configuration
4283

4384
{{ template "chart.requirementsSection" . }}

0 commit comments

Comments
 (0)