1+ {
2+ "$schema" : " http://json-schema.org/draft-07/schema#" ,
3+ "type" : " object" ,
4+ "properties" : {
5+ "replicaCount" : {
6+ "type" : " integer" ,
7+ "minimum" : 0
8+ },
9+ "image" : {
10+ "type" : " object" ,
11+ "properties" : {
12+ "repository" : { "type" : " string" , "minLength" : 1 },
13+ "pullPolicy" : { "type" : " string" , "enum" : [" Always" , " IfNotPresent" , " Never" ] },
14+ "tag" : { "type" : " string" }
15+ },
16+ "required" : [" repository" , " pullPolicy" ],
17+ "additionalProperties" : false
18+ },
19+ "imagePullSecrets" : {
20+ "type" : " array" ,
21+ "items" : {
22+ "type" : " object" ,
23+ "properties" : {
24+ "name" : { "type" : " string" , "minLength" : 1 }
25+ },
26+ "required" : [" name" ],
27+ "additionalProperties" : false
28+ }
29+ },
30+ "nameOverride" : { "type" : " string" },
31+ "fullnameOverride" : { "type" : " string" },
32+ "deploymentStrategy" : { "type" : " string" , "enum" : [" Recreate" , " RollingUpdate" ] },
33+ "env" : {
34+ "type" : " array" ,
35+ "items" : {
36+ "type" : " object" ,
37+ "properties" : {
38+ "name" : { "type" : " string" , "minLength" : 1 },
39+ "value" : { "type" : " string" },
40+ "valueFrom" : { "type" : " object" }
41+ },
42+ "required" : [" name" ],
43+ "additionalProperties" : false ,
44+ "oneOf" : [
45+ { "required" : [" value" ], "not" : { "required" : [" valueFrom" ] } },
46+ { "required" : [" valueFrom" ], "not" : { "required" : [" value" ] } }
47+ ]
48+ }
49+ },
50+ "externalConfigSecret" : {
51+ "type" : " object" ,
52+ "properties" : {
53+ "enabled" : { "type" : " boolean" },
54+ "name" : { "type" : " string" }
55+ },
56+ "required" : [" enabled" , " name" ],
57+ "additionalProperties" : false ,
58+ "if" : {
59+ "properties" : { "enabled" : { "const" : true } },
60+ "required" : [" enabled" ]
61+ },
62+ "then" : {
63+ "properties" : { "name" : { "type" : " string" , "minLength" : 1 } }
64+ }
65+ },
66+ "serviceAccount" : {
67+ "type" : " object" ,
68+ "properties" : {
69+ "create" : { "type" : " boolean" },
70+ "annotations" : { "type" : " object" , "additionalProperties" : { "type" : " string" } },
71+ "name" : { "type" : " string" }
72+ },
73+ "required" : [" create" , " annotations" , " name" ],
74+ "additionalProperties" : false
75+ },
76+ "podAnnotations" : { "type" : " object" , "additionalProperties" : { "type" : " string" } },
77+ "podSecurityContext" : { "type" : " object" },
78+ "securityContext" : { "type" : " object" },
79+ "readinessProbe" : { "$ref" : " #/definitions/probe" },
80+ "livenessProbe" : { "$ref" : " #/definitions/probe" },
81+ "resources" : { "type" : " object" },
82+ "autoscaling" : {
83+ "type" : " object" ,
84+ "properties" : {
85+ "enabled" : { "type" : " boolean" },
86+ "minReplicas" : { "type" : " integer" , "minimum" : 1 },
87+ "maxReplicas" : { "type" : " integer" , "minimum" : 1 },
88+ "targetCPUUtilizationPercentage" : { "type" : " integer" , "minimum" : 1 , "maximum" : 100 },
89+ "targetMemoryUtilizationPercentage" : { "type" : " integer" , "minimum" : 1 , "maximum" : 100 }
90+ },
91+ "required" : [" enabled" , " minReplicas" , " maxReplicas" ],
92+ "additionalProperties" : false
93+ },
94+ "nodeSelector" : { "type" : " object" , "additionalProperties" : { "type" : " string" } },
95+ "tolerations" : { "type" : " array" , "items" : { "type" : " object" } },
96+ "affinity" : { "type" : " object" }
97+ },
98+ "definitions" : {
99+ "probe" : {
100+ "type" : " object" ,
101+ "properties" : {
102+ "failureThreshold" : { "type" : " integer" , "minimum" : 1 },
103+ "initialDelaySeconds" : { "type" : " integer" , "minimum" : 0 },
104+ "periodSeconds" : { "type" : " integer" , "minimum" : 1 },
105+ "successThreshold" : { "type" : " integer" , "minimum" : 1 },
106+ "timeoutSeconds" : { "type" : " integer" , "minimum" : 1 }
107+ },
108+ "required" : [" failureThreshold" , " initialDelaySeconds" , " periodSeconds" , " successThreshold" , " timeoutSeconds" ],
109+ "additionalProperties" : false
110+ }
111+ }
112+ }
0 commit comments