Skip to content

Commit d702263

Browse files
committed
add schema for fastcs-instance chart values.yaml
1 parent 0d4cbfa commit d702263

File tree

2 files changed

+352
-69
lines changed

2 files changed

+352
-69
lines changed
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"additionalProperties": false,
4+
"properties": {
5+
"affinity": {
6+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity",
7+
"description": "Affinity for the pod",
8+
"required": [],
9+
"title": "affinity",
10+
"type": "object"
11+
},
12+
"baseIp": {
13+
"default": "10.96.0.0/12",
14+
"description": "CIDR for services addresses.\nUsed by allocateIpFromName to allocate a fixed cluster IP for the service.\nThe default is the same for all DLS clusters.",
15+
"required": [],
16+
"title": "baseIp",
17+
"type": "string"
18+
},
19+
"ca_server_port": {
20+
"default": 5064,
21+
"description": "ports to expose on the service",
22+
"required": [],
23+
"title": "ca_server_port",
24+
"type": "integer"
25+
},
26+
"clusterIP": {
27+
"default": "",
28+
"format": "ipv4",
29+
"required": [],
30+
"title": "Override for the cluster IP - only needed if allocateIpFromName clashes",
31+
"type": [
32+
"string",
33+
"null"
34+
]
35+
},
36+
"extra_containers": {
37+
"description": "adds addtional containers specified by image and startCommand",
38+
"items": {
39+
"additionalProperties": false,
40+
"properties": {
41+
"image": {
42+
"description": "Container image URI",
43+
"format": "image",
44+
"required": [],
45+
"type": "string"
46+
},
47+
"name": {
48+
"description": "A name for the additional container",
49+
"required": [],
50+
"type": "string"
51+
},
52+
"startCommand": {
53+
"description": "Command to run in the container (as array of arguments)",
54+
"required": [],
55+
"type": "array"
56+
}
57+
},
58+
"required": [
59+
"name",
60+
"image",
61+
"startCommand"
62+
],
63+
"type": "object"
64+
},
65+
"required": [],
66+
"title": "extra containers",
67+
"type": "array"
68+
},
69+
"global": {
70+
"description": "Global values are values that can be accessed from any chart or subchart by exactly the same name.",
71+
"required": [],
72+
"title": "global",
73+
"type": "object"
74+
},
75+
"image": {
76+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/image",
77+
"required": [],
78+
"title": "Container Image URI",
79+
"type": [
80+
"string",
81+
"null"
82+
]
83+
},
84+
"iocConfig": {
85+
"default": "/epics/ioc/config",
86+
"required": [],
87+
"title": "iocConfig",
88+
"type": "string"
89+
},
90+
"iocFolder": {
91+
"default": "/epics/ioc",
92+
"description": "location of config folder (defaults to be the same as C++ IOCs)",
93+
"required": [],
94+
"title": "iocFolder",
95+
"type": "string"
96+
},
97+
"livenessProbe": {
98+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.Probe",
99+
"required": [],
100+
"title": "livenessProbe",
101+
"type": "object"
102+
},
103+
"nodeSelector": {
104+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.NodeSelector",
105+
"description": "Node selector for the pod",
106+
"required": [],
107+
"title": "nodeSelector",
108+
"type": "object"
109+
},
110+
"podAnnotations": {
111+
"additionalProperties": false,
112+
"required": [],
113+
"title": "Pod Annotations",
114+
"type": "object"
115+
},
116+
"podLabels": {
117+
"additionalProperties": false,
118+
"required": [],
119+
"title": "Pod Labels",
120+
"type": "object"
121+
},
122+
"podSecurityContext": {
123+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext",
124+
"required": [],
125+
"title": "Pod Security Context",
126+
"type": "object"
127+
},
128+
"pva_server_port": {
129+
"default": 5075,
130+
"required": [],
131+
"title": "pva_server_port",
132+
"type": "integer"
133+
},
134+
"readinessProbe": {
135+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.Probe",
136+
"required": [],
137+
"title": "readinessProbe",
138+
"type": "object"
139+
},
140+
"resources": {
141+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements",
142+
"required": [],
143+
"title": "Resource limits and requests",
144+
"type": "object"
145+
},
146+
"securityContext": {
147+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext",
148+
"required": [],
149+
"title": "Container Security Context",
150+
"type": "object"
151+
},
152+
"service": {
153+
"additionalProperties": false,
154+
"description": "The service will be configured for Channel Access and PVA. Here you can override\nthe ports and also make this a LoadBalancer service if required.",
155+
"properties": {
156+
"ca_port": {
157+
"default": 5064,
158+
"required": [],
159+
"title": "ca_port",
160+
"type": "integer"
161+
},
162+
"pva_port": {
163+
"default": 5075,
164+
"required": [],
165+
"title": "pva_port",
166+
"type": "integer"
167+
},
168+
"type": {
169+
"default": "ClusterIP",
170+
"required": [],
171+
"title": "type",
172+
"type": "string"
173+
}
174+
},
175+
"required": [
176+
"type",
177+
"ca_port",
178+
"pva_port"
179+
],
180+
"title": "service",
181+
"type": "object"
182+
},
183+
"tolerations": {
184+
"description": "Tolerations for the pod",
185+
"items": {
186+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.Toleration",
187+
"required": [],
188+
"type": "object"
189+
},
190+
"required": [],
191+
"title": "tolerations",
192+
"type": "array"
193+
},
194+
"volumeMounts": {
195+
"items": {
196+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.VolumeMount",
197+
"required": [],
198+
"type": "object"
199+
},
200+
"required": [],
201+
"title": "volumeMounts",
202+
"type": "array"
203+
},
204+
"volumes": {
205+
"description": "Additional volumes to mount in the output Deployment definition.",
206+
"items": {
207+
"$ref": "https://kubernetesjsonschema.dev/v1.18.1/_definitions.json#/definitions/io.k8s.api.core.v1.Volume",
208+
"required": [],
209+
"type": "object"
210+
},
211+
"required": [],
212+
"title": "volumes",
213+
"type": "array"
214+
}
215+
},
216+
"required": [
217+
"iocFolder",
218+
"iocConfig",
219+
"ca_server_port",
220+
"pva_server_port",
221+
"baseIp",
222+
"service"
223+
],
224+
"type": "object"
225+
}

0 commit comments

Comments
 (0)