SMO NONRTRIC - Fix service manager preload
[it/dep.git] / templates / custom-resource-definitions.yaml
1 {{- if and .Values.ingressController.enabled .Values.ingressController.installCRDs -}}
2 apiVersion: apiextensions.k8s.io/v1beta1
3 kind: CustomResourceDefinition
4 metadata:
5   name: kongconsumers.configuration.konghq.com
6   labels:
7     {{- include "kong.metaLabels" . | nindent 4 }}
8 spec:
9   group: configuration.konghq.com
10   version: v1
11   scope: Namespaced
12   names:
13     kind: KongConsumer
14     plural: kongconsumers
15     shortNames:
16     - kc
17   additionalPrinterColumns:
18   - name: Username
19     type: string
20     description: Username of a Kong Consumer
21     JSONPath: .username
22   - name: Age
23     type: date
24     description: Age
25     JSONPath: .metadata.creationTimestamp
26   validation:
27     openAPIV3Schema:
28       properties:
29         username:
30           type: string
31         custom_id:
32           type: string
33         credentials:
34           type: array
35           items:
36             type: string
37 ---
38 apiVersion: apiextensions.k8s.io/v1beta1
39 kind: CustomResourceDefinition
40 metadata:
41   name: kongcredentials.configuration.konghq.com
42   labels:
43     {{- include "kong.metaLabels" . | nindent 4 }}
44 spec:
45   group: configuration.konghq.com
46   version: v1
47   scope: Namespaced
48   names:
49     kind: KongCredential
50     plural: kongcredentials
51   additionalPrinterColumns:
52   - name: Credential-type
53     type: string
54     description: Type of credential
55     JSONPath: .type
56   - name: Age
57     type: date
58     description: Age
59     JSONPath: .metadata.creationTimestamp
60   - name: Consumer-Ref
61     type: string
62     description: Owner of the credential
63     JSONPath: .consumerRef
64   validation:
65     openAPIV3Schema:
66       required:
67       - consumerRef
68       - type
69       properties:
70         consumerRef:
71           type: string
72         type:
73           type: string
74 ---
75 apiVersion: apiextensions.k8s.io/v1beta1
76 kind: CustomResourceDefinition
77 metadata:
78   name: kongplugins.configuration.konghq.com
79   labels:
80     {{- include "kong.metaLabels" . | nindent 4 }}
81 spec:
82   group: configuration.konghq.com
83   version: v1
84   scope: Namespaced
85   names:
86     kind: KongPlugin
87     plural: kongplugins
88     shortNames:
89     - kp
90   additionalPrinterColumns:
91   - name: Plugin-Type
92     type: string
93     description: Name of the plugin
94     JSONPath: .plugin
95   - name: Age
96     type: date
97     description: Age
98     JSONPath: .metadata.creationTimestamp
99   - name: Disabled
100     type: boolean
101     description: Indicates if the plugin is disabled
102     JSONPath: .disabled
103     priority: 1
104   - name: Config
105     type: string
106     description: Configuration of the plugin
107     JSONPath: .config
108     priority: 1
109   validation:
110     openAPIV3Schema:
111       required:
112       - plugin
113       properties:
114         plugin:
115           type: string
116         disabled:
117           type: boolean
118         config:
119           type: object
120         run_on:
121           type: string
122           enum:
123           - first
124           - second
125           - all
126         protocols:
127           type: array
128           items:
129             type: string
130             enum:
131             - http
132             - https
133             - tcp
134             - tls
135             - grpc
136             - grpcs
137 ---
138 apiVersion: apiextensions.k8s.io/v1beta1
139 kind: CustomResourceDefinition
140 metadata:
141   name: kongingresses.configuration.konghq.com
142   labels:
143     {{- include "kong.metaLabels" . | nindent 4 }}
144 spec:
145   group: configuration.konghq.com
146   version: v1
147   scope: Namespaced
148   names:
149     kind: KongIngress
150     plural: kongingresses
151     shortNames:
152     - ki
153   validation:
154     openAPIV3Schema:
155       properties:
156         route:
157           properties:
158             methods:
159               type: array
160               items:
161                 type: string
162             headers:
163               type: object
164               additionalProperties:
165                 type: array
166                 items:
167                   type: string
168             regex_priority:
169               type: integer
170             strip_path:
171               type: boolean
172             preserve_host:
173               type: boolean
174             protocols:
175               type: array
176               items:
177                 type: string
178                 enum:
179                 - http
180                 - https
181                 - grpc
182                 - grpcs
183             https_redirect_status_code:
184               type: integer
185         proxy:
186           type: object
187           properties:
188             protocol:
189               type: string
190               enum:
191               - http
192               - https
193               - grpc
194               - grpcs
195             path:
196               type: string
197               pattern: ^/.*$
198             retries:
199               type: integer
200               minimum: 0
201             connect_timeout:
202               type: integer
203               minimum: 0
204             read_timeout:
205               type: integer
206               minimum: 0
207             write_timeout:
208               type: integer
209               minimum: 0
210         upstream:
211           type: object
212           properties:
213             algorithm:
214               type: string
215               enum:
216               - "round-robin"
217               - "consistent-hashing"
218               - "least-connections"
219             host_header:
220               type: string
221             hash_on:
222               type: string
223             hash_on_cookie:
224               type: string
225             hash_on_cookie_path:
226               type: string
227             hash_on_header:
228               type: string
229             hash_fallback_header:
230               type: string
231             hash_fallback:
232               type: string
233             slots:
234               type: integer
235               minimum: 10
236             healthchecks:
237               type: object
238               properties:
239                 active:
240                   type: object
241                   properties:
242                     concurrency:
243                       type: integer
244                       minimum: 1
245                     timeout:
246                       type: integer
247                       minimum: 0
248                     http_path:
249                       type: string
250                       pattern: ^/.*$
251                     healthy: &healthy
252                       type: object
253                       properties:
254                         http_statuses:
255                           type: array
256                           items:
257                             type: integer
258                         interval:
259                           type: integer
260                           minimum: 0
261                         successes:
262                           type: integer
263                           minimum: 0
264                     unhealthy: &unhealthy
265                       type: object
266                       properties:
267                         http_failures:
268                           type: integer
269                           minimum: 0
270                         http_statuses:
271                           type: array
272                           items:
273                             type: integer
274                         interval:
275                           type: integer
276                           minimum: 0
277                         tcp_failures:
278                           type: integer
279                           minimum: 0
280                         timeout:
281                           type: integer
282                           minimum: 0
283                 passive:
284                   type: object
285                   properties:
286                     healthy: *healthy
287                     unhealthy: *unhealthy
288 {{- end -}}