Repository navigation
Expand file tree
/
Copy pathfleet.yaml
More file actions
63 lines (58 loc) · 2.48 KB
/
Copy pathfleet.yaml
File metadata and controls
63 lines (58 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# marina Fleet — declarative fleet of kind clusters.
# Apply with: marina cluster apply -f fleet.yaml
#
# ─── The minimal manifest ─────────────────────────────────────────────────────
# Only cluster names are required; everything else defaults. This is a complete,
# valid manifest:
#
# apiVersion: marina.run/v1alpha1
# kind: Fleet
# spec:
# clusters:
# - dev
# - staging
#
# ─── Full reference (every field is optional except spec.clusters) ────────────
apiVersion: marina.run/v1alpha1
kind: Fleet
metadata:
name: dev-fleet
spec:
# Concurrent cluster creations. 0/1 = sequential (default). Independent
# clusters run in parallel up to this cap; dependsOn ordering is always honoured.
maxParallel: 2
# FailFast (default): stop scheduling new clusters after the first failure.
# ContinueOnError: keep creating independent clusters and report failures at the end.
strategy: FailFast
# Applied to every cluster below that does not set the field itself.
defaults:
registries:
mirrors: ["*"] # all mirrors from ~/.marina/config.yaml
labels: # merged into every cluster (entry labels win on conflict)
owner: platform-team
# Every cluster always gets node labels: managed-by=marina, plus
# marina.run/fleet=<metadata.name> and topology.kubernetes.io/region + zone.
clusters:
# A bare string is shorthand for "just create a cluster with this name".
- hub
# An object entry can override any per-cluster option.
- name: spoke-a
dependsOn: [hub] # created only after "hub" is ready
# num: 7 # pin the cluster num (1-99); omit to auto-assign a free slot
# nodeVersion: v1.37.0 # ⚠ overriding is unsupported; see 'marina cluster create' warning
region: europe-west4
zone: europe-west4-b
registries:
mirrors: ["registry-dockerio", "registry-quayio"] # cherry-pick by name
labels: # extra node labels on this cluster's nodes
team: search
env: dev
addons:
metricsServer:
enabled: true
# version: v0.7.2 # omit for the latest release
# kubeletInsecureTLS: true # default true (required on kind)
- name: spoke-b
dependsOn: [hub]
registries:
mirrors: [] # no pull-through mirrors (pull straight from upstream)