...

Text file src/github.com/openshift/api/config/v1/0000_10_config-operator_01_featuregate.crd.yaml

Documentation: github.com/openshift/api/config/v1

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    api-approved.openshift.io: https://github.com/openshift/api/pull/470
     6    include.release.openshift.io/ibm-cloud-managed: "true"
     7    include.release.openshift.io/self-managed-high-availability: "true"
     8    include.release.openshift.io/single-node-developer: "true"
     9  name: featuregates.config.openshift.io
    10spec:
    11  group: config.openshift.io
    12  names:
    13    kind: FeatureGate
    14    listKind: FeatureGateList
    15    plural: featuregates
    16    singular: featuregate
    17  scope: Cluster
    18  versions:
    19    - name: v1
    20      schema:
    21        openAPIV3Schema:
    22          description: "Feature holds cluster-wide information about feature gates.  The canonical name is `cluster` \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
    23          type: object
    24          required:
    25            - spec
    26          properties:
    27            apiVersion:
    28              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'
    29              type: string
    30            kind:
    31              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'
    32              type: string
    33            metadata:
    34              type: object
    35            spec:
    36              description: spec holds user settable values for configuration
    37              type: object
    38              properties:
    39                customNoUpgrade:
    40                  description: customNoUpgrade allows the enabling or disabling of any feature. Turning this feature set on IS NOT SUPPORTED, CANNOT BE UNDONE, and PREVENTS UPGRADES. Because of its nature, this setting cannot be validated.  If you have any typos or accidentally apply invalid combinations your cluster may fail in an unrecoverable way.  featureSet must equal "CustomNoUpgrade" must be set to use this field.
    41                  type: object
    42                  properties:
    43                    disabled:
    44                      description: disabled is a list of all feature gates that you want to force off
    45                      type: array
    46                      items:
    47                        description: FeatureGateName is a string to enforce patterns on the name of a FeatureGate
    48                        type: string
    49                        pattern: ^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$
    50                    enabled:
    51                      description: enabled is a list of all feature gates that you want to force on
    52                      type: array
    53                      items:
    54                        description: FeatureGateName is a string to enforce patterns on the name of a FeatureGate
    55                        type: string
    56                        pattern: ^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$
    57                  nullable: true
    58                featureSet:
    59                  description: featureSet changes the list of features in the cluster.  The default is empty.  Be very careful adjusting this setting. Turning on or off features may cause irreversible changes in your cluster which cannot be undone.
    60                  type: string
    61            status:
    62              description: status holds observed values from the cluster. They may not be overridden.
    63              type: object
    64              properties:
    65                conditions:
    66                  description: 'conditions represent the observations of the current state. Known .status.conditions.type are: "DeterminationDegraded"'
    67                  type: array
    68                  items:
    69                    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 }"
    70                    type: object
    71                    required:
    72                      - lastTransitionTime
    73                      - message
    74                      - reason
    75                      - status
    76                      - type
    77                    properties:
    78                      lastTransitionTime:
    79                        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.
    80                        type: string
    81                        format: date-time
    82                      message:
    83                        description: message is a human readable message indicating details about the transition. This may be an empty string.
    84                        type: string
    85                        maxLength: 32768
    86                      observedGeneration:
    87                        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.
    88                        type: integer
    89                        format: int64
    90                        minimum: 0
    91                      reason:
    92                        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.
    93                        type: string
    94                        maxLength: 1024
    95                        minLength: 1
    96                        pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
    97                      status:
    98                        description: status of the condition, one of True, False, Unknown.
    99                        type: string
   100                        enum:
   101                          - "True"
   102                          - "False"
   103                          - Unknown
   104                      type:
   105                        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)
   106                        type: string
   107                        maxLength: 316
   108                        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])$
   109                  x-kubernetes-list-map-keys:
   110                    - type
   111                  x-kubernetes-list-type: map
   112                featureGates:
   113                  description: featureGates contains a list of enabled and disabled featureGates that are keyed by payloadVersion. Operators other than the CVO and cluster-config-operator, must read the .status.featureGates, locate the version they are managing, find the enabled/disabled featuregates and make the operand and operator match. The enabled/disabled values for a particular version may change during the life of the cluster as various .spec.featureSet values are selected. Operators may choose to restart their processes to pick up these changes, but remembering past enable/disable lists is beyond the scope of this API and is the responsibility of individual operators. Only featureGates with .version in the ClusterVersion.status will be present in this list.
   114                  type: array
   115                  items:
   116                    type: object
   117                    required:
   118                      - version
   119                    properties:
   120                      disabled:
   121                        description: disabled is a list of all feature gates that are disabled in the cluster for the named version.
   122                        type: array
   123                        items:
   124                          type: object
   125                          required:
   126                            - name
   127                          properties:
   128                            name:
   129                              description: name is the name of the FeatureGate.
   130                              type: string
   131                              pattern: ^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$
   132                      enabled:
   133                        description: enabled is a list of all feature gates that are enabled in the cluster for the named version.
   134                        type: array
   135                        items:
   136                          type: object
   137                          required:
   138                            - name
   139                          properties:
   140                            name:
   141                              description: name is the name of the FeatureGate.
   142                              type: string
   143                              pattern: ^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$
   144                      version:
   145                        description: version matches the version provided by the ClusterVersion and in the ClusterOperator.Status.Versions field.
   146                        type: string
   147                  x-kubernetes-list-map-keys:
   148                    - version
   149                  x-kubernetes-list-type: map
   150      served: true
   151      storage: true
   152      subresources:
   153        status: {}

View as plain text