github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/apps.kubeblocks.io_configconstraints.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.12.1 6 labels: 7 app.kubernetes.io/name: kubeblocks 8 name: configconstraints.apps.kubeblocks.io 9 spec: 10 group: apps.kubeblocks.io 11 names: 12 categories: 13 - kubeblocks 14 kind: ConfigConstraint 15 listKind: ConfigConstraintList 16 plural: configconstraints 17 shortNames: 18 - cc 19 singular: configconstraint 20 scope: Cluster 21 versions: 22 - additionalPrinterColumns: 23 - description: status phase 24 jsonPath: .status.phase 25 name: PHASE 26 type: string 27 - jsonPath: .metadata.creationTimestamp 28 name: AGE 29 type: date 30 name: v1alpha1 31 schema: 32 openAPIV3Schema: 33 description: ConfigConstraint is the Schema for the configconstraint API 34 properties: 35 apiVersion: 36 description: 'APIVersion defines the versioned schema of this representation 37 of an object. Servers should convert recognized schemas to the latest 38 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 39 type: string 40 kind: 41 description: 'Kind is a string value representing the REST resource this 42 object represents. Servers may infer this from the endpoint the client 43 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 44 type: string 45 metadata: 46 type: object 47 spec: 48 description: ConfigConstraintSpec defines the desired state of ConfigConstraint 49 properties: 50 cfgSchemaTopLevelName: 51 description: cfgSchemaTopLevelName is cue type name, which generates 52 openapi schema. 53 type: string 54 configurationSchema: 55 description: configurationSchema imposes restrictions on database 56 parameter's rule. 57 properties: 58 cue: 59 description: cue that to let provider verify user configuration 60 through cue language. 61 type: string 62 schema: 63 description: schema provides a way for providers to validate the 64 changed parameters through json. 65 x-kubernetes-preserve-unknown-fields: true 66 type: object 67 downwardAPIOptions: 68 description: downwardAPIOptions is used to watch pod fields. 69 items: 70 properties: 71 command: 72 description: command used to execute for downwrad api. 73 items: 74 type: string 75 type: array 76 items: 77 description: Items is a list of downward API volume file 78 items: 79 description: DownwardAPIVolumeFile represents information 80 to create the file containing the pod field 81 properties: 82 fieldRef: 83 description: 'Required: Selects a field of the pod: only 84 annotations, labels, name and namespace are supported.' 85 properties: 86 apiVersion: 87 description: Version of the schema the FieldPath is 88 written in terms of, defaults to "v1". 89 type: string 90 fieldPath: 91 description: Path of the field to select in the specified 92 API version. 93 type: string 94 required: 95 - fieldPath 96 type: object 97 x-kubernetes-map-type: atomic 98 mode: 99 description: 'Optional: mode bits used to set permissions 100 on this file, must be an octal value between 0000 and 101 0777 or a decimal value between 0 and 511. YAML accepts 102 both octal and decimal values, JSON requires decimal 103 values for mode bits. If not specified, the volume defaultMode 104 will be used. This might be in conflict with other options 105 that affect the file mode, like fsGroup, and the result 106 can be other mode bits set.' 107 format: int32 108 type: integer 109 path: 110 description: 'Required: Path is the relative path name 111 of the file to be created. Must not be absolute or contain 112 the ''..'' path. Must be utf-8 encoded. The first item 113 of the relative path must not start with ''..''' 114 type: string 115 resourceFieldRef: 116 description: 'Selects a resource of the container: only 117 resources limits and requests (limits.cpu, limits.memory, 118 requests.cpu and requests.memory) are currently supported.' 119 properties: 120 containerName: 121 description: 'Container name: required for volumes, 122 optional for env vars' 123 type: string 124 divisor: 125 anyOf: 126 - type: integer 127 - type: string 128 description: Specifies the output format of the exposed 129 resources, defaults to "1" 130 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 131 x-kubernetes-int-or-string: true 132 resource: 133 description: 'Required: resource to select' 134 type: string 135 required: 136 - resource 137 type: object 138 x-kubernetes-map-type: atomic 139 required: 140 - path 141 type: object 142 type: array 143 mountPoint: 144 description: mountPoint is the mount point of the scripts file. 145 maxLength: 128 146 type: string 147 name: 148 description: Specify the name of the field. 149 maxLength: 63 150 pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$ 151 type: string 152 required: 153 - items 154 - mountPoint 155 - name 156 type: object 157 type: array 158 dynamicParameters: 159 description: dynamicParameters, list of DynamicParameter, modifications 160 of them trigger a config dynamic reload without process restart. 161 items: 162 type: string 163 type: array 164 x-kubernetes-list-type: set 165 formatterConfig: 166 description: formatterConfig describes the format of the configuration 167 file, the controller 1. parses configuration file 2. analyzes the 168 modified parameters 3. applies corresponding policies. 169 properties: 170 format: 171 description: "The configuration file format. Valid values are 172 ini, xml, yaml, json, hcl, dotenv, properties and toml. \n ini: 173 a configuration file that consists of a text-based content with 174 a structure and syntax comprising key–value pairs for properties, 175 reference wiki: https://en.wikipedia.org/wiki/INI_file xml: 176 reference wiki: https://en.wikipedia.org/wiki/XML yaml: a configuration 177 file support for complex data types and structures. json: reference 178 wiki: https://en.wikipedia.org/wiki/JSON hcl: : The HashiCorp 179 Configuration Language (HCL) is a configuration language authored 180 by HashiCorp, reference url: https://www.linode.com/docs/guides/introduction-to-hcl/ 181 dotenv: this was a plain text file with simple key–value pairs, 182 reference wiki: https://en.wikipedia.org/wiki/Configuration_file#MS-DOS 183 properties: a file extension mainly used in Java, reference 184 wiki: https://en.wikipedia.org/wiki/.properties toml: reference 185 wiki: https://en.wikipedia.org/wiki/TOML props-plus: a file 186 extension mainly used in Java, support CamelCase(e.g: brokerMaxConnectionsPerIp)" 187 enum: 188 - xml 189 - ini 190 - yaml 191 - json 192 - hcl 193 - dotenv 194 - toml 195 - properties 196 - redis 197 - props-plus 198 type: string 199 iniConfig: 200 description: iniConfig represents the ini options. 201 properties: 202 sectionName: 203 description: sectionName describes ini section. 204 type: string 205 type: object 206 required: 207 - format 208 type: object 209 immutableParameters: 210 description: immutableParameters describes parameters that prohibit 211 user from modification. 212 items: 213 type: string 214 type: array 215 x-kubernetes-list-type: set 216 reloadOptions: 217 description: reloadOptions indicates whether the process supports 218 reload. if set, the controller will determine the behavior of the 219 engine instance based on the configuration templates, restart or 220 reload depending on whether any parameters in the StaticParameters 221 have been modified. 222 properties: 223 shellTrigger: 224 description: shellTrigger performs the reload command. 225 properties: 226 command: 227 description: command used to execute for reload. 228 items: 229 type: string 230 type: array 231 sync: 232 description: Specify synchronize updates parameters to the 233 config manager. 234 type: boolean 235 required: 236 - command 237 type: object 238 tplScriptTrigger: 239 description: goTplTrigger performs the reload command. 240 properties: 241 namespace: 242 default: default 243 description: Specify the namespace of the referenced the tpl 244 script ConfigMap object. An empty namespace is equivalent 245 to the "default" namespace. 246 maxLength: 63 247 pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$ 248 type: string 249 scriptConfigMapRef: 250 description: scriptConfigMapRef used to execute for reload. 251 type: string 252 sync: 253 description: Specify synchronize updates parameters to the 254 config manager. 255 type: boolean 256 required: 257 - scriptConfigMapRef 258 type: object 259 unixSignalTrigger: 260 description: unixSignalTrigger used to reload by sending a signal. 261 properties: 262 processName: 263 description: processName is process name, sends unix signal 264 to proc. 265 type: string 266 signal: 267 description: 'signal is valid for unix signal. e.g: SIGHUP 268 url: ../../pkg/configuration/configmap/handler.go:allUnixSignals' 269 enum: 270 - SIGHUP 271 - SIGINT 272 - SIGQUIT 273 - SIGILL 274 - SIGTRAP 275 - SIGABRT 276 - SIGBUS 277 - SIGFPE 278 - SIGKILL 279 - SIGUSR1 280 - SIGSEGV 281 - SIGUSR2 282 - SIGPIPE 283 - SIGALRM 284 - SIGTERM 285 - SIGSTKFLT 286 - SIGCHLD 287 - SIGCONT 288 - SIGSTOP 289 - SIGTSTP 290 - SIGTTIN 291 - SIGTTOU 292 - SIGURG 293 - SIGXCPU 294 - SIGXFSZ 295 - SIGVTALRM 296 - SIGPROF 297 - SIGWINCH 298 - SIGIO 299 - SIGPWR 300 - SIGSYS 301 type: string 302 required: 303 - processName 304 - signal 305 type: object 306 type: object 307 scriptConfigs: 308 description: scriptConfigs, list of ScriptConfig, witch these scripts 309 can be used by volume trigger,downward trigger, or tool image 310 items: 311 properties: 312 namespace: 313 default: default 314 description: Specify the namespace of the referenced the tpl 315 script ConfigMap object. An empty namespace is equivalent 316 to the "default" namespace. 317 maxLength: 63 318 pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$ 319 type: string 320 scriptConfigMapRef: 321 description: scriptConfigMapRef used to execute for reload. 322 type: string 323 required: 324 - scriptConfigMapRef 325 type: object 326 type: array 327 x-kubernetes-list-map-keys: 328 - scriptConfigMapRef 329 x-kubernetes-list-type: map 330 selector: 331 description: selector is used to match the label on the pod, for example, 332 a pod of the primary is match on the patroni cluster. 333 properties: 334 matchExpressions: 335 description: matchExpressions is a list of label selector requirements. 336 The requirements are ANDed. 337 items: 338 description: A label selector requirement is a selector that 339 contains values, a key, and an operator that relates the key 340 and values. 341 properties: 342 key: 343 description: key is the label key that the selector applies 344 to. 345 type: string 346 operator: 347 description: operator represents a key's relationship to 348 a set of values. Valid operators are In, NotIn, Exists 349 and DoesNotExist. 350 type: string 351 values: 352 description: values is an array of string values. If the 353 operator is In or NotIn, the values array must be non-empty. 354 If the operator is Exists or DoesNotExist, the values 355 array must be empty. This array is replaced during a strategic 356 merge patch. 357 items: 358 type: string 359 type: array 360 required: 361 - key 362 - operator 363 type: object 364 type: array 365 matchLabels: 366 additionalProperties: 367 type: string 368 description: matchLabels is a map of {key,value} pairs. A single 369 {key,value} in the matchLabels map is equivalent to an element 370 of matchExpressions, whose key field is "key", the operator 371 is "In", and the values array contains only "value". The requirements 372 are ANDed. 373 type: object 374 type: object 375 x-kubernetes-map-type: atomic 376 staticParameters: 377 description: staticParameters, list of StaticParameter, modifications 378 of them trigger a process restart. 379 items: 380 type: string 381 type: array 382 x-kubernetes-list-type: set 383 toolsImageSpec: 384 description: toolConfig used to config init container. 385 properties: 386 mountPoint: 387 description: mountPoint is the mount point of the scripts file. 388 maxLength: 128 389 type: string 390 toolConfigs: 391 description: toolConfig used to config init container. 392 items: 393 properties: 394 command: 395 description: exec used to execute for init containers. 396 items: 397 type: string 398 type: array 399 image: 400 description: tools Container image name. 401 type: string 402 name: 403 description: Specify the name of initContainer. Must be 404 a DNS_LABEL name. 405 maxLength: 63 406 pattern: ^[a-z]([a-z0-9\-]*[a-z0-9])?$ 407 type: string 408 required: 409 - command 410 type: object 411 type: array 412 required: 413 - mountPoint 414 type: object 415 required: 416 - formatterConfig 417 type: object 418 status: 419 description: ConfigConstraintStatus defines the observed state of ConfigConstraint. 420 properties: 421 message: 422 description: message field describes the reasons of abnormal status. 423 type: string 424 observedGeneration: 425 description: observedGeneration is the latest generation observed 426 for this ClusterDefinition. It refers to the ConfigConstraint's 427 generation, which is updated by the API Server. 428 format: int64 429 type: integer 430 phase: 431 description: phase is status of configuration template, when set to 432 CCAvailablePhase, it can be referenced by ClusterDefinition or ClusterVersion. 433 enum: 434 - Available 435 - Unavailable 436 - Deleting 437 type: string 438 type: object 439 type: object 440 served: true 441 storage: true 442 subresources: 443 status: {}