-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample_definition.yml
112 lines (101 loc) · 3.33 KB
/
example_definition.yml
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# This is an example specification for a game server schema in the registry.
# The schema is used to define the configuration of a supported game in the registry.
# The containerised game server image to deploy.
# Must be a valid image from a public registry.
image: itzg/minecraft-server
# Optional metadata providing a link to find out more about the image.
# Must be a valid URL.
url: https://github.com/itzg/docker-minecraft-server
# The ratio of average cpu:memory consumed by the game server.
# Provided in the format of "cpu-memory".
ratio: "1-2"
# The available sizes for the game server.
# This changes the resources given to the server and the player limit.
# Sizes available are `xs`, `s`, `m`, `l`, `xl`.
sizes:
xs:
# Cpu and memory specify the limits of the resources provided to the server.
# The server can run at any amount of resources below and up to this limit, but not above.
# Functions identically to and provided as a string of Kubernetes resource units, see:
# https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes.
resources:
cpu: 1000m
memory: 2000Mi
# The number of players that can be connected to the server at the same time.
# Provided as an integer.
players: 8
s:
resources:
cpu: 1500m
memory: 4000Mi
players: 16
m:
resources:
cpu: 2000m
memory: 8000Mi
players: 32
l:
resources:
cpu: 3000m
memory: 16000Mi
players: 64
xl:
resources:
cpu: 4000m
memory: 32000Mi
players: 128
# A list of port and protocols to expose from the game server runs on.
# This makes the game server accessible from the method is used to connect to it.
network:
# The name of the network configuration.
- name: game
# Provided as an integer.
port: 25565
# Provided as a string.
protocol: TCP
# Static environment variables specific to the game server image.
# Can be provided in templating language to use dynamic values.
# This will be changed in the future to restrict the templating language to a subset of functions.
settings:
- name: EULA
value: "TRUE"
- name: TYPE
value: "{{ .Values.game.modLoader }}"
- name: MAX_PLAYERS
value: "{{ .size.players }}"
# The storage data of the game server.
# This is used to persist the game server data between restarts.
# List any volumes that contain data which needs to be persisted here.
volumes:
# The name of the volume.
- name: data
# The path of the data.
path: "/data"
# The maximum size of storage.
# Provided as a string of Kubernetes capacity units, see:
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#capacity
size: 10Gi
# Health checks for the game server.
probes:
# The commands used to check the status.
# These often run binaries.
command:
- mc-health
# The initial delay when starting up the server.
startupProbe:
failureThreshold: 30
periodSeconds: 10
# Checks if the game server is ready to accept connections.
readinessProbe:
initialDelaySeconds: 30
periodSeconds: 5
failureThreshold: 20
successThreshold: 3
timeoutSeconds: 1
# Regular checks for game server uptime.
livenessProbe:
initialDelaySeconds: 30
periodSeconds: 5
failureThreshold: 20
successThreshold: 3
timeoutSeconds: 1