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: {}