1+ {
2+ "$schema" : " http://json-schema.org/draft-07/schema#" ,
3+ "additionalProperties" : false ,
4+ "properties" : {
5+ "additionalEnvFromConfigMap" : {
6+ "default" : " " ,
7+ "description" : " defguard-gateway pod additional ENV from configmap" ,
8+ "title" : " additionalEnvFromConfigMap" ,
9+ "type" : " string"
10+ },
11+ "affinity" : {
12+ "additionalProperties" : false ,
13+ "description" : " defguard-gateway pod affinity configuration" ,
14+ "required" : [],
15+ "title" : " affinity" ,
16+ "type" : " object"
17+ },
18+ "existingTokenSecret" : {
19+ "default" : " " ,
20+ "description" : " Secret to get the token from" ,
21+ "title" : " existingTokenSecret" ,
22+ "type" : " string"
23+ },
24+ "existingTokenSecretKey" : {
25+ "default" : " " ,
26+ "description" : " Key to extract the token from in existingTokenSecret" ,
27+ "title" : " existingTokenSecretKey" ,
28+ "type" : " string"
29+ },
30+ "fullnameOverride" : {
31+ "default" : " " ,
32+ "description" : " defguard-gateway full name override" ,
33+ "title" : " fullnameOverride" ,
34+ "type" : " string"
35+ },
36+ "global" : {
37+ "description" : " Global values are values that can be accessed from any chart or subchart by exactly the same name." ,
38+ "required" : [],
39+ "title" : " global" ,
40+ "type" : " object"
41+ },
42+ "grpcUrl" : {
43+ "default" : " " ,
44+ "description" : " Defguard GRPC URL, e.g.: defguard-grpc.mycompany.com" ,
45+ "title" : " grpcUrl" ,
46+ "type" : " string"
47+ },
48+ "healthCheck" : {
49+ "additionalProperties" : false ,
50+ "description" : " defguard-gateway health check configuration" ,
51+ "properties" : {
52+ "enabled" : {
53+ "default" : false ,
54+ "title" : " enabled" ,
55+ "type" : " boolean"
56+ },
57+ "livenessProbe" : {
58+ "additionalProperties" : false ,
59+ "properties" : {
60+ "failureThreshold" : {
61+ "default" : 3 ,
62+ "title" : " failureThreshold" ,
63+ "type" : " integer"
64+ },
65+ "initialDelaySeconds" : {
66+ "default" : 30 ,
67+ "title" : " initialDelaySeconds" ,
68+ "type" : " integer"
69+ },
70+ "periodSeconds" : {
71+ "default" : 10 ,
72+ "title" : " periodSeconds" ,
73+ "type" : " integer"
74+ },
75+ "timeoutSeconds" : {
76+ "default" : 5 ,
77+ "title" : " timeoutSeconds" ,
78+ "type" : " integer"
79+ }
80+ },
81+ "required" : [
82+ " initialDelaySeconds" ,
83+ " periodSeconds" ,
84+ " timeoutSeconds" ,
85+ " failureThreshold"
86+ ],
87+ "title" : " livenessProbe" ,
88+ "type" : " object"
89+ },
90+ "port" : {
91+ "default" : 35053 ,
92+ "title" : " port" ,
93+ "type" : " integer"
94+ },
95+ "readinessProbe" : {
96+ "additionalProperties" : false ,
97+ "properties" : {
98+ "failureThreshold" : {
99+ "default" : 3 ,
100+ "title" : " failureThreshold" ,
101+ "type" : " integer"
102+ },
103+ "initialDelaySeconds" : {
104+ "default" : 10 ,
105+ "title" : " initialDelaySeconds" ,
106+ "type" : " integer"
107+ },
108+ "periodSeconds" : {
109+ "default" : 10 ,
110+ "title" : " periodSeconds" ,
111+ "type" : " integer"
112+ },
113+ "timeoutSeconds" : {
114+ "default" : 5 ,
115+ "title" : " timeoutSeconds" ,
116+ "type" : " integer"
117+ }
118+ },
119+ "required" : [
120+ " initialDelaySeconds" ,
121+ " periodSeconds" ,
122+ " timeoutSeconds" ,
123+ " failureThreshold"
124+ ],
125+ "title" : " readinessProbe" ,
126+ "type" : " object"
127+ }
128+ },
129+ "required" : [
130+ " enabled" ,
131+ " port" ,
132+ " livenessProbe" ,
133+ " readinessProbe"
134+ ],
135+ "title" : " healthCheck" ,
136+ "type" : " object"
137+ },
138+ "image" : {
139+ "additionalProperties" : false ,
140+ "description" : " defguard-gateway container image configuration" ,
141+ "properties" : {
142+ "pullPolicy" : {
143+ "default" : " IfNotPresent" ,
144+ "title" : " pullPolicy" ,
145+ "type" : " string"
146+ },
147+ "repository" : {
148+ "default" : " ghcr.io/defguard/gateway" ,
149+ "title" : " repository" ,
150+ "type" : " string"
151+ },
152+ "tag" : {
153+ "default" : " " ,
154+ "title" : " tag" ,
155+ "type" : " string"
156+ }
157+ },
158+ "required" : [
159+ " pullPolicy" ,
160+ " repository" ,
161+ " tag"
162+ ],
163+ "title" : " image" ,
164+ "type" : " object"
165+ },
166+ "imagePullSecrets" : {
167+ "description" : " defguard-gateway container image pull secrets" ,
168+ "items" : {
169+ "required" : []
170+ },
171+ "title" : " imagePullSecrets" ,
172+ "type" : " array"
173+ },
174+ "logLevel" : {
175+ "default" : " debug" ,
176+ "description" : " rust log level, default is debug" ,
177+ "title" : " logLevel" ,
178+ "type" : " string"
179+ },
180+ "nameOverride" : {
181+ "default" : " " ,
182+ "description" : " defguard-gateway name override" ,
183+ "title" : " nameOverride" ,
184+ "type" : " string"
185+ },
186+ "nodeSelector" : {
187+ "additionalProperties" : false ,
188+ "description" : " defguard-gateway node selector configuration" ,
189+ "required" : [],
190+ "title" : " nodeSelector" ,
191+ "type" : " object"
192+ },
193+ "podAnnotations" : {
194+ "additionalProperties" : false ,
195+ "description" : " defguard-gateway pod annotations" ,
196+ "required" : [],
197+ "title" : " podAnnotations" ,
198+ "type" : " object"
199+ },
200+ "podLabels" : {
201+ "additionalProperties" : false ,
202+ "description" : " defguard-gateway pod labels" ,
203+ "required" : [],
204+ "title" : " podLabels" ,
205+ "type" : " object"
206+ },
207+ "podSecurityContext" : {
208+ "additionalProperties" : false ,
209+ "description" : " defguard-gateway pod security context" ,
210+ "required" : [],
211+ "title" : " podSecurityContext" ,
212+ "type" : " object"
213+ },
214+ "replicaCount" : {
215+ "default" : 1 ,
216+ "description" : " defguard-gateway pod replica count" ,
217+ "title" : " replicaCount" ,
218+ "type" : " integer"
219+ },
220+ "resources" : {
221+ "additionalProperties" : false ,
222+ "description" : " defguard-gateway pod resources" ,
223+ "required" : [],
224+ "title" : " resources" ,
225+ "type" : " object"
226+ },
227+ "securityContext" : {
228+ "additionalProperties" : false ,
229+ "description" : " defguard-gateway container security context\n elevated priveleges are required for managing network interfaces" ,
230+ "properties" : {
231+ "allowPrivilegeEscalation" : {
232+ "default" : true ,
233+ "title" : " allowPrivilegeEscalation" ,
234+ "type" : " boolean"
235+ },
236+ "capabilities" : {
237+ "additionalProperties" : false ,
238+ "properties" : {
239+ "add" : {
240+ "items" : {
241+ "anyOf" : [
242+ {
243+ "type" : " string"
244+ },
245+ {
246+ "type" : " string"
247+ }
248+ ],
249+ "required" : []
250+ },
251+ "title" : " add" ,
252+ "type" : " array"
253+ }
254+ },
255+ "required" : [
256+ " add"
257+ ],
258+ "title" : " capabilities" ,
259+ "type" : " object"
260+ },
261+ "privileged" : {
262+ "default" : true ,
263+ "title" : " privileged" ,
264+ "type" : " boolean"
265+ }
266+ },
267+ "required" : [
268+ " allowPrivilegeEscalation" ,
269+ " privileged" ,
270+ " capabilities"
271+ ],
272+ "title" : " securityContext" ,
273+ "type" : " object"
274+ },
275+ "service" : {
276+ "additionalProperties" : false ,
277+ "description" : " defguard-gateway service configuration" ,
278+ "properties" : {
279+ "wireguard" : {
280+ "additionalProperties" : false ,
281+ "properties" : {
282+ "annotations" : {
283+ "additionalProperties" : false ,
284+ "required" : [],
285+ "title" : " annotations" ,
286+ "type" : " object"
287+ },
288+ "labels" : {
289+ "additionalProperties" : false ,
290+ "required" : [],
291+ "title" : " labels" ,
292+ "type" : " object"
293+ },
294+ "port" : {
295+ "default" : 32140 ,
296+ "title" : " port" ,
297+ "type" : " integer"
298+ },
299+ "type" : {
300+ "default" : " ClusterIP" ,
301+ "title" : " type" ,
302+ "type" : " string"
303+ }
304+ },
305+ "required" : [
306+ " annotations" ,
307+ " labels" ,
308+ " port" ,
309+ " type"
310+ ],
311+ "title" : " wireguard" ,
312+ "type" : " object"
313+ }
314+ },
315+ "required" : [
316+ " wireguard"
317+ ],
318+ "title" : " service" ,
319+ "type" : " object"
320+ },
321+ "serviceAccount" : {
322+ "additionalProperties" : false ,
323+ "description" : " defguard-gateway serviceaccount configuration" ,
324+ "properties" : {
325+ "annotations" : {
326+ "additionalProperties" : false ,
327+ "required" : [],
328+ "title" : " annotations" ,
329+ "type" : " object"
330+ },
331+ "create" : {
332+ "default" : true ,
333+ "title" : " create" ,
334+ "type" : " boolean"
335+ }
336+ },
337+ "required" : [
338+ " annotations" ,
339+ " create"
340+ ],
341+ "title" : " serviceAccount" ,
342+ "type" : " object"
343+ },
344+ "statsPeriod" : {
345+ "default" : 30 ,
346+ "description" : " Defines how often (in seconds) should interface statistics be sent to Defguard server" ,
347+ "title" : " statsPeriod" ,
348+ "type" : " integer"
349+ },
350+ "token" : {
351+ "default" : " " ,
352+ "description" : " Token from Defguard app to secure gRPC connection, available on network page.\n It is not recommended to use this. Create a secret yourself and use existingTokenSecret instead" ,
353+ "title" : " token" ,
354+ "type" : " string"
355+ },
356+ "tolerations" : {
357+ "description" : " defguard-gateway pod tolerations" ,
358+ "items" : {
359+ "required" : []
360+ },
361+ "title" : " tolerations" ,
362+ "type" : " array"
363+ },
364+ "userspace" : {
365+ "default" : " false" ,
366+ "description" : " Use userspace wireguard implementation, useful on systems without native wireguard support. Set to true/false" ,
367+ "title" : " userspace" ,
368+ "type" : " string"
369+ }
370+ },
371+ "required" : [
372+ " userspace" ,
373+ " grpcUrl" ,
374+ " token" ,
375+ " existingTokenSecret" ,
376+ " existingTokenSecretKey" ,
377+ " statsPeriod" ,
378+ " logLevel" ,
379+ " fullnameOverride" ,
380+ " nameOverride" ,
381+ " image" ,
382+ " imagePullSecrets" ,
383+ " affinity" ,
384+ " nodeSelector" ,
385+ " tolerations" ,
386+ " podAnnotations" ,
387+ " podLabels" ,
388+ " replicaCount" ,
389+ " resources" ,
390+ " podSecurityContext" ,
391+ " securityContext" ,
392+ " additionalEnvFromConfigMap" ,
393+ " healthCheck" ,
394+ " service" ,
395+ " serviceAccount"
396+ ],
397+ "type" : " object"
398+ }
0 commit comments