github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/crds/apps.kubeblocks.io_configurations.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: configurations.apps.kubeblocks.io
     9  spec:
    10    group: apps.kubeblocks.io
    11    names:
    12      kind: Configuration
    13      listKind: ConfigurationList
    14      plural: configurations
    15      singular: configuration
    16    scope: Namespaced
    17    versions:
    18    - name: v1alpha1
    19      schema:
    20        openAPIV3Schema:
    21          description: Configuration is the Schema for the configurations API
    22          properties:
    23            apiVersion:
    24              description: 'APIVersion defines the versioned schema of this representation
    25                of an object. Servers should convert recognized schemas to the latest
    26                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    27              type: string
    28            kind:
    29              description: 'Kind is a string value representing the REST resource this
    30                object represents. Servers may infer this from the endpoint the client
    31                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    32              type: string
    33            metadata:
    34              type: object
    35            spec:
    36              description: ConfigurationSpec defines the desired state of Configuration
    37              properties:
    38                clusterRef:
    39                  description: clusterRef references Cluster name.
    40                  type: string
    41                  x-kubernetes-validations:
    42                  - message: forbidden to update spec.clusterRef
    43                    rule: self == oldSelf
    44                componentName:
    45                  description: componentName is cluster component name.
    46                  type: string
    47                  x-kubernetes-validations:
    48                  - message: forbidden to update spec.clusterRef
    49                    rule: self == oldSelf
    50                configItemDetails:
    51                  description: customConfigurationItems describes user-defined config
    52                    template.
    53                  items:
    54                    properties:
    55                      configFileParams:
    56                        additionalProperties:
    57                          properties:
    58                            content:
    59                              description: fileContent indicates the configuration file
    60                                content.
    61                              type: string
    62                            parameters:
    63                              additionalProperties:
    64                                type: string
    65                              description: updated parameters for a single configuration
    66                                file.
    67                              type: object
    68                          type: object
    69                        description: configFileParams is used to set the parameters
    70                          to be updated.
    71                        type: object
    72                      configSpec:
    73                        description: configSpec is used to set the configuration template.
    74                        properties:
    75                          asEnvFrom:
    76                            description: 'asEnvFrom is optional: the list of containers
    77                              will be injected into EnvFrom.'
    78                            items:
    79                              type: string
    80                            type: array
    81                            x-kubernetes-list-type: set
    82                          constraintRef:
    83                            description: Specify the name of the referenced the configuration
    84                              constraints object.
    85                            maxLength: 63
    86                            pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
    87                            type: string
    88                          defaultMode:
    89                            description: 'defaultMode is optional: mode bits used to
    90                              set permissions on created files by default. Must be an
    91                              octal value between 0000 and 0777 or a decimal value between
    92                              0 and 511. YAML accepts both octal and decimal values,
    93                              JSON requires decimal values for mode bits. Defaults to
    94                              0644. Directories within the path are not affected by
    95                              this setting. This might be in conflict with other options
    96                              that affect the file mode, like fsGroup, and the result
    97                              can be other mode bits set.'
    98                            format: int32
    99                            type: integer
   100                          keys:
   101                            description: Specify a list of keys. If empty, ConfigConstraint
   102                              takes effect for all keys in configmap.
   103                            items:
   104                              type: string
   105                            type: array
   106                            x-kubernetes-list-type: set
   107                          legacyRenderedConfigSpec:
   108                            description: 'lazyRenderedConfigSpec is optional: specify
   109                              the secondary rendered config spec.'
   110                            properties:
   111                              namespace:
   112                                default: default
   113                                description: Specify the namespace of the referenced
   114                                  the configuration template ConfigMap object. An empty
   115                                  namespace is equivalent to the "default" namespace.
   116                                maxLength: 63
   117                                pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
   118                                type: string
   119                              policy:
   120                                default: none
   121                                description: policy defines how to merge external imported
   122                                  templates into component templates.
   123                                enum:
   124                                - patch
   125                                - replace
   126                                - none
   127                                type: string
   128                              templateRef:
   129                                description: Specify the name of the referenced the
   130                                  configuration template ConfigMap object.
   131                                maxLength: 63
   132                                pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   133                                type: string
   134                            required:
   135                            - templateRef
   136                            type: object
   137                          name:
   138                            description: Specify the name of configuration template.
   139                            maxLength: 63
   140                            pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   141                            type: string
   142                          namespace:
   143                            default: default
   144                            description: Specify the namespace of the referenced the
   145                              configuration template ConfigMap object. An empty namespace
   146                              is equivalent to the "default" namespace.
   147                            maxLength: 63
   148                            pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
   149                            type: string
   150                          templateRef:
   151                            description: Specify the name of the referenced the configuration
   152                              template ConfigMap object.
   153                            maxLength: 63
   154                            pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   155                            type: string
   156                          volumeName:
   157                            description: volumeName is the volume name of PodTemplate,
   158                              which the configuration file produced through the configuration
   159                              template will be mounted to the corresponding volume.
   160                              Must be a DNS_LABEL name. The volume name must be defined
   161                              in podSpec.containers[*].volumeMounts.
   162                            maxLength: 63
   163                            pattern: ^[a-z]([a-z0-9\-]*[a-z0-9])?$
   164                            type: string
   165                        required:
   166                        - name
   167                        - templateRef
   168                        - volumeName
   169                        type: object
   170                      importTemplateRef:
   171                        description: Specify the configuration template.
   172                        properties:
   173                          namespace:
   174                            default: default
   175                            description: Specify the namespace of the referenced the
   176                              configuration template ConfigMap object. An empty namespace
   177                              is equivalent to the "default" namespace.
   178                            maxLength: 63
   179                            pattern: ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
   180                            type: string
   181                          policy:
   182                            default: none
   183                            description: policy defines how to merge external imported
   184                              templates into component templates.
   185                            enum:
   186                            - patch
   187                            - replace
   188                            - none
   189                            type: string
   190                          templateRef:
   191                            description: Specify the name of the referenced the configuration
   192                              template ConfigMap object.
   193                            maxLength: 63
   194                            pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   195                            type: string
   196                        required:
   197                        - templateRef
   198                        type: object
   199                      name:
   200                        description: Specify the name of configuration template.
   201                        maxLength: 63
   202                        pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   203                        type: string
   204                      version:
   205                        description: version is the version of configuration template.
   206                        type: string
   207                    required:
   208                    - name
   209                    type: object
   210                  type: array
   211                  x-kubernetes-list-map-keys:
   212                  - name
   213                  x-kubernetes-list-type: map
   214              required:
   215              - clusterRef
   216              - componentName
   217              type: object
   218            status:
   219              description: ConfigurationStatus defines the observed state of Configuration
   220              properties:
   221                conditions:
   222                  description: conditions describes opsRequest detail status.
   223                  items:
   224                    description: "Condition contains details for one aspect of the current
   225                      state of this API Resource. --- This struct is intended for direct
   226                      use as an array at the field path .status.conditions.  For example,
   227                      \n type FooStatus struct{ // Represents the observations of a
   228                      foo's current state. // Known .status.conditions.type are: \"Available\",
   229                      \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
   230                      // +listType=map // +listMapKey=type Conditions []metav1.Condition
   231                      `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
   232                      protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
   233                    properties:
   234                      lastTransitionTime:
   235                        description: lastTransitionTime is the last time the condition
   236                          transitioned from one status to another. This should be when
   237                          the underlying condition changed.  If that is not known, then
   238                          using the time when the API field changed is acceptable.
   239                        format: date-time
   240                        type: string
   241                      message:
   242                        description: message is a human readable message indicating
   243                          details about the transition. This may be an empty string.
   244                        maxLength: 32768
   245                        type: string
   246                      observedGeneration:
   247                        description: observedGeneration represents the .metadata.generation
   248                          that the condition was set based upon. For instance, if .metadata.generation
   249                          is currently 12, but the .status.conditions[x].observedGeneration
   250                          is 9, the condition is out of date with respect to the current
   251                          state of the instance.
   252                        format: int64
   253                        minimum: 0
   254                        type: integer
   255                      reason:
   256                        description: reason contains a programmatic identifier indicating
   257                          the reason for the condition's last transition. Producers
   258                          of specific condition types may define expected values and
   259                          meanings for this field, and whether the values are considered
   260                          a guaranteed API. The value should be a CamelCase string.
   261                          This field may not be empty.
   262                        maxLength: 1024
   263                        minLength: 1
   264                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   265                        type: string
   266                      status:
   267                        description: status of the condition, one of True, False, Unknown.
   268                        enum:
   269                        - "True"
   270                        - "False"
   271                        - Unknown
   272                        type: string
   273                      type:
   274                        description: type of condition in CamelCase or in foo.example.com/CamelCase.
   275                          --- Many .condition.type values are consistent across resources
   276                          like Available, but because arbitrary conditions can be useful
   277                          (see .node.status.conditions), the ability to deconflict is
   278                          important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   279                        maxLength: 316
   280                        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])$
   281                        type: string
   282                    required:
   283                    - lastTransitionTime
   284                    - message
   285                    - reason
   286                    - status
   287                    - type
   288                    type: object
   289                  type: array
   290                  x-kubernetes-list-map-keys:
   291                  - type
   292                  x-kubernetes-list-type: map
   293                configurationStatus:
   294                  description: configurationStatus describes the status of the component
   295                    reconfiguring.
   296                  items:
   297                    properties:
   298                      lastDoneRevision:
   299                        description: lastDoneRevision is the last done revision of configurationItem.
   300                        type: string
   301                      message:
   302                        description: message field describes the reasons of abnormal
   303                          status.
   304                        type: string
   305                      name:
   306                        description: name is a config template name.
   307                        maxLength: 63
   308                        pattern: ^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$
   309                        type: string
   310                      phase:
   311                        description: phase is status of configurationItem.
   312                        enum:
   313                        - Creating
   314                        - Init
   315                        - Running
   316                        - Pending
   317                        - Merged
   318                        - MergeFailed
   319                        - FailedAndPause
   320                        - Upgrading
   321                        - Deleting
   322                        - FailedAndRetry
   323                        - Finished
   324                        type: string
   325                      reconcileDetail:
   326                        description: reconcileDetail describes the details of the configuration
   327                          change execution.
   328                        properties:
   329                          currentRevision:
   330                            description: currentRevision is the current revision of
   331                              configurationItem.
   332                            type: string
   333                          errMessage:
   334                            description: errMessage is the error message when the configuration
   335                              change execution fails.
   336                            type: string
   337                          execResult:
   338                            description: execResult is the result of the latest execution.
   339                            type: string
   340                          expectedCount:
   341                            default: -1
   342                            description: expectedCount is the number of pods that need
   343                              to be executed for configuration changes.
   344                            format: int32
   345                            type: integer
   346                          policy:
   347                            description: policy is the policy of the latest execution.
   348                            type: string
   349                          succeedCount:
   350                            default: -1
   351                            description: succeedCount is the number of pods for which
   352                              configuration changes were successfully executed.
   353                            format: int32
   354                            type: integer
   355                        type: object
   356                      updateRevision:
   357                        description: updateRevision is the update revision of configurationItem.
   358                        type: string
   359                    required:
   360                    - name
   361                    type: object
   362                  type: array
   363                  x-kubernetes-list-map-keys:
   364                  - name
   365                  x-kubernetes-list-type: map
   366                message:
   367                  description: message field describes the reasons of abnormal status.
   368                  type: string
   369                observedGeneration:
   370                  description: observedGeneration is the latest generation observed
   371                    for this ClusterDefinition. It refers to the ConfigConstraint's
   372                    generation, which is updated by the API Server.
   373                  format: int64
   374                  type: integer
   375              required:
   376              - configurationStatus
   377              type: object
   378          type: object
   379      served: true
   380      storage: true
   381      subresources:
   382        status: {}