forked from wildfly/wildfly-charts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
values.schema.json
624 lines (624 loc) · 31.2 KB
/
values.schema.json
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"image": {
"type": ["object", "null"],
"properties": {
"name": {
"description": "Name of the application image. If not specified, the name of the Helm release will be used.",
"type": ["string", "null"]
},
"tag": {
"description": "Tag of the application image",
"type": ["string", "null"],
"default": "latest"
}
}
},
"build": {
"description": "Configuration to build the application image",
"type": "object",
"properties": {
"enabled": {
"description": "Enable/Disable building the application image",
"type": "boolean",
"default": true
},
"mode": {
"description": "Which mode to use to build the application",
"type": "string",
"enum": ["s2i", "bootable-jar"],
"default": "s2i"
},
"uri": {
"description": "URI of GitHub repository",
"type": "string"
},
"ref": {
"description": "Git reference",
"type": ["string", "null"]
},
"contextDir": {
"description": "Context directory within your Git repo to use as the root for the build",
"type": ["string", "null"]
},
"sourceSecret": {
"description": "Name of the Secret to use when cloning Git source project",
"type": ["string", "null"]
},
"pullSecret": {
"description": "Name of the Pull Secret",
"type": ["string", "null"]
},
"output": {
"description": "Configuration for the built application image",
"type": "object",
"properties": {
"kind": {
"description": "Determines where the application images will be pushed",
"type": "string",
"enum": ["ImageStreamTag", "DockerImage"],
"default": "ImageStreamTag"
},
"pushSecret": {
"description": "Name of the Push Secret",
"type": ["string", "null"]
}
}
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
"items": {
"description": "EnvVar represents an environment variable present in a Container.",
"properties": {
"name": {
"description": "Name of the environment variable. Must be a C_IDENTIFIER.",
"type": "string"
},
"value": {
"description": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\".",
"type": [
"string",
"null"
]
},
"valueFrom": {
"description": "EnvVarSource represents a source for the value of an EnvVar.",
"properties": {
"configMapKeyRef": {
"description": "Selects a key from a ConfigMap.",
"properties": {
"key": {
"description": "The key to select.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": [
"string",
"null"
]
},
"optional": {
"description": "Specify whether the ConfigMap or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object"
},
"fieldRef": {
"description": "ObjectFieldSelector selects an APIVersioned field of an object.",
"properties": {
"apiVersion": {
"description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
"type": [
"string",
"null"
]
},
"fieldPath": {
"description": "Path of the field to select in the specified API version.",
"type": "string"
}
},
"required": [
"fieldPath"
],
"type": "object"
},
"resourceFieldRef": {
"description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format",
"properties": {
"containerName": {
"description": "Container name: required for volumes, optional for env vars",
"type": [
"string",
"null"
]
},
"divisor": {
"oneOf": [
{
"type": [
"string",
"null"
]
},
{
"type": "integer"
}
]
},
"resource": {
"description": "Required: resource to select",
"type": "string"
}
},
"required": [
"resource"
],
"type": "object"
},
"secretKeyRef": {
"description": "SecretKeySelector selects a key of a Secret.",
"properties": {
"key": {
"description": "The key of the secret to select from. Must be a valid secret key.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": [
"string",
"null"
]
},
"optional": {
"description": "Specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object"
}
},
"type": "object"
}
},
"required": [
"name"
],
"type": "object"
},
"type": [
"array",
"null"
]
},
"resources": {
"description": "Freeform resources field. More information: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/"
},
"images": {
"description": "Freeform images injected in the source during build."
},
"triggers": {
"description": "Webhooks to trigger building the application image",
"type": ["object", "null"],
"properties": {
"githubSecret": {
"description": "Name of the secret containing the WebHookSecretKey for the GitHub Webhook",
"type": "string"
},
"genericSecret": {
"description": "Name of the secret containing the WebHookSecretKey for the Generic Webhook",
"type": "string"
}
}
},
"s2i": {
"description": "Configuration specific to S2I Build (applicable only if build mode is set to s2i)",
"type": ["object", "null"],
"properties": {
"kind": {
"description": "Determines the type of images for S2I Builder and Runtime images",
"type": "string",
"enum": ["ImageStreamTag", "DockerImage", "ImageStreamImage"],
"default": "DockerImage"
},
"buildApplicationImage": {
"description": "Determine if the application image must be built. If false, the Helm release will build the first artifact image (with the name of the Helm release)",
"type": "boolean",
"default": true
},
"builderImage": {
"description": "Name of WildFly Builder image",
"type": ["string", "null"]
},
"builderKind": {
"description": "Determines the type of images for S2I Builder image. If omitted, the value of the kind properties is used",
"type": ["string", "null"],
"enum": ["ImageStreamTag", "DockerImage", "ImageStreamImage"]
},
"runtimeImage": {
"description": "Name of WildFly Runtime image",
"type": ["string", "null"]
},
"runtimeKind": {
"description": "Determines the type of images for S2I Runtime image. If omitted, the value of the kind properties is used",
"type": ["string", "null"],
"enum": ["ImageStreamTag", "DockerImage", "ImageStreamImage"]
},
"featurePacks": {
"description": "List of Galleon feature-packs identified by Maven coordinates (`<groupId>:<artifactId>:<version>`). Deprecated, the recommended way to provision WildFly is to use the wildfly-maven-plugin in the application pom.xml",
"type": ["string", "array", "null"],
"items": {
"type": "string"
}
},
"galleonDir": {
"description": "Directory relative to the root directory for the build that contains custom content for Galleon.",
"type": ["string", "null"]
},
"galleonLayers": {
"description": "List of Galleon Layers to provision. If galleonLayers are configured, the featurePacks that provides the layers must be specified (including WildFly feature pack). Deprecated, the recommended way to provision WildFly is to use the wildfly-maven-plugin in the application pom.xml",
"type": ["string", "array", "null"],
"items": {
"type": "string"
}
}
}
},
"bootableJar": {
"description": "Configuration specific to Bootable Jar Build (applicable only if build mode is set to bootable-jar)",
"type": ["object", "null"],
"properties": {
"builderImage": {
"description": "The JDK Builder image",
"type": ["string", "null"]
}
}
}
}
},
"deploy": {
"description": "Configuration to deploy the application",
"type": "object",
"properties": {
"annotations": {
"type": "object",
"description": "Annotations that are applied to the deployed application and its pods",
"additionalProperties": {
"type": "string"
}
},
"enabled": {
"description": "Enable/Disable deploying the application image",
"type": "boolean",
"default": true
},
"replicas": {
"type": "integer",
"description": "Number of pod replicas to deploy"
},
"labels": {
"type": "object",
"description": "Labels that are applied to the deployed application and its pods",
"additionalProperties": {
"type":"string"
}
},
"resources": {
"description": "Freeform resources requirements to deploy the application image"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
"items": {
"description": "EnvVar represents an environment variable present in a Container.",
"properties": {
"name": {
"description": "Name of the environment variable. Must be a C_IDENTIFIER.",
"type": "string"
},
"value": {
"description": "Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\".",
"type": [
"string",
"null"
]
},
"valueFrom": {
"description": "EnvVarSource represents a source for the value of an EnvVar.",
"properties": {
"configMapKeyRef": {
"description": "Selects a key from a ConfigMap.",
"properties": {
"key": {
"description": "The key to select.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": [
"string",
"null"
]
},
"optional": {
"description": "Specify whether the ConfigMap or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object"
},
"fieldRef": {
"description": "ObjectFieldSelector selects an APIVersioned field of an object.",
"properties": {
"apiVersion": {
"description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
"type": [
"string",
"null"
]
},
"fieldPath": {
"description": "Path of the field to select in the specified API version.",
"type": "string"
}
},
"required": [
"fieldPath"
],
"type": "object"
},
"resourceFieldRef": {
"description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format",
"properties": {
"containerName": {
"description": "Container name: required for volumes, optional for env vars",
"type": [
"string",
"null"
]
},
"divisor": {
"oneOf": [
{
"type": [
"string",
"null"
]
},
{
"type": "integer"
}
]
},
"resource": {
"description": "Required: resource to select",
"type": "string"
}
},
"required": [
"resource"
],
"type": "object"
},
"secretKeyRef": {
"description": "SecretKeySelector selects a key of a Secret.",
"properties": {
"key": {
"description": "The key of the secret to select from. Must be a valid secret key.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": [
"string",
"null"
]
},
"optional": {
"description": "Specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object"
}
},
"type": "object"
}
},
"required": [
"name"
],
"type": "object"
},
"type": [
"array",
"null"
]
},
"envFrom": {
"description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
"items": {
"description": "EnvFromSource represents the source of a set of ConfigMaps",
"properties": {
"configMapRef": {
"description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
"properties": {
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": [
"string",
"null"
]
},
"optional": {
"description": "Specify whether the ConfigMap must be defined",
"type": "boolean"
}
},
"type": "object"
},
"prefix": {
"description": "An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.",
"type": [
"string",
"null"
]
},
"secretRef": {
"description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
"properties": {
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": [
"string",
"null"
]
},
"optional": {
"description": "Specify whether the Secret must be defined",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"type": [
"array",
"null"
]
},
"route": {
"description": "Route configuration",
"type": "object",
"properties": {
"enabled": {
"description": "Enable/Disable creating a Route for the application",
"default": true,
"type": "boolean"
},
"host": {
"description": "alias/DNS that points to the service. If not specified a route name will typically be automatically chosen",
"type": "string"
},
"tls": {
"description": "TLS Configuration for the Route",
"type": "object",
"properties": {
"enabled" : {
"description": "Determines if the Route should be TLS-encrypted. If deploy.tls.enabled is true, the route will use the secure service to access to the deployment",
"default": true,
"type": "boolean"
},
"termination": {
"description": "Determines the type of TLS termination to use",
"type": "string",
"enum": ["edge", "reencrypt", "passthrough"],
"default": "edge"
},
"insecureEdgeTerminationPolicy": {
"description": "Determines if insecure traffic should be redirected",
"type": "string",
"enum": ["Allow", "Disable", "Redirect"],
"default": "Redirect"
}
}
}
}
},
"tls": {
"description": "TLS Configuration",
"type": "object",
"properties": {
"enabled": {
"description": "Enable the creation of a secure service to access the application.",
"default": false,
"type": "boolean"
}
}
},
"livenessProbe": {
"description": "Freeform livenessProbe configuration"
},
"readinessProbe": {
"description": "Freeform readinessProbe configuration"
},
"startupProbe": {
"description": "Freeform startupProbe configuration"
},
"volumeMounts": {
"description": "Freeform array of volumeMounts",
"type": ["array", "null"],
"items": {
"description": "VolumeMount describes a mounting of a Volume within a container.",
"required": ["name", "mountPath"],
"properties": {
"mountPath": {
"description": "Path within the container at which the volume should be mounted. Must not contain ':'.",
"type": "string"
},
"mountPropagation": {
"description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationHostToContainer is used. This field is alpha in 1.8 and can be reworked or removed in a future release.",
"type": ["string", "null"]
},
"name": {
"description": "This must match the Name of a Volume.",
"type": "string"
},
"readOnly": {
"description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.",
"type": "boolean"
},
"subPath": {
"description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
"type": ["string","null"]
}
}
}
},
"volumes": {
"description": "Freeform array of volumes",
"type": [ "array", "null"]
},
"initContainers": {
"description": "Freeform array of initContainers",
"type": [ "array", "null"]
},
"extraContainers": {
"description": "Freeform array of extra containers",
"type": [ "array", "null"]
},
"imagePullSecrets:": {
"description": "ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling the application image",
"type": [ "array", "null"],
"items": {
"description": "Reference to a secret in the same namespace.",
"required": ["name"],
"properties": {
"name": {
"description": "Name of the referenced secret",
"type": "string"
}
}
}
}
}
}
}
}