Skip to content

Commit 18db56f

Browse files
authored
Merge pull request #99 from numtide/samples
align samples with v1alpha1 design and system limits
2 parents e854e58 + 7ea649a commit 18db56f

File tree

12 files changed

+294
-211
lines changed

12 files changed

+294
-211
lines changed

config/samples/child-resources/kind-cell.yaml

Lines changed: 0 additions & 56 deletions
This file was deleted.

config/samples/child-resources/kind-shard.yaml

Lines changed: 0 additions & 96 deletions
This file was deleted.

config/samples/child-resources/kind-toposerver.yaml

Lines changed: 0 additions & 27 deletions
This file was deleted.

config/samples/external-etcd.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
apiVersion: multigres.com/v1alpha1
2+
kind: MultigresCluster
3+
metadata:
4+
name: external-etcd-cluster
5+
namespace: default
6+
spec:
7+
# ----------------------------------------------------------------
8+
# 1. Global Topology (External)
9+
# ----------------------------------------------------------------
10+
# Connects to an existing, external Etcd cluster (e.g. cloud managed).
11+
globalTopoServer:
12+
external:
13+
endpoints:
14+
- "https://etcd-1.infra.local:2379"
15+
- "https://etcd-2.infra.local:2379"
16+
caSecret: "etcd-ca-secret"
17+
clientCertSecret: "etcd-client-cert-secret"
18+
rootPath: "/multigres/global"
19+
20+
# ----------------------------------------------------------------
21+
# 2. Cell Definitions (Mixed Mode)
22+
# ----------------------------------------------------------------
23+
cells:
24+
# Cell A: Standard Configuration
25+
# Uses the Global External Etcd defined above.
26+
- name: "zone-a"
27+
zone: "us-east-1a"
28+
29+
# Cell B: High-Isolation Configuration
30+
# This cell has its own dedicated, Operator-managed Etcd cluster.
31+
# It does NOT use the global etcd for cell-level data.
32+
# Benefit: If the external global etcd has an outage, this cell
33+
# remains fully functional for intra-cell traffic.
34+
- name: "zone-b-isolated"
35+
zone: "us-east-1b"
36+
spec:
37+
localTopoServer:
38+
etcd:
39+
image: "quay.io/coreos/etcd:v3.5"
40+
replicas: 3
41+
storage:
42+
size: "5Gi"
43+
class: "standard-gp3"
44+
# Since we are defining 'spec', we must also define the gateway
45+
multigateway:
46+
replicas: 2

config/samples/minimal.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: multigres.com/v1alpha1
2+
kind: MultigresCluster
3+
metadata:
4+
name: minimal-cluster
5+
namespace: default
6+
spec:
7+
# A minimal cluster requires at least one cell definition.
8+
#
9+
# The operator will resolve configuration defaults in this order:
10+
# 1. Namespace Defaults: If a template named "default" exists in this namespace
11+
# (e.g., CoreTemplate/default, CellTemplate/default), it will be used.
12+
# 2. Hardcoded Defaults: If no template is found, the operator injects:
13+
# - Default GlobalTopoServer (Managed Etcd, 3 replicas)
14+
# - Default MultiAdmin (1 replica)
15+
# - Default Database ("postgres") with Default TableGroup ("default")
16+
cells:
17+
- name: "zone-a"
18+
zone: "us-east-1a"

config/samples/no-templates.yaml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
apiVersion: multigres.com/v1alpha1
2+
kind: MultigresCluster
3+
metadata:
4+
name: advanced-cluster
5+
namespace: default
6+
spec:
7+
# ----------------------------------------------------------------
8+
# 1. Global Components (Inline)
9+
# ----------------------------------------------------------------
10+
globalTopoServer:
11+
etcd:
12+
image: "quay.io/coreos/etcd:v3.5"
13+
replicas: 3
14+
storage:
15+
size: "10Gi"
16+
class: "standard-gp3"
17+
resources:
18+
requests:
19+
cpu: "500m"
20+
memory: "1Gi"
21+
limits:
22+
cpu: "1"
23+
memory: "2Gi"
24+
25+
multiadmin:
26+
spec:
27+
replicas: 2
28+
resources:
29+
requests:
30+
cpu: "200m"
31+
memory: "256Mi"
32+
limits:
33+
cpu: "500m"
34+
memory: "512Mi"
35+
36+
# ----------------------------------------------------------------
37+
# 2. Cell Definitions (Inline)
38+
# ----------------------------------------------------------------
39+
cells:
40+
- name: "us-east-1a"
41+
zone: "us-east-1a"
42+
spec:
43+
multigateway:
44+
replicas: 2
45+
resources:
46+
requests:
47+
cpu: "1"
48+
memory: "2Gi"
49+
limits:
50+
cpu: "2"
51+
memory: "4Gi"
52+
53+
# ----------------------------------------------------------------
54+
# 3. Database Topology (Inline)
55+
# ----------------------------------------------------------------
56+
databases:
57+
- name: "postgres"
58+
default: true
59+
tablegroups:
60+
- name: "default" # Gateway requires this name at the moment.
61+
default: true
62+
shards:
63+
- name: "0"
64+
spec:
65+
multiorch:
66+
cells:
67+
- "us-east-1a"
68+
resources:
69+
requests:
70+
cpu: "200m"
71+
memory: "256Mi"
72+
limits:
73+
cpu: "500m"
74+
memory: "512Mi"
75+
76+
pools:
77+
main-app:
78+
type: "readWrite"
79+
cells:
80+
- "us-east-1a"
81+
replicasPerCell: 2
82+
storage:
83+
class: "gp3"
84+
size: "100Gi"
85+
postgres:
86+
resources:
87+
requests:
88+
cpu: "2"
89+
memory: "4Gi"
90+
limits:
91+
cpu: "4"
92+
memory: "8Gi"
93+
multipooler:
94+
resources:
95+
requests:
96+
cpu: "500m"
97+
memory: "1Gi"
98+
limits:
99+
cpu: "1"
100+
memory: "2Gi"

config/samples/reference.yaml

Lines changed: 0 additions & 14 deletions
This file was deleted.

config/samples/sample.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)