Refactor Distributed Analytics project structure
[demo.git] / vnfs / DAaaS / deploy / messaging / charts / strimzi-kafka-operator / templates / 041-Crd-kafkaconnect.yaml
1 apiVersion: apiextensions.k8s.io/v1beta1
2 kind: CustomResourceDefinition
3 metadata:
4   name: kafkaconnects.kafka.strimzi.io
5   labels:
6     app: '{{ template "strimzi.name" . }}'
7     chart: '{{ template "strimzi.chart" . }}'
8     component: kafkaconnects.kafka.strimzi.io-crd
9     release: '{{ .Release.Name }}'
10     heritage: '{{ .Release.Service }}'
11   annotations:
12     "helm.sh/hook": crd-install
13     "helm.sh/hook-delete-policy": "before-hook-creation"
14 spec:
15   group: kafka.strimzi.io
16   version: v1alpha1
17   scope: Namespaced
18   names:
19     kind: KafkaConnect
20     listKind: KafkaConnectList
21     singular: kafkaconnect
22     plural: kafkaconnects
23     shortNames:
24     - kc
25   validation:
26     openAPIV3Schema:
27       properties:
28         spec:
29           type: object
30           properties:
31             replicas:
32               type: integer
33             image:
34               type: string
35             livenessProbe:
36               type: object
37               properties:
38                 initialDelaySeconds:
39                   type: integer
40                   minimum: 0
41                 timeoutSeconds:
42                   type: integer
43                   minimum: 0
44             readinessProbe:
45               type: object
46               properties:
47                 initialDelaySeconds:
48                   type: integer
49                   minimum: 0
50                 timeoutSeconds:
51                   type: integer
52                   minimum: 0
53             jvmOptions:
54               type: object
55               properties:
56                 -XX:
57                   type: object
58                 -Xms:
59                   type: string
60                   pattern: '[0-9]+[mMgG]?'
61                 -Xmx:
62                   type: string
63                   pattern: '[0-9]+[mMgG]?'
64                 gcLoggingEnabled:
65                   type: boolean
66             affinity:
67               type: object
68               properties:
69                 nodeAffinity:
70                   type: object
71                   properties:
72                     preferredDuringSchedulingIgnoredDuringExecution:
73                       type: array
74                       items:
75                         type: object
76                         properties:
77                           preference:
78                             type: object
79                             properties:
80                               matchExpressions:
81                                 type: array
82                                 items:
83                                   type: object
84                                   properties:
85                                     key:
86                                       type: string
87                                     operator:
88                                       type: string
89                                     values:
90                                       type: array
91                                       items:
92                                         type: string
93                               matchFields:
94                                 type: array
95                                 items:
96                                   type: object
97                                   properties:
98                                     key:
99                                       type: string
100                                     operator:
101                                       type: string
102                                     values:
103                                       type: array
104                                       items:
105                                         type: string
106                           weight:
107                             type: integer
108                     requiredDuringSchedulingIgnoredDuringExecution:
109                       type: object
110                       properties:
111                         nodeSelectorTerms:
112                           type: array
113                           items:
114                             type: object
115                             properties:
116                               matchExpressions:
117                                 type: array
118                                 items:
119                                   type: object
120                                   properties:
121                                     key:
122                                       type: string
123                                     operator:
124                                       type: string
125                                     values:
126                                       type: array
127                                       items:
128                                         type: string
129                               matchFields:
130                                 type: array
131                                 items:
132                                   type: object
133                                   properties:
134                                     key:
135                                       type: string
136                                     operator:
137                                       type: string
138                                     values:
139                                       type: array
140                                       items:
141                                         type: string
142                 podAffinity:
143                   type: object
144                   properties:
145                     preferredDuringSchedulingIgnoredDuringExecution:
146                       type: array
147                       items:
148                         type: object
149                         properties:
150                           podAffinityTerm:
151                             type: object
152                             properties:
153                               labelSelector:
154                                 type: object
155                                 properties:
156                                   matchExpressions:
157                                     type: array
158                                     items:
159                                       type: object
160                                       properties:
161                                         key:
162                                           type: string
163                                         operator:
164                                           type: string
165                                         values:
166                                           type: array
167                                           items:
168                                             type: string
169                                   matchLabels:
170                                     type: object
171                               namespaces:
172                                 type: array
173                                 items:
174                                   type: string
175                               topologyKey:
176                                 type: string
177                           weight:
178                             type: integer
179                     requiredDuringSchedulingIgnoredDuringExecution:
180                       type: array
181                       items:
182                         type: object
183                         properties:
184                           labelSelector:
185                             type: object
186                             properties:
187                               matchExpressions:
188                                 type: array
189                                 items:
190                                   type: object
191                                   properties:
192                                     key:
193                                       type: string
194                                     operator:
195                                       type: string
196                                     values:
197                                       type: array
198                                       items:
199                                         type: string
200                               matchLabels:
201                                 type: object
202                           namespaces:
203                             type: array
204                             items:
205                               type: string
206                           topologyKey:
207                             type: string
208                 podAntiAffinity:
209                   type: object
210                   properties:
211                     preferredDuringSchedulingIgnoredDuringExecution:
212                       type: array
213                       items:
214                         type: object
215                         properties:
216                           podAffinityTerm:
217                             type: object
218                             properties:
219                               labelSelector:
220                                 type: object
221                                 properties:
222                                   matchExpressions:
223                                     type: array
224                                     items:
225                                       type: object
226                                       properties:
227                                         key:
228                                           type: string
229                                         operator:
230                                           type: string
231                                         values:
232                                           type: array
233                                           items:
234                                             type: string
235                                   matchLabels:
236                                     type: object
237                               namespaces:
238                                 type: array
239                                 items:
240                                   type: string
241                               topologyKey:
242                                 type: string
243                           weight:
244                             type: integer
245                     requiredDuringSchedulingIgnoredDuringExecution:
246                       type: array
247                       items:
248                         type: object
249                         properties:
250                           labelSelector:
251                             type: object
252                             properties:
253                               matchExpressions:
254                                 type: array
255                                 items:
256                                   type: object
257                                   properties:
258                                     key:
259                                       type: string
260                                     operator:
261                                       type: string
262                                     values:
263                                       type: array
264                                       items:
265                                         type: string
266                               matchLabels:
267                                 type: object
268                           namespaces:
269                             type: array
270                             items:
271                               type: string
272                           topologyKey:
273                             type: string
274             tolerations:
275               type: array
276               items:
277                 type: object
278                 properties:
279                   effect:
280                     type: string
281                   key:
282                     type: string
283                   operator:
284                     type: string
285                   tolerationSeconds:
286                     type: integer
287                   value:
288                     type: string
289             logging:
290               type: object
291               properties:
292                 loggers:
293                   type: object
294                 name:
295                   type: string
296                 type:
297                   type: string
298                   enum:
299                   - inline
300                   - external
301               required:
302               - type
303             metrics:
304               type: object
305             template:
306               type: object
307               properties:
308                 deployment:
309                   type: object
310                   properties:
311                     metadata:
312                       type: object
313                       properties:
314                         labels:
315                           type: object
316                         annotations:
317                           type: object
318                 pod:
319                   type: object
320                   properties:
321                     metadata:
322                       type: object
323                       properties:
324                         labels:
325                           type: object
326                         annotations:
327                           type: object
328                     imagePullSecrets:
329                       type: array
330                       items:
331                         type: object
332                         properties:
333                           name:
334                             type: string
335                     securityContext:
336                       type: object
337                       properties:
338                         fsGroup:
339                           type: integer
340                         runAsGroup:
341                           type: integer
342                         runAsNonRoot:
343                           type: boolean
344                         runAsUser:
345                           type: integer
346                         seLinuxOptions:
347                           type: object
348                           properties:
349                             level:
350                               type: string
351                             role:
352                               type: string
353                             type:
354                               type: string
355                             user:
356                               type: string
357                         supplementalGroups:
358                           type: array
359                           items:
360                             type: integer
361                         sysctls:
362                           type: array
363                           items:
364                             type: object
365                             properties:
366                               name:
367                                 type: string
368                               value:
369                                 type: string
370                     terminationGracePeriodSeconds:
371                       type: integer
372                       minimum: 0
373                 apiService:
374                   type: object
375                   properties:
376                     metadata:
377                       type: object
378                       properties:
379                         labels:
380                           type: object
381                         annotations:
382                           type: object
383                 podDisruptionBudget:
384                   type: object
385                   properties:
386                     metadata:
387                       type: object
388                       properties:
389                         labels:
390                           type: object
391                         annotations:
392                           type: object
393                     maxUnavailable:
394                       type: integer
395                       minimum: 0
396             authentication:
397               type: object
398               properties:
399                 certificateAndKey:
400                   type: object
401                   properties:
402                     certificate:
403                       type: string
404                     key:
405                       type: string
406                     secretName:
407                       type: string
408                   required:
409                   - certificate
410                   - key
411                   - secretName
412                 passwordSecret:
413                   type: object
414                   properties:
415                     password:
416                       type: string
417                     secretName:
418                       type: string
419                   required:
420                   - password
421                   - secretName
422                 type:
423                   type: string
424                   enum:
425                   - tls
426                   - scram-sha-512
427                 username:
428                   type: string
429               required:
430               - type
431             bootstrapServers:
432               type: string
433             config:
434               type: object
435             externalConfiguration:
436               type: object
437               properties:
438                 env:
439                   type: array
440                   items:
441                     type: object
442                     properties:
443                       name:
444                         type: string
445                       valueFrom:
446                         type: object
447                         properties:
448                           configMapKeyRef:
449                             type: object
450                             properties:
451                               key:
452                                 type: string
453                               name:
454                                 type: string
455                               optional:
456                                 type: boolean
457                           secretKeyRef:
458                             type: object
459                             properties:
460                               key:
461                                 type: string
462                               name:
463                                 type: string
464                               optional:
465                                 type: boolean
466                     required:
467                     - name
468                     - valueFrom
469                 volumes:
470                   type: array
471                   items:
472                     type: object
473                     properties:
474                       configMap:
475                         type: object
476                         properties:
477                           defaultMode:
478                             type: integer
479                           items:
480                             type: array
481                             items:
482                               type: object
483                               properties:
484                                 key:
485                                   type: string
486                                 mode:
487                                   type: integer
488                                 path:
489                                   type: string
490                           name:
491                             type: string
492                           optional:
493                             type: boolean
494                       name:
495                         type: string
496                       secret:
497                         type: object
498                         properties:
499                           defaultMode:
500                             type: integer
501                           items:
502                             type: array
503                             items:
504                               type: object
505                               properties:
506                                 key:
507                                   type: string
508                                 mode:
509                                   type: integer
510                                 path:
511                                   type: string
512                           optional:
513                             type: boolean
514                           secretName:
515                             type: string
516                     required:
517                     - name
518             resources:
519               type: object
520               properties:
521                 limits:
522                   type: object
523                   properties:
524                     cpu:
525                       type: string
526                       pattern: '[0-9]+m?$'
527                     memory:
528                       type: string
529                       pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$'
530                 requests:
531                   type: object
532                   properties:
533                     cpu:
534                       type: string
535                       pattern: '[0-9]+m?$'
536                     memory:
537                       type: string
538                       pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$'
539             tls:
540               type: object
541               properties:
542                 trustedCertificates:
543                   type: array
544                   items:
545                     type: object
546                     properties:
547                       certificate:
548                         type: string
549                       secretName:
550                         type: string
551                     required:
552                     - certificate
553                     - secretName
554               required:
555               - trustedCertificates
556             version:
557               type: string
558           required:
559           - bootstrapServers