You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: plans/phase-1/api-design/multigres-operator-api-v1alpha1-design.md
+38-41Lines changed: 38 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -389,6 +389,7 @@ status:
389
389
* This CR is NOT a child resource. It is purely a configuration object.
390
390
* It is namespaced to support RBAC scoping (e.g., platform team owns templates, dev team owns clusters).
391
391
* It defines the shape of the cluster's core control plane, which comprises Global Topo Server and MultiAdmin. A `CoreTemplate` can contain definitions for *both* components. When a component (e.g., `globalTopoServer`) references this template, the controller will extract the relevant section.
392
+
* **Note:** To prevent recursive definitions, `CoreTemplate` fields are strictly defined inline and cannot reference other templates. `multiadmin` uses a flattened spec structure here, unlike the `MultigresCluster` parent which nests it under `spec`.
392
393
393
394
```yaml
394
395
apiVersion: multigres.com/v1alpha1
@@ -397,9 +398,10 @@ metadata:
397
398
name: "standard-core-ha"
398
399
namespace: example
399
400
spec:
400
-
# Defines the Global TopoServer component
401
+
# Defines the Global TopoServer component.
402
+
# RESTRICTION: Templates only support Managed Etcd configurations.
403
+
# External topology servers must be defined in the Cluster CR directly.
401
404
globalTopoServer:
402
-
# --- OPTION 1: Managed by Operator ---
403
405
etcd:
404
406
image: "quay.io/coreos/etcd:v3.5"
405
407
replicas: 3
@@ -413,34 +415,27 @@ spec:
413
415
limits:
414
416
cpu: "1"
415
417
memory: "2Gi"
416
-
# --- ALTERNATIVE OPTION 2: External Etcd ---
417
-
# external:
418
-
# endpoints:
419
-
# - "https://etcd-1.infra.local:2379"
420
-
# caSecret: "etcd-ca-secret"
421
-
# clientCertSecret: "etcd-client-cert-secret"
422
418
423
-
# Defines the MultiAdmin component
419
+
# Defines the MultiAdmin component.
424
420
multiadmin:
425
-
spec:
426
-
replicas: 2
427
-
resources:
428
-
requests:
429
-
cpu: "200m"
430
-
memory: "256Mi"
431
-
limits:
432
-
cpu: "500m"
433
-
memory: "512Mi"
434
-
# Affinity can be configured too by user if desired
0 commit comments