1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 name: couchdbcredentials.datasync.edge.ncr.com
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
8 pallet.edge.ncr.com/name: couchctl-crds
9 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
10 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
11 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
12 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
13 labels: {}
14spec:
15 group: datasync.edge.ncr.com
16 names:
17 kind: CouchDBCredential
18 listKind: CouchDBCredentialList
19 plural: couchdbcredentials
20 singular: couchdbcredential
21 scope: Namespaced
22 versions:
23 - name: v1alpha1
24 additionalPrinterColumns:
25 - name: Ready
26 type: string
27 jsonPath: .status.conditions[?(@.type=="Ready")].status
28 - name: Status
29 type: string
30 jsonPath: .status.conditions[?(@.type=="Ready")].message
31 schema:
32 openAPIV3Schema:
33 type: object
34 properties:
35 apiVersion:
36 type: string
37 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
38 kind:
39 type: string
40 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
41 metadata:
42 type: object
43 spec:
44 type: object
45 description: https://docs.couchdb.org/en/stable/intro/security.html#users-documents
46 properties:
47 name:
48 type: string
49 type:
50 type: string
51 secretRef:
52 type: object
53 description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
54 properties:
55 name:
56 type: string
57 description: name is unique within a namespace to reference a secret resource.
58 namespace:
59 type: string
60 description: namespace defines the space within which the secret name must be unique.
61 id:
62 type: string
63 roles:
64 type: array
65 items:
66 type: string
67 status:
68 type: object
69 properties:
70 conditions:
71 type: array
72 items:
73 type: object
74 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
75 properties:
76 type:
77 type: string
78 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
79 maxLength: 316
80 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
81 status:
82 type: string
83 description: status of the condition, one of True, False, Unknown.
84 enum:
85 - "True"
86 - "False"
87 - Unknown
88 lastTransitionTime:
89 type: string
90 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
91 format: date-time
92 message:
93 type: string
94 description: message is a human readable message indicating details about the transition. This may be an empty string.
95 maxLength: 32768
96 observedGeneration:
97 type: integer
98 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
99 format: int64
100 minimum: 0
101 reason:
102 type: string
103 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
104 maxLength: 1024
105 minLength: 1
106 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
107 required:
108 - lastTransitionTime
109 - message
110 - reason
111 - status
112 - type
113 served: true
114 storage: true
115 subresources:
116 status: {}
117---
118apiVersion: apiextensions.k8s.io/v1
119kind: CustomResourceDefinition
120metadata:
121 name: couchdbdatabases.datasync.edge.ncr.com
122 annotations:
123 controller-gen.kubebuilder.io/version: (unknown)
124 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
125 pallet.edge.ncr.com/name: couchctl-crds
126 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
127 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
128 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
129 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
130 labels: {}
131spec:
132 group: datasync.edge.ncr.com
133 names:
134 kind: CouchDBDatabase
135 listKind: CouchDBDatabaseList
136 plural: couchdbdatabases
137 singular: couchdbdatabase
138 scope: Namespaced
139 versions:
140 - name: v1alpha1
141 additionalPrinterColumns:
142 - name: Ready
143 type: string
144 jsonPath: .status.conditions[?(@.type=="Ready")].status
145 - name: Status
146 type: string
147 jsonPath: .status.conditions[?(@.type=="Ready")].message
148 schema:
149 openAPIV3Schema:
150 type: object
151 properties:
152 apiVersion:
153 type: string
154 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
155 kind:
156 type: string
157 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
158 metadata:
159 type: object
160 spec:
161 type: object
162 description: https://docs.couchdb.org/en/stable/ddocs/ddocs.html#creation-and-structure
163 properties:
164 name:
165 type: string
166 interval:
167 type: string
168 description: Interval is how often the object will be reconciled, in order to prevent drift.
169 retryInterval:
170 type: string
171 description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
172 security:
173 type: object
174 properties:
175 admins:
176 type: object
177 properties:
178 names:
179 type: array
180 items:
181 type: string
182 roles:
183 type: array
184 items:
185 type: string
186 members:
187 type: object
188 properties:
189 names:
190 type: array
191 items:
192 type: string
193 roles:
194 type: array
195 items:
196 type: string
197 serverRef:
198 type: object
199 properties:
200 name:
201 type: string
202 namespace:
203 type: string
204 required:
205 - name
206 - namespace
207 required:
208 - name
209 - serverRef
210 status:
211 type: object
212 default:
213 observedGeneration: -1
214 properties:
215 conditions:
216 type: array
217 items:
218 type: object
219 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
220 properties:
221 type:
222 type: string
223 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
224 maxLength: 316
225 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
226 status:
227 type: string
228 description: status of the condition, one of True, False, Unknown.
229 enum:
230 - "True"
231 - "False"
232 - Unknown
233 lastTransitionTime:
234 type: string
235 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
236 format: date-time
237 message:
238 type: string
239 description: message is a human readable message indicating details about the transition. This may be an empty string.
240 maxLength: 32768
241 observedGeneration:
242 type: integer
243 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
244 format: int64
245 minimum: 0
246 reason:
247 type: string
248 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
249 maxLength: 1024
250 minLength: 1
251 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
252 required:
253 - lastTransitionTime
254 - message
255 - reason
256 - status
257 - type
258 observedGeneration:
259 type: integer
260 format: int64
261 served: true
262 storage: true
263 subresources:
264 status: {}
265---
266apiVersion: apiextensions.k8s.io/v1
267kind: CustomResourceDefinition
268metadata:
269 name: couchdbdesigndocs.datasync.edge.ncr.com
270 annotations:
271 controller-gen.kubebuilder.io/version: (unknown)
272 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
273 pallet.edge.ncr.com/name: couchctl-crds
274 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
275 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
276 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
277 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
278 labels: {}
279spec:
280 group: datasync.edge.ncr.com
281 names:
282 kind: CouchDBDesignDoc
283 listKind: CouchDBDesignDocList
284 plural: couchdbdesigndocs
285 singular: couchdbdesigndoc
286 scope: Namespaced
287 versions:
288 - name: v1alpha1
289 additionalPrinterColumns:
290 - name: Ready
291 type: string
292 jsonPath: .status.conditions[?(@.type=="Ready")].status
293 - name: Status
294 type: string
295 jsonPath: .status.conditions[?(@.type=="Ready")].message
296 schema:
297 openAPIV3Schema:
298 type: object
299 properties:
300 apiVersion:
301 type: string
302 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
303 kind:
304 type: string
305 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
306 metadata:
307 type: object
308 spec:
309 type: object
310 description: https://docs.couchdb.org/en/stable/ddocs/ddocs.html#creation-and-structure
311 properties:
312 filters:
313 type: object
314 additionalProperties:
315 type: object
316 additionalProperties:
317 type: string
318 id:
319 type: string
320 language:
321 type: string
322 updates:
323 type: object
324 additionalProperties:
325 type: object
326 additionalProperties:
327 type: string
328 validateDocUpdate:
329 type: string
330 views:
331 type: object
332 additionalProperties:
333 type: object
334 additionalProperties:
335 type: string
336 status:
337 type: object
338 properties:
339 conditions:
340 type: array
341 items:
342 type: object
343 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
344 properties:
345 type:
346 type: string
347 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
348 maxLength: 316
349 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
350 status:
351 type: string
352 description: status of the condition, one of True, False, Unknown.
353 enum:
354 - "True"
355 - "False"
356 - Unknown
357 lastTransitionTime:
358 type: string
359 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
360 format: date-time
361 message:
362 type: string
363 description: message is a human readable message indicating details about the transition. This may be an empty string.
364 maxLength: 32768
365 observedGeneration:
366 type: integer
367 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
368 format: int64
369 minimum: 0
370 reason:
371 type: string
372 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
373 maxLength: 1024
374 minLength: 1
375 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
376 required:
377 - lastTransitionTime
378 - message
379 - reason
380 - status
381 - type
382 served: true
383 storage: true
384 subresources:
385 status: {}
386---
387apiVersion: apiextensions.k8s.io/v1
388kind: CustomResourceDefinition
389metadata:
390 name: couchdbreplicationdocs.datasync.edge.ncr.com
391 annotations:
392 controller-gen.kubebuilder.io/version: (unknown)
393 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
394 pallet.edge.ncr.com/name: couchctl-crds
395 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
396 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
397 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
398 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
399 labels: {}
400spec:
401 group: datasync.edge.ncr.com
402 names:
403 kind: CouchDBReplicationDoc
404 listKind: CouchDBReplicationDocList
405 plural: couchdbreplicationdocs
406 singular: couchdbreplicationdoc
407 scope: Namespaced
408 versions:
409 - name: v1alpha1
410 additionalPrinterColumns:
411 - name: Ready
412 type: string
413 jsonPath: .status.conditions[?(@.type=="Ready")].status
414 - name: Status
415 type: string
416 jsonPath: .status.conditions[?(@.type=="Ready")].message
417 schema:
418 openAPIV3Schema:
419 type: object
420 properties:
421 apiVersion:
422 type: string
423 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
424 kind:
425 type: string
426 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
427 metadata:
428 type: object
429 spec:
430 type: object
431 description: https://docs.couchdb.org/en/stable/replication/replicator.html#documents-describing-the-same-replication
432 properties:
433 continuous:
434 type: boolean
435 createTarget:
436 type: boolean
437 id:
438 type: string
439 source:
440 type: string
441 target:
442 type: string
443 status:
444 type: object
445 properties:
446 conditions:
447 type: array
448 items:
449 type: object
450 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
451 properties:
452 type:
453 type: string
454 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
455 maxLength: 316
456 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
457 status:
458 type: string
459 description: status of the condition, one of True, False, Unknown.
460 enum:
461 - "True"
462 - "False"
463 - Unknown
464 lastTransitionTime:
465 type: string
466 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
467 format: date-time
468 message:
469 type: string
470 description: message is a human readable message indicating details about the transition. This may be an empty string.
471 maxLength: 32768
472 observedGeneration:
473 type: integer
474 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
475 format: int64
476 minimum: 0
477 reason:
478 type: string
479 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
480 maxLength: 1024
481 minLength: 1
482 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
483 required:
484 - lastTransitionTime
485 - message
486 - reason
487 - status
488 - type
489 served: true
490 storage: true
491 subresources:
492 status: {}
493---
494apiVersion: apiextensions.k8s.io/v1
495kind: CustomResourceDefinition
496metadata:
497 name: couchdbreplicationsets.datasync.edge.ncr.com
498 annotations:
499 controller-gen.kubebuilder.io/version: (unknown)
500 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
501 pallet.edge.ncr.com/name: couchctl-crds
502 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
503 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
504 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
505 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
506 labels: {}
507spec:
508 group: datasync.edge.ncr.com
509 names:
510 kind: CouchDBReplicationSet
511 listKind: CouchDBReplicationSetList
512 plural: couchdbreplicationsets
513 singular: couchdbreplicationset
514 scope: Namespaced
515 versions:
516 - name: v1alpha1
517 additionalPrinterColumns:
518 - name: Ready
519 type: string
520 jsonPath: .status.conditions[?(@.type=="Ready")].status
521 - name: Status
522 type: string
523 jsonPath: .status.conditions[?(@.type=="Ready")].message
524 schema:
525 openAPIV3Schema:
526 type: object
527 properties:
528 apiVersion:
529 type: string
530 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
531 kind:
532 type: string
533 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
534 metadata:
535 type: object
536 spec:
537 type: object
538 properties:
539 datasets:
540 type: array
541 items:
542 type: object
543 description: Dataset represents a database and associated configuration
544 properties:
545 name:
546 type: string
547 config:
548 type: object
549 description: ReplConfig CouchDB replication settings from https://docs.couchdb.org/en/stable/json-structure.html?highlight=checkpoint_interval#replication-settings
550 properties:
551 selector:
552 type: string
553 cancel:
554 type: boolean
555 continuous:
556 type: boolean
557 create_target:
558 type: boolean
559 doc_ids:
560 type: array
561 items:
562 type: string
563 filter:
564 type: string
565 interval:
566 type: string
567 query_params:
568 type: string
569 since_seq:
570 type: string
571 source_proxy:
572 type: string
573 target_proxy:
574 type: string
575 use_checkpoints:
576 type: boolean
577 required:
578 - cancel
579 - continuous
580 - create_target
581 - doc_ids
582 - filter
583 - interval
584 - query_params
585 - selector
586 - since_seq
587 - source_proxy
588 - target_proxy
589 - use_checkpoints
590 enterprise_unit_id:
591 type: string
592 provider:
593 type: object
594 description: Provider information about the data provider
595 properties:
596 name:
597 type: string
598 required:
599 - name
600 stores:
601 type: array
602 items:
603 type: string
604 touchpoints:
605 type: array
606 items:
607 type: string
608 required:
609 - config
610 - name
611 interval:
612 type: string
613 description: Interval is how often the object will be reconciled, in order to prevent drift.
614 retryInterval:
615 type: string
616 description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
617 source:
618 type: object
619 description: 'Note: must be a ReplicationCredentials (username, password, dbname, uri)'
620 properties:
621 name:
622 type: string
623 description: name is unique within a namespace to reference a secret resource.
624 namespace:
625 type: string
626 description: namespace defines the space within which the secret name must be unique.
627 target:
628 type: object
629 properties:
630 name:
631 type: string
632 namespace:
633 type: string
634 required:
635 - name
636 - namespace
637 required:
638 - datasets
639 - source
640 - target
641 status:
642 type: object
643 default:
644 observedGeneration: -1
645 properties:
646 conditions:
647 type: array
648 items:
649 type: object
650 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
651 properties:
652 type:
653 type: string
654 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
655 maxLength: 316
656 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
657 status:
658 type: string
659 description: status of the condition, one of True, False, Unknown.
660 enum:
661 - "True"
662 - "False"
663 - Unknown
664 lastTransitionTime:
665 type: string
666 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
667 format: date-time
668 message:
669 type: string
670 description: message is a human readable message indicating details about the transition. This may be an empty string.
671 maxLength: 32768
672 observedGeneration:
673 type: integer
674 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
675 format: int64
676 minimum: 0
677 reason:
678 type: string
679 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
680 maxLength: 1024
681 minLength: 1
682 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
683 required:
684 - lastTransitionTime
685 - message
686 - reason
687 - status
688 - type
689 inventory:
690 type: array
691 description: Inventory contains a list of database names associated with the replication set
692 items:
693 type: string
694 observedGeneration:
695 type: integer
696 format: int64
697 replications:
698 type: array
699 description: Replications contains a list of replication details
700 items:
701 type: object
702 properties:
703 status:
704 type: string
705 dbname:
706 type: string
707 message:
708 type: string
709 required:
710 - dbname
711 - message
712 - status
713 served: true
714 storage: true
715 subresources:
716 status: {}
717---
718apiVersion: apiextensions.k8s.io/v1
719kind: CustomResourceDefinition
720metadata:
721 name: couchdbservers.datasync.edge.ncr.com
722 annotations:
723 controller-gen.kubebuilder.io/version: (unknown)
724 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
725 pallet.edge.ncr.com/name: couchctl-crds
726 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
727 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
728 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
729 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
730 labels: {}
731spec:
732 group: datasync.edge.ncr.com
733 names:
734 kind: CouchDBServer
735 listKind: CouchDBServerList
736 plural: couchdbservers
737 singular: couchdbserver
738 scope: Namespaced
739 versions:
740 - name: v1alpha1
741 additionalPrinterColumns:
742 - name: Ready
743 type: string
744 jsonPath: .status.conditions[?(@.type=="Ready")].status
745 - name: Status
746 type: string
747 jsonPath: .status.conditions[?(@.type=="Ready")].message
748 schema:
749 openAPIV3Schema:
750 type: object
751 properties:
752 apiVersion:
753 type: string
754 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
755 kind:
756 type: string
757 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
758 metadata:
759 type: object
760 spec:
761 type: object
762 properties:
763 type:
764 type: string
765 admin:
766 type: object
767 description: Admin contains configuration that controls how the admin user is setup
768 properties:
769 secretRef:
770 type: object
771 description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
772 properties:
773 name:
774 type: string
775 description: name is unique within a namespace to reference a secret resource.
776 namespace:
777 type: string
778 description: namespace defines the space within which the secret name must be unique.
779 cookie:
780 type: object
781 description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
782 properties:
783 name:
784 type: string
785 description: name is unique within a namespace to reference a secret resource.
786 namespace:
787 type: string
788 description: namespace defines the space within which the secret name must be unique.
789 replicationSecret:
790 type: object
791 description: ReplicationSecret configures how the GCP Secret Manager Secret for replicators is created. It is always created in the server's GCP Project
792 properties:
793 fromSecret:
794 type: object
795 description: Reference to a secret to get the replication auth from. Defaults to the value of Admin.Credentials. Allows using different auth for replication and admin
796 properties:
797 name:
798 type: string
799 description: name is unique within a namespace to reference a secret resource.
800 namespace:
801 type: string
802 description: namespace defines the space within which the secret name must be unique.
803 target:
804 type: string
805 description: The name of the Secret Manager Secret to create
806 required:
807 - target
808 admins:
809 type: object
810 additionalProperties:
811 type: string
812 attachments:
813 type: object
814 description: AttachmentConfig is the configuration for attachment storage
815 properties:
816 compressibleTypes:
817 type: array
818 description: specifies by their MIME type which types of attachments to compress
819 items:
820 type: string
821 compressionLevel:
822 type: integer
823 description: Defines zlib compression level for the attachments
824 backgroundIndex:
825 type: object
826 description: BackgroundIndexConfig Secondary indexes in CouchDB
827 properties:
828 batch_channels:
829 type: integer
830 description: BatchChannels Controls number of background view builds that can be running in parallel
831 ignoreShards:
832 type: object
833 additionalProperties:
834 type: boolean
835 description: IgnoreShardsIgnoreShards tell the background indexer to skip over specific database shard files
836 incremental_channels:
837 type: integer
838 description: IncrementalChannels Controls number of additional short jobs allowed to run concurrently with main jobs
839 max_incremental_updates:
840 type: integer
841 description: MaxIncrementalUpdates Controls whether an indexing job is "incremental" or not by looking at the difference in sequence numbers between the current index and the main database
842 base:
843 type: object
844 description: 'BaseConfig contains all configuration related CouchDB specific functionality Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/couchdb.html'
845 properties:
846 bufferSize:
847 type: integer
848 description: BufferSize Higher values may result in better read performance due to fewer read operations and/or more OS page cache hits. However, they can also increase overall response time for writes when there are many attachment write requests in parallel.
849 compression:
850 type: string
851 description: 'Compression is the method used to compress everything that is appended to database and view index files, except for attachments. Immutable. Available methods are: - `none`: no compressions - `snappy`: use Google Snappy, a very fast compressor/decompressor - `deflate_N`: use zlib’s deflate; N is the compression level which ranges from 1 (fastest, lowest compression ratio) to 9 (slowest, highest compression ratio)'
852 databaseDir:
853 type: string
854 description: DatabaseDir location of CouchDB database files (*.couch). This location should be writable and readable for the user the CouchDB service runs as (couchdb by default).
855 databaseRecovery:
856 type: boolean
857 description: DatabaseRecovery Enable this to only “soft-delete” databases.
858 defaultSecurity:
859 type: string
860 description: DefaultSecurity for access to databases. By default `admin_only` is set so only admins can read and write. When set to `admin_local`, sharded databases can be read and written by anyone but the shareds can only be read and written by admins. When set to `everyone`, anyone can perform reads and writes. Immutable.
861 driverDir:
862 type: string
863 description: DriverDir Specifies location of binary drivers (icu, ejson, etc.). This location and its contents should be readable for the user that runs the CouchDB service.
864 maintenance_mode:
865 type: string
866 description: 'MaintenanceMode A CouchDB node may be put into distinct maintenance modes: Modes: - true: The node will not respond to clustered requests from other nodes and the /_up endpoint will return a 404 response. - nolb: The /_up endpoint will return a 404 response. - false: The node responds normally, /_up returns a 200 response.'
867 maxDBsOpen:
868 type: integer
869 description: MaxDBsOpen is the upper found on the number of databases that can be open at once. Requires restart of CouchDB to take effect. Immutable.
870 maxDocSize:
871 type: integer
872 description: TODO(help_wanted) - add others, maintenance mode and lifecyle actions will need investigation
873 processTimeout:
874 type: integer
875 description: ProcessTimeout If an external process, such as a query server or external process, runs for this amount of milliseconds without returning any results, it will be terminated.
876 securityEditable:
877 type: boolean
878 description: SecurityEditable When this configuration setting is set to false, users_db_checkpoint is checked for corruption when opened.
879 singleNode:
880 type: boolean
881 description: SingleNode automatically creates the system databases on startup. Must be `false` for a clustered installation. Immutable.
882 uriFile:
883 type: string
884 description: URIFile This file contains the full URI that can be used to access this instance of CouchDB.
885 usersDBSuffix:
886 type: string
887 description: UsersDBSuffix Specifies the suffix (last component of a name) of the system database for storing CouchDB users.
888 uuid:
889 type: string
890 description: Unique identifier for the server instance. Immutable.
891 viewIndexDir:
892 type: string
893 description: ViewIndexDir Specifies location of CouchDB view index files.
894 cluster:
895 type: object
896 description: Cluster is the configuration for clustered couchdb servers
897 properties:
898 autoFinish:
899 type: boolean
900 description: If true, finish_cluster will be sent to a random node within the cluster, completing the clustered server setup
901 nodes:
902 type: integer
903 description: Unused. Number of couch servers in the cluster
904 clustering:
905 type: object
906 description: 'ClusterConfig contains all configuration options for running a multi-node clustered instance. Immutable. Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/cluster.html'
907 properties:
908 nodes:
909 type: integer
910 description: Nodes is the number of nodes in a clustered install. Sets the number of replicas of each document in a cluster with only one replica per node. Immutable.
911 placement:
912 type: string
913 description: Sets the cluster-wide replica placement policy when creating new databases. The value must be a comma-delimited list of strings of the format zone_name:#
914 reconnect_interval_sec:
915 type: integer
916 description: Period in seconds specifying how often to attempt reconnecting to disconnected nodes. There is a 25% random jitter applied to this value.
917 seedList:
918 type: array
919 description: SeedList is an optional list of node names used when joining nodes in a cluster. Immutable.
920 items:
921 type: string
922 shards:
923 type: integer
924 description: Shards is the default number of shards for newly created databases (default value is 2). Immutable.
925 csp:
926 type: object
927 description: CSPConfig is the configuration for Content Security Policy
928 properties:
929 attachmentsEnable:
930 type: boolean
931 description: specifies whether to enable the sending of the CSP header for attachments
932 attachmentsHeaderValue:
933 type: string
934 description: specifies the exact header value to send for attachments
935 enable:
936 type: boolean
937 description: specifies whether to enable the sending of the CSP header
938 headerValue:
939 type: string
940 description: specifies the default header value to send
941 showListEnable:
942 type: boolean
943 description: specifies whether to enable the sending of the CSP header for show list
944 showlistHeaderValue:
945 type: string
946 description: specifies the exact header value to send for show list
947 utilsEnable:
948 type: boolean
949 description: specifies whether to enable the sending of the CSP header for _utils
950 utilsHeaderValue:
951 type: string
952 description: specifies the exact header value to send for _utils
953 deletionPolicy:
954 type: string
955 description: 'DeletionPolicy determines what happens to the CouchDB instance when this resource is deleted. Immutable. Available options are: - `abandon`: all CouchDB resources are left alone (default) - `purge`: all CouchDB resources will also be removed'
956 ingress:
957 type: object
958 properties:
959 certificate:
960 type: object
961 description: Certificate is a reference to a ManagedCertificate to create, or use if it exists
962 properties:
963 name:
964 type: string
965 description: 'NOTE: An Ingress will reference this ManagedCertificate, so this value must match the networking.gke.io/managed-certificates annotation on the Ingress. Refer to config/anthos/manifests/namespaces/edge/couchdb/ingress-tls.yaml'
966 required:
967 - name
968 interval:
969 type: string
970 description: Interval is how often the object will be reconciled, in order to prevent drift.
971 ioq:
972 type: object
973 description: IOQConfig config from https://docs.couchdb.org/en/stable/config/ioq.html
974 properties:
975 bypass:
976 type: object
977 description: Bypass ioq bypass config belows
978 properties:
979 compaction:
980 type: boolean
981 description: Disk IO issued by compaction jobs.
982 osProcess:
983 type: boolean
984 description: Messages on their way to an external process (e.g., couchjs).
985 read:
986 type: boolean
987 description: Disk IO fulfilling interactive read requests.
988 reshard:
989 type: boolean
990 description: Disk IO issued by resharding jobs.
991 shardSync:
992 type: boolean
993 description: Disk IO issued by the background replication processes that fix any inconsistencies between shard copies.
994 viewUpdate:
995 type: boolean
996 description: Disk IO required to update views and other secondary indexes.
997 write:
998 type: boolean
999 description: Disk IO required to update a database.
1000 concurrency:
1001 type: integer
1002 description: 'Specifies the maximum number of concurrent in-flight IO requests that the queueing system will submit:'
1003 ratio:
1004 type: number
1005 description: 'The fraction of the time that a background IO request will be selected over an interactive IO request when both queues are non-empty:'
1006 log:
1007 type: object
1008 description: LogConfig from https://docs.couchdb.org/en/stable/config/logging.html
1009 properties:
1010 file:
1011 type: string
1012 description: 'Specifies the location of file for logging output. Only used by the file writer:'
1013 includeSASL:
1014 type: boolean
1015 description: Includes SASL information in logs
1016 level:
1017 type: string
1018 description: Logging level defines how verbose and detailed logging will be
1019 syslogAppid:
1020 type: string
1021 description: 'Specifies application name to the syslog writer:'
1022 syslogFacility:
1023 type: string
1024 description: 'Specifies the syslog facility to use with the syslog writer:'
1025 syslogHost:
1026 type: string
1027 description: 'Specifies the syslog host to send logs to. Only used by the syslog writer:'
1028 syslogPort:
1029 type: integer
1030 description: 'Specifies the syslog port to connect to when sending logs. Only used by the syslog writer:'
1031 writeBuffer:
1032 type: string
1033 description: Specifies the size of the file log write buffer in bytes, to enable delayed log writes Only used by the file writer
1034 writeDelay:
1035 type: string
1036 description: 'Specifies the wait in milliseconds before committing logs to disk, to enable delayed log writes. Only used by the file writer:'
1037 writer:
1038 type: string
1039 description: 'Where to send logs: stderr, file, syslog, journald or your implementation'
1040 metrics:
1041 type: object
1042 description: 'MetricsConfig contains all configuration options for managing Prometheus integration. Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/misc.html#configuration-of-prometheus-endpoint'
1043 properties:
1044 port:
1045 type: integer
1046 description: Port on which client can query Prometheus endpoint data without auth. Immutable.
1047 additionalPort:
1048 type: boolean
1049 description: AdditionalPort sets whether or not to create a separate, non-authenticated port (default is `false``)
1050 bindAddress:
1051 type: string
1052 description: BindAddress is the IP address to bind. Immutable.
1053 nativeQuery:
1054 type: object
1055 description: NativeQueryConfig CouchDB has a native Erlang query server, allowing you to write your map/reduce functions in Erlang.
1056 properties:
1057 enable:
1058 type: boolean
1059 description: Enables or disables the Native Erlang Query Server.
1060 purge:
1061 type: object
1062 description: PurgeConfig is the configuration for database purge
1063 properties:
1064 indexLagWarnSeconds:
1065 type: integer
1066 description: allowed duration when index is not updated for local purge checkpoint document
1067 maxDocumentIdNumber:
1068 type: integer
1069 description: maximum number of documents allowed in a single purge request
1070 maxRevisionsNumber:
1071 type: integer
1072 description: maximum number of accumulated revisions allowed in a single purge request
1073 query:
1074 type: object
1075 description: QueryServerConfig The external query server is a special OS process which communicates with CouchDB over standard input/output using a very simple line-based protocol with JSON messages.
1076 properties:
1077 commit_freq:
1078 type: integer
1079 description: Specifies the delay in seconds before view index changes are committed to disk.
1080 processLimit:
1081 type: integer
1082 description: Hard limit on the number of OS processes usable by Query Servers.
1083 processTimeout:
1084 type: integer
1085 description: The timeout for a process used by Query Servers.
1086 reduceLimit:
1087 type: boolean
1088 description: Controls Reduce overflow error that raises when output of reduce functions.
1089 softLimit:
1090 type: integer
1091 description: Soft limit on the number of OS processes usable by Query Servers.
1092 reSharding:
1093 type: object
1094 description: ReShardingConfig options for re sharding nodes
1095 properties:
1096 deleteSource:
1097 type: boolean
1098 description: DeleteSource Indicates if the source shard should be deleted after resharding has finished. By default, it is true
1099 maxHistory:
1100 type: integer
1101 description: MaxHistory Each resharding job maintains a timestamped event log. This setting limits the maximum size of that log
1102 maxJobs:
1103 type: integer
1104 description: MaxJobs Maximum number of resharding jobs per cluster node
1105 maxRetries:
1106 type: integer
1107 description: MaxRetries How many times to retry shard splitting steps if they fail. For example, if indexing or topping off fails, it will be retried up to this many times before the whole resharding job fails
1108 requireNodeParam:
1109 type: boolean
1110 description: RequireNodeParam Require users to specify a node
1111 requireRangeParam:
1112 type: boolean
1113 description: RequireRangeParam Require users to specify a range
1114 retryInterval:
1115 type: integer
1116 description: RetryInterval How long to wait between subsequent retries
1117 sourceCloseTimeout:
1118 type: integer
1119 description: SourceCloseTimeout How many seconds to wait for the source shard to close. “Close” in this context means that client requests which keep the database open have all finished
1120 updateTimeout:
1121 type: integer
1122 description: UpdateTimeout How many seconds to wait for the shard map update operation to complete. If there is a large number of shard db changes waiting to finish replicating, it might be beneficial to increase this timeout
1123 replicator:
1124 type: object
1125 description: 'ReplicatorConfig contains all configuration options for managing replication for this instance. Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/replicator.html'
1126 properties:
1127 authPlugins:
1128 type: string
1129 description: 'AuthPlugins list of replicator client authentication plugin: couch_replicator_auth_session,couch_replicator_auth_noop. For backwards compatibility, the no-op plugin should be used at the end of the plugin list. Immutable.'
1130 certFile:
1131 type: string
1132 description: CertFile Path to a file containing the user’s certificate. Immutable.
1133 certMaxDepth:
1134 type: integer
1135 description: CertMaxDepth Maximum peer certificate depth (must be set even if certificate validation is off). Immutable.
1136 checkpointInterval:
1137 type: integer
1138 description: CheckpointInterval replicator will request from the Source database at the specified interval in milliseconds. Immutable.
1139 connectionTimeout:
1140 type: integer
1141 description: ConnectionTimeout is the http connection timeout per replication in ms. This is divided by 3 when the replicator makes changes feed requests. Immutable.
1142 httpConnections:
1143 type: integer
1144 description: HTTPConnections Maximum number of HTTP connections per replication. Immutable.
1145 interval:
1146 type: integer
1147 description: Interval is the scheduling interval in milliseconds. Immutable.
1148 maxChurn:
1149 type: integer
1150 description: MaxChurn is the number of replication jobs to start and stop during rescheduling. Immutable.
1151 maxHistory:
1152 type: integer
1153 description: MaxHistory is the number of events recorded for each job. Immutable.
1154 maxJobs:
1155 type: integer
1156 description: MaxJobs is the number of actively running replications. Immutable.
1157 password:
1158 type: string
1159 description: Password the user’s password, only used if the private key file is password protected. Immutable.
1160 priorityCoeff:
1161 type: number
1162 description: PriorityCoeff Priority coefficient decays all the job priorities such that they slowly drift towards the front of the run queue. The value must be between 0.0 and 1.0. Immutable.
1163 replicatorShares:
1164 type: object
1165 additionalProperties:
1166 type: integer
1167 description: Fair share configuration section. Higher share values results in a higher chance that jobs from that db get to run. The default value is 100, minimum is 1 and maximum is 1000. The configuration may be set even if the database does not exist.
1168 retriesPerRequest:
1169 type: integer
1170 description: TODO(help_wanted) - handle http_connections in separate PR RetriesPerRequest if a request fails, the replicator will retry it up to N times. Immutable.
1171 socketOptions:
1172 type: string
1173 description: SocketOptions socket options that might boost performance in some scenarios.
1174 trustedCertFile:
1175 type: string
1176 description: TrustedCertFile File containing a list of peer trusted certificates (in the PEM format). Immutable.
1177 updateDocs:
1178 type: boolean
1179 description: UpdateDocs when true, replicator will update replication document with error and triggered states. Immutable.
1180 usageCoeff:
1181 type: number
1182 description: UsageCoeff Usage coefficient decays historic fair share usage every scheduling cycle. The value must be between 0.0 and 1.0. Immutable.
1183 useBulkGet:
1184 type: boolean
1185 description: UseBulkGet CouchDB will attempt to use the _bulk_get HTTP API endpoint to fetch documents from the source. Immutable.
1186 useCheckpoints:
1187 type: boolean
1188 description: UseCheckpoints CouchDB will make checkpoints during replication and at the completion of replication. Immutable.
1189 validEndpointProtocols:
1190 type: string
1191 description: ValidEndpointProtocols replication jobs with endpoint urls not in this list will fail to run. Immutable.
1192 validProxyProtocols:
1193 type: string
1194 description: ValidProxyProtocols replication jobs with proxy urls not in this list will fail to run. Immutable.
1195 validSocketOptions:
1196 type: string
1197 description: 'ValidSocketOptions valid socket options: buffer,keepalive,nodelay,priority,recbuf,sndbuf, etc... Immutable.'
1198 workerBatchSize:
1199 type: integer
1200 description: WorkerBatchSize with lower batch sizes checkpoints are done more frequently. Immutable.
1201 workerProcesses:
1202 type: integer
1203 description: WorkerProcesses More worker processes can give higher network throughput but can also imply more disk and network IO. Immutable.
1204 retryInterval:
1205 type: string
1206 description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
1207 rpc:
1208 type: object
1209 properties:
1210 bufferCount:
1211 type: integer
1212 description: The local RPC server will buffer messages if a remote node goes unavailable. This flag determines how many messages will be buffered before the local server starts dropping messages. Default value is 2000.
1213 server_per_node:
1214 type: boolean
1215 description: By default, rexi will spawn one local gen_server process for each node in the cluster. Disabling this flag will cause CouchDB to use a single process for all RPC communication, which is not recommended in high throughput deployments.
1216 stream_limit:
1217 type: integer
1218 description: This flag comes into play during streaming operations like views and change feeds. It controls how many messages a remote worker process can send to a coordinator without waiting for an acknowledgement from the coordinator process. If this value is too large the coordinator can become overwhelmed by messages from the worker processes and actually deliver lower overall throughput to the client.
1219 search:
1220 type: object
1221 description: SearchConfig CouchDB’s search subsystem can be configured via the dreyfus configuration section.
1222 properties:
1223 name:
1224 type: string
1225 description: The name and location of the Clouseau Java service required to enable Search functionality.
1226 limit:
1227 type: integer
1228 description: The number of results returned from a global search query if no limit is specified.
1229 limitPartitions:
1230 type: integer
1231 description: The number of results returned from a search on a partition of a database if no limit is specified.
1232 maxLimit:
1233 type: integer
1234 description: The maximum number of results that can be returned from a global search query.
1235 maxLimitPartitions:
1236 type: integer
1237 description: The maximum number of results that can be returned when searching a partition of a database.
1238 retryLimit:
1239 type: integer
1240 description: The number of times CouchDB will try to reconnect to Clouseau.
1241 server:
1242 type: object
1243 description: ServerConfig contains all server configuration options
1244 properties:
1245 auth:
1246 type: object
1247 description: 'AuthConfig contains all auth related configuration options. Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/auth.html#chttpd_auth'
1248 properties:
1249 XAuthRoles:
1250 type: string
1251 description: The HTTP header name (X-Auth-CouchDB-Roles by default) that contains the list of a user’s roles, separated by a comma. Used for Proxy Authentication.
1252 XAuthToken:
1253 type: string
1254 description: The HTTP header name (X-Auth-CouchDB-Token by default) containing the token used to authenticate the authorization. This token is an HMAC-SHA1 created from the chttpd_auth/secret and chttpd_auth/x_auth_username. The secret key should be the same on the client and the CouchDB node. This token is optional if the value of the chttpd_auth/proxy_use_secret option is not true. Used for Proxy Authentication.
1255 XAuthUsername:
1256 type: string
1257 description: The HTTP header name (X-Auth-CouchDB-UserName by default) containing the username. Used for Proxy Authentication.
1258 allowPersistentCookies:
1259 type: boolean
1260 description: When set to true, CouchDB will set the Max-Age and Expires attributes on the cookie, which causes user agents (like browsers) to preserve the cookie over restarts.
1261 authCacheSize:
1262 type: integer
1263 description: Number of User Context Object to cache in memory, to reduce disk lookups.
1264 authenticationRedirect:
1265 type: string
1266 description: Specifies the location for redirection on successful authentication if a text/html response is accepted by the client (via an Accept header).
1267 cookieDomain:
1268 type: string
1269 description: Configures the domain attribute of the AuthSession cookie. By default the domain attribute is empty, resulting in the cookie being set on CouchDB’s domain.
1270 hashAlgorithms:
1271 type: string
1272 description: Sets the HMAC hash algorithm used for cookie and proxy authentication. You can provide a comma-separated list of hash algorithms.
1273 iterations:
1274 type: integer
1275 description: The number of iterations for password hashing by the PBKDF2 algorithm.
1276 maxIterations:
1277 type: integer
1278 description: The maximum number of iterations allowed for passwords hashed by the PBKDF2 algorithm. Any user with greater iterations is forbidden.
1279 minIterations:
1280 type: integer
1281 description: The minimum number of iterations allowed for passwords hashed by the PBKDF2 algorithm. Any user with fewer iterations is forbidden.
1282 passwordRegexp:
1283 type: string
1284 description: A list of Regular Expressions to check new/changed passwords. When set, new user passwords must match all RegExp in this list.
1285 proxyUseSecret:
1286 type: boolean
1287 description: When this option is set to true, the chttpd_auth/secret option is required for Proxy Authentication.
1288 publicFields:
1289 type: string
1290 description: A comma-separated list of field names in user documents (in couchdb/users_db_suffix) that can be read by any user. If unset or not specified, authenticated users can only retrieve their own document.
1291 sameSite:
1292 type: string
1293 description: When this option is set to a non-empty value, a SameSite attribute is added to the AuthSession cookie. Valid values are none, lax or strict.
1294 secret:
1295 type: string
1296 description: The secret token is used for Proxy Authentication and for Cookie Authentication.
1297 timeout:
1298 type: integer
1299 description: Number of seconds since the last request before sessions will be expired.
1300 usersDbPublic:
1301 type: boolean
1302 description: Allow all users to view user documents. By default, only admins may browse all users documents, while users may browse only their own document.
1303 cors:
1304 type: object
1305 properties:
1306 credentials:
1307 type: boolean
1308 description: Credentials CouchDB will respond to a credentials-enabled CORS request with an additional header, Access-Control-Allow-Credentials=true.
1309 headers:
1310 type: array
1311 description: Headers List of accepted headers separated by a comma
1312 items:
1313 type: string
1314 maxAge:
1315 type: integer
1316 description: MaxAge Sets the Access-Control-Max-Age header in seconds. Use it to avoid repeated OPTIONS requests.
1317 methods:
1318 type: array
1319 description: Methods List of accepted methods separated by a comma
1320 items:
1321 type: string
1322 origins:
1323 type: array
1324 description: 'Origins List of origins separated by a comma, * means accept all. You can’t set origins = * and credentials = true option at the same time:'
1325 items:
1326 type: string
1327 required:
1328 - credentials
1329 - headers
1330 - maxAge
1331 - methods
1332 - origins
1333 http:
1334 type: object
1335 description: 'HTTPConfig contains all basic http configuration options. Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/http.html'
1336 properties:
1337 port:
1338 type: integer
1339 description: Defines the port number to listen
1340 XForwardedHost:
1341 type: string
1342 description: The x_forwarded_host header (X-Forwarded-Host)
1343 XForwardedProto:
1344 type: string
1345 description: The x_forwarded_proto header (X-Forwarder-Proto)
1346 XForwardedSSL:
1347 type: string
1348 description: The x_forwarded_ssl header (X-Forwarded-Ssl)
1349 adminOnlyAllDbs:
1350 type: boolean
1351 description: Whether to restrict _all_dbs to admins only
1352 allowJsonp:
1353 type: boolean
1354 description: JSONP support
1355 authenticationHandlers:
1356 type: string
1357 description: List of authentication handlers used by CouchDB
1358 bindAddress:
1359 type: string
1360 description: BindAddress is the IP by which clusterd port is available. Default value is "::" for any available. Immutable.
1361 bufferResponse:
1362 type: boolean
1363 description: Whether to buffer response
1364 bulkGetUseBatches:
1365 type: boolean
1366 description: Whether to use batches for bulk_get
1367 changesTimeout:
1368 type: integer
1369 description: ChangesTimeout is the default timeout value for changes feed in ms (default value is 60000). Immutable.
1370 configWhitelist:
1371 type: string
1372 description: Whitelist of configuration modifications
1373 enableCORS:
1374 type: boolean
1375 description: EnableCors by supporting CORS functionality, a CouchDB instance can accept direct connections to protected databases and instances, without the browser functionality being blocked due to same-origin constraints
1376 enableXframeOptions:
1377 type: boolean
1378 description: Whether to enable X-Frame-Options
1379 maxHttpRequestSize:
1380 type: integer
1381 description: Maximum size of the HTTP request body
1382 preferMinimal:
1383 type: string
1384 description: 'If a request has the header "Prefer": "return=minimal"'
1385 requireValidUser:
1386 type: boolean
1387 description: RequireValidUser is when no requests are allowed from anonymous users. Everyone must be authenticated. Immutable.
1388 requireValidUserExceptUp:
1389 type: boolean
1390 description: RequireValidUserExceptUp same behavior as RequireValidUser with the `/_up` endpoint being except. Immutable.
1391 secureRewrites:
1392 type: boolean
1393 description: Whether to isolate databases via subdomains
1394 httpd:
1395 type: object
1396 description: HTTPDConfig options
1397 properties:
1398 serverOptions:
1399 type: string
1400 description: Server options for the MochiWeb component of CouchDB can be added to the configuration files.
1401 socketOptions:
1402 type: string
1403 description: The socket options for the listening socket in CouchDB, as set at the beginning of every request, can be specified as a list of tuples. Supported options are a subset of full options supported by the TCP/IP stack.
1404 ssl:
1405 type: object
1406 description: 'SSLConfig contains all ssl related configuration options. Official CouchDB documentation: https://docs.couchdb.org/en/stable/config/http.html#https-ssl-tls-options'
1407 properties:
1408 ' cacertFile':
1409 type: string
1410 description: CacertFile Path to a file containing PEM encoded CA certificates. Immutable.
1411 certFile:
1412 type: string
1413 description: CertFile Path to a file containing the couchdb’s certificate. Immutable.
1414 certMaxDepth:
1415 type: integer
1416 description: CertMaxDepth Maximum peer certificate depth (must be set even if certificate validation is off). Immutable.
1417 ciphers:
1418 type: string
1419 description: Ciphers Set to the cipher suites that should be supported which can be specified in erlang format or in OpenSSL format. Immutable.
1420 enable:
1421 type: boolean
1422 description: Enable indicates whether to enable ssl
1423 failIfNoPeerCert:
1424 type: boolean
1425 description: FailIfNoPeerCert if set to false it will only fail if the client sends an invalid certificate (an empty certificate is considered valid)
1426 keyFile:
1427 type: string
1428 description: KeyFile Path to a file containing the couchdb’s certificate. Immutable.
1429 password:
1430 type: string
1431 description: Password the user’s password, only used if the private key file is password protected. Immutable.
1432 secureRenegotiate:
1433 type: boolean
1434 description: SecureRenegotiate Set to true to reject renegotiation attempt that does not live up to RFC 5746
1435 tls_versions:
1436 type: string
1437 description: TLSVersions Set to a list of permitted SSL/TLS protocol versions. Immutable.
1438 verifyCertificates:
1439 type: string
1440 description: VerifyCertificates Set to true to validate peer certificates:. Immutable.
1441 verifyFun:
1442 type: string
1443 description: VerifyFun The verification fun (optional) if not specified, the default verification fun will be used. Immutable.
1444 smoosh:
1445 type: object
1446 properties:
1447 capacity:
1448 type: boolean
1449 description: If set to true, the compaction daemon will delete the files for indexes that are no longer associated with any design document
1450 channels:
1451 type: object
1452 additionalProperties:
1453 type: object
1454 properties:
1455 priority:
1456 type: string
1457 description: The method used to calculate priority. Can be ratio (calculated as sizes.file/sizes.active) or slack (calculated as sizes.file - sizes.active). Defaults to ratio.
1458 capacity:
1459 type: integer
1460 description: The maximum number of items the channel can hold (lowest priority item is removed to make room for new items). Defaults to 9999
1461 concurrency:
1462 type: integer
1463 description: The maximum number of jobs that can run concurrently in this channel. Defaults to 1.
1464 from:
1465 type: string
1466 description: The time period during which this channel is allowed to execute compactions The value for each of these parameters must obey the format HH:MM with HH in [0..23] and MM in [0..59]
1467 maxPriority:
1468 type: number
1469 description: Each item must have a priority lower than this to be enqueued. Defaults to infinity.
1470 maxSize:
1471 type: number
1472 description: The item must be no larger than this many bytes in length to be enqueued. Defaults to infinity.
1473 minChanges:
1474 type: number
1475 description: The minimum number of changes since last compaction before the item will be enqueued. Defaults to 0. Currently only works for databases.
1476 minPriority:
1477 type: number
1478 description: The item must have a priority at least this high to be enqueued. Defaults to 5.0 for ratio and 16 MB for slack.
1479 minSize:
1480 type: number
1481 description: The item must be at least this many bytes in length to be enqueued. Defaults to 1mb (1048576 bytes).
1482 strictWindow:
1483 type: boolean
1484 description: If set to true, any compaction that is still running after the end of the allowed perio will be suspended, and then resumed during the next window
1485 to:
1486 type: string
1487 description: These settings control the resource allocation for a given compaction channel.
1488 cleanupChannels:
1489 type: array
1490 description: 'Special channel for compaction cleanup: index_cleanup, from https://docs.couchdb.org/en/stable/maintenance/compaction.html#channel-configuration'
1491 items:
1492 type: string
1493 compactionLogLevel:
1494 type: string
1495 description: Log level of compaction
1496 dbChannels:
1497 type: array
1498 description: A comma-delimited list of channels that are sent the names of database files when those files are updated.
1499 items:
1500 type: string
1501 staleness:
1502 type: integer
1503 description: The number of minutes that the (expensive) priority calculation on an individual can be stale for before it is recalculated. Defaults to 5.
1504 viewChannels:
1505 type: array
1506 description: A comma-delimited list of channels that are sent the names of secondary index files when those files are updated
1507 items:
1508 type: string
1509 stats:
1510 type: object
1511 description: StatisticsConfig is the configuration for statistics calculation
1512 properties:
1513 interval:
1514 type: integer
1515 description: Interval between gathering statistics in seconds
1516 uri:
1517 type: string
1518 userDB:
1519 type: object
1520 properties:
1521 deleteDBs:
1522 type: boolean
1523 description: DeleteDBs If set to true and a user is deleted, the respective database gets deleted as well.
1524 enable:
1525 type: boolean
1526 description: Enable indicates whether to enable per-user databases
1527 shards:
1528 type: integer
1529 description: Shards specifies the sharding value for per-user databases
1530 uuids:
1531 type: object
1532 description: UUIDConfig is the UUIDs configuration
1533 properties:
1534 algorithm:
1535 type: string
1536 description: algorithm to generate UUIDs
1537 maxCount:
1538 type: integer
1539 description: maximum number of UUIDs that will be sent in a single request
1540 utcIDSuffix:
1541 type: string
1542 description: UUID suffix
1543 vendor:
1544 type: object
1545 description: VendorConfig is the configuration for vendor information
1546 properties:
1547 name:
1548 type: string
1549 description: distributor name
1550 version:
1551 type: string
1552 description: distributer version
1553 required:
1554 - uri
1555 status:
1556 type: object
1557 default:
1558 observedGeneration: -1
1559 properties:
1560 conditions:
1561 type: array
1562 items:
1563 type: object
1564 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
1565 properties:
1566 type:
1567 type: string
1568 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1569 maxLength: 316
1570 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
1571 status:
1572 type: string
1573 description: status of the condition, one of True, False, Unknown.
1574 enum:
1575 - "True"
1576 - "False"
1577 - Unknown
1578 lastTransitionTime:
1579 type: string
1580 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
1581 format: date-time
1582 message:
1583 type: string
1584 description: message is a human readable message indicating details about the transition. This may be an empty string.
1585 maxLength: 32768
1586 observedGeneration:
1587 type: integer
1588 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
1589 format: int64
1590 minimum: 0
1591 reason:
1592 type: string
1593 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
1594 maxLength: 1024
1595 minLength: 1
1596 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1597 required:
1598 - lastTransitionTime
1599 - message
1600 - reason
1601 - status
1602 - type
1603 observedGeneration:
1604 type: integer
1605 format: int64
1606 served: true
1607 storage: true
1608 subresources:
1609 status: {}
1610---
1611apiVersion: apiextensions.k8s.io/v1
1612kind: CustomResourceDefinition
1613metadata:
1614 name: couchdbusers.datasync.edge.ncr.com
1615 annotations:
1616 controller-gen.kubebuilder.io/version: (unknown)
1617 pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
1618 pallet.edge.ncr.com/name: couchctl-crds
1619 pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
1620 pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
1621 pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-data-sync'
1622 pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
1623 labels: {}
1624spec:
1625 group: datasync.edge.ncr.com
1626 names:
1627 kind: CouchDBUser
1628 listKind: CouchDBUserList
1629 plural: couchdbusers
1630 singular: couchdbuser
1631 scope: Namespaced
1632 versions:
1633 - name: v1alpha1
1634 additionalPrinterColumns:
1635 - name: Ready
1636 type: string
1637 jsonPath: .status.conditions[?(@.type=="Ready")].status
1638 - name: Status
1639 type: string
1640 jsonPath: .status.conditions[?(@.type=="Ready")].message
1641 schema:
1642 openAPIV3Schema:
1643 type: object
1644 properties:
1645 apiVersion:
1646 type: string
1647 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1648 kind:
1649 type: string
1650 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1651 metadata:
1652 type: object
1653 spec:
1654 type: object
1655 description: https://docs.couchdb.org/en/3.2.0/intro/security.html?highlight=user#users-documents
1656 properties:
1657 type:
1658 type: string
1659 interval:
1660 type: string
1661 description: Interval is how often the object will be reconciled, in order to prevent drift.
1662 provider:
1663 type: object
1664 description: Provider information about the data provider
1665 properties:
1666 name:
1667 type: string
1668 required:
1669 - name
1670 retryInterval:
1671 type: string
1672 description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
1673 serverRef:
1674 type: object
1675 properties:
1676 name:
1677 type: string
1678 namespace:
1679 type: string
1680 required:
1681 - name
1682 - namespace
1683 user:
1684 type: object
1685 properties:
1686 name:
1687 type: string
1688 secretRef:
1689 type: object
1690 description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace
1691 properties:
1692 name:
1693 type: string
1694 description: name is unique within a namespace to reference a secret resource.
1695 namespace:
1696 type: string
1697 description: namespace defines the space within which the secret name must be unique.
1698 roles:
1699 type: array
1700 items:
1701 type: string
1702 required:
1703 - serverRef
1704 status:
1705 type: object
1706 default:
1707 observedGeneration: -1
1708 properties:
1709 conditions:
1710 type: array
1711 items:
1712 type: object
1713 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
1714 properties:
1715 type:
1716 type: string
1717 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1718 maxLength: 316
1719 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
1720 status:
1721 type: string
1722 description: status of the condition, one of True, False, Unknown.
1723 enum:
1724 - "True"
1725 - "False"
1726 - Unknown
1727 lastTransitionTime:
1728 type: string
1729 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
1730 format: date-time
1731 message:
1732 type: string
1733 description: message is a human readable message indicating details about the transition. This may be an empty string.
1734 maxLength: 32768
1735 observedGeneration:
1736 type: integer
1737 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
1738 format: int64
1739 minimum: 0
1740 reason:
1741 type: string
1742 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
1743 maxLength: 1024
1744 minLength: 1
1745 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1746 required:
1747 - lastTransitionTime
1748 - message
1749 - reason
1750 - status
1751 - type
1752 observedGeneration:
1753 type: integer
1754 format: int64
1755 served: true
1756 storage: true
1757 subresources:
1758 status: {}
View as plain text