github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/chart/crds/0000_50_olm_00-operatorgroups.crd.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    annotations:
     5      controller-gen.kubebuilder.io/version: v0.16.1
     6    name: operatorgroups.operators.coreos.com
     7  spec:
     8    group: operators.coreos.com
     9    names:
    10      categories:
    11        - olm
    12      kind: OperatorGroup
    13      listKind: OperatorGroupList
    14      plural: operatorgroups
    15      shortNames:
    16        - og
    17      singular: operatorgroup
    18    scope: Namespaced
    19    versions:
    20      - name: v1
    21        schema:
    22          openAPIV3Schema:
    23            description: |-
    24              OperatorGroup is the unit of multitenancy for OLM managed operators.
    25              It constrains the installation of operators in its namespace to a specified set of target namespaces.
    26            type: object
    27            required:
    28              - metadata
    29            properties:
    30              apiVersion:
    31                description: |-
    32                  APIVersion defines the versioned schema of this representation of an object.
    33                  Servers should convert recognized schemas to the latest internal value, and
    34                  may reject unrecognized values.
    35                  More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    36                type: string
    37              kind:
    38                description: |-
    39                  Kind is a string value representing the REST resource this object represents.
    40                  Servers may infer this from the endpoint the client submits requests to.
    41                  Cannot be updated.
    42                  In CamelCase.
    43                  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: OperatorGroupSpec is the spec for an OperatorGroup resource.
    49                type: object
    50                default:
    51                  upgradeStrategy: Default
    52                properties:
    53                  selector:
    54                    description: Selector selects the OperatorGroup's target namespaces.
    55                    type: object
    56                    properties:
    57                      matchExpressions:
    58                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
    59                        type: array
    60                        items:
    61                          description: |-
    62                            A label selector requirement is a selector that contains values, a key, and an operator that
    63                            relates the key and values.
    64                          type: object
    65                          required:
    66                            - key
    67                            - operator
    68                          properties:
    69                            key:
    70                              description: key is the label key that the selector applies to.
    71                              type: string
    72                            operator:
    73                              description: |-
    74                                operator represents a key's relationship to a set of values.
    75                                Valid operators are In, NotIn, Exists and DoesNotExist.
    76                              type: string
    77                            values:
    78                              description: |-
    79                                values is an array of string values. If the operator is In or NotIn,
    80                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
    81                                the values array must be empty. This array is replaced during a strategic
    82                                merge patch.
    83                              type: array
    84                              items:
    85                                type: string
    86                              x-kubernetes-list-type: atomic
    87                        x-kubernetes-list-type: atomic
    88                      matchLabels:
    89                        description: |-
    90                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
    91                          map is equivalent to an element of matchExpressions, whose key field is "key", the
    92                          operator is "In", and the values array contains only "value". The requirements are ANDed.
    93                        type: object
    94                        additionalProperties:
    95                          type: string
    96                    x-kubernetes-map-type: atomic
    97                  serviceAccountName:
    98                    description: |-
    99                      ServiceAccountName is the admin specified service account which will be
   100                      used to deploy operator(s) in this operator group.
   101                    type: string
   102                  staticProvidedAPIs:
   103                    description: Static tells OLM not to update the OperatorGroup's providedAPIs annotation
   104                    type: boolean
   105                  targetNamespaces:
   106                    description: |-
   107                      TargetNamespaces is an explicit set of namespaces to target.
   108                      If it is set, Selector is ignored.
   109                    type: array
   110                    items:
   111                      type: string
   112                    x-kubernetes-list-type: set
   113                  upgradeStrategy:
   114                    description: |-
   115                      UpgradeStrategy defines the upgrade strategy for operators in the namespace.
   116                      There are currently two supported upgrade strategies:
   117  
   118                      Default: OLM will only allow clusterServiceVersions to move to the replacing
   119                      phase from the succeeded phase. This effectively means that OLM will not
   120                      allow operators to move to the next version if an installation or upgrade
   121                      has failed.
   122  
   123                      TechPreviewUnsafeFailForward: OLM will allow clusterServiceVersions to move to the
   124                      replacing phase from the succeeded phase or from the failed phase.
   125                      Additionally, OLM will generate new installPlans when a subscription references
   126                      a failed installPlan and the catalog has been updated with a new upgrade for
   127                      the existing set of operators.
   128  
   129                      WARNING: The TechPreviewUnsafeFailForward upgrade strategy is unsafe and may result
   130                      in unexpected behavior or unrecoverable data loss unless you have deep
   131                      understanding of the set of operators being managed in the namespace.
   132                    type: string
   133                    default: Default
   134                    enum:
   135                      - Default
   136                      - TechPreviewUnsafeFailForward
   137              status:
   138                description: OperatorGroupStatus is the status for an OperatorGroupResource.
   139                type: object
   140                required:
   141                  - lastUpdated
   142                properties:
   143                  conditions:
   144                    description: Conditions is an array of the OperatorGroup's conditions.
   145                    type: array
   146                    items:
   147                      description: Condition contains details for one aspect of the current state of this API Resource.
   148                      type: object
   149                      required:
   150                        - lastTransitionTime
   151                        - message
   152                        - reason
   153                        - status
   154                        - type
   155                      properties:
   156                        lastTransitionTime:
   157                          description: |-
   158                            lastTransitionTime is the last time the condition transitioned from one status to another.
   159                            This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   160                          type: string
   161                          format: date-time
   162                        message:
   163                          description: |-
   164                            message is a human readable message indicating details about the transition.
   165                            This may be an empty string.
   166                          type: string
   167                          maxLength: 32768
   168                        observedGeneration:
   169                          description: |-
   170                            observedGeneration represents the .metadata.generation that the condition was set based upon.
   171                            For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   172                            with respect to the current state of the instance.
   173                          type: integer
   174                          format: int64
   175                          minimum: 0
   176                        reason:
   177                          description: |-
   178                            reason contains a programmatic identifier indicating the reason for the condition's last transition.
   179                            Producers of specific condition types may define expected values and meanings for this field,
   180                            and whether the values are considered a guaranteed API.
   181                            The value should be a CamelCase string.
   182                            This field may not be empty.
   183                          type: string
   184                          maxLength: 1024
   185                          minLength: 1
   186                          pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   187                        status:
   188                          description: status of the condition, one of True, False, Unknown.
   189                          type: string
   190                          enum:
   191                            - "True"
   192                            - "False"
   193                            - Unknown
   194                        type:
   195                          description: type of condition in CamelCase or in foo.example.com/CamelCase.
   196                          type: string
   197                          maxLength: 316
   198                          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])$
   199                  lastUpdated:
   200                    description: LastUpdated is a timestamp of the last time the OperatorGroup's status was Updated.
   201                    type: string
   202                    format: date-time
   203                  namespaces:
   204                    description: Namespaces is the set of target namespaces for the OperatorGroup.
   205                    type: array
   206                    items:
   207                      type: string
   208                    x-kubernetes-list-type: set
   209                  serviceAccountRef:
   210                    description: ServiceAccountRef references the service account object specified.
   211                    type: object
   212                    properties:
   213                      apiVersion:
   214                        description: API version of the referent.
   215                        type: string
   216                      fieldPath:
   217                        description: |-
   218                          If referring to a piece of an object instead of an entire object, this string
   219                          should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
   220                          For example, if the object reference is to a container within a pod, this would take on a value like:
   221                          "spec.containers{name}" (where "name" refers to the name of the container that triggered
   222                          the event) or if no container name is specified "spec.containers[2]" (container with
   223                          index 2 in this pod). This syntax is chosen only to have some well-defined way of
   224                          referencing a part of an object.
   225                        type: string
   226                      kind:
   227                        description: |-
   228                          Kind of the referent.
   229                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   230                        type: string
   231                      name:
   232                        description: |-
   233                          Name of the referent.
   234                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   235                        type: string
   236                      namespace:
   237                        description: |-
   238                          Namespace of the referent.
   239                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
   240                        type: string
   241                      resourceVersion:
   242                        description: |-
   243                          Specific resourceVersion to which this reference is made, if any.
   244                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
   245                        type: string
   246                      uid:
   247                        description: |-
   248                          UID of the referent.
   249                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
   250                        type: string
   251                    x-kubernetes-map-type: atomic
   252        served: true
   253        storage: true
   254        subresources:
   255          status: {}
   256      - name: v1alpha2
   257        schema:
   258          openAPIV3Schema:
   259            description: |-
   260              OperatorGroup is the unit of multitenancy for OLM managed operators.
   261              It constrains the installation of operators in its namespace to a specified set of target namespaces.
   262            type: object
   263            required:
   264              - metadata
   265            properties:
   266              apiVersion:
   267                description: |-
   268                  APIVersion defines the versioned schema of this representation of an object.
   269                  Servers should convert recognized schemas to the latest internal value, and
   270                  may reject unrecognized values.
   271                  More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   272                type: string
   273              kind:
   274                description: |-
   275                  Kind is a string value representing the REST resource this object represents.
   276                  Servers may infer this from the endpoint the client submits requests to.
   277                  Cannot be updated.
   278                  In CamelCase.
   279                  More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   280                type: string
   281              metadata:
   282                type: object
   283              spec:
   284                description: OperatorGroupSpec is the spec for an OperatorGroup resource.
   285                type: object
   286                properties:
   287                  selector:
   288                    description: Selector selects the OperatorGroup's target namespaces.
   289                    type: object
   290                    properties:
   291                      matchExpressions:
   292                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   293                        type: array
   294                        items:
   295                          description: |-
   296                            A label selector requirement is a selector that contains values, a key, and an operator that
   297                            relates the key and values.
   298                          type: object
   299                          required:
   300                            - key
   301                            - operator
   302                          properties:
   303                            key:
   304                              description: key is the label key that the selector applies to.
   305                              type: string
   306                            operator:
   307                              description: |-
   308                                operator represents a key's relationship to a set of values.
   309                                Valid operators are In, NotIn, Exists and DoesNotExist.
   310                              type: string
   311                            values:
   312                              description: |-
   313                                values is an array of string values. If the operator is In or NotIn,
   314                                the values array must be non-empty. If the operator is Exists or DoesNotExist,
   315                                the values array must be empty. This array is replaced during a strategic
   316                                merge patch.
   317                              type: array
   318                              items:
   319                                type: string
   320                              x-kubernetes-list-type: atomic
   321                        x-kubernetes-list-type: atomic
   322                      matchLabels:
   323                        description: |-
   324                          matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   325                          map is equivalent to an element of matchExpressions, whose key field is "key", the
   326                          operator is "In", and the values array contains only "value". The requirements are ANDed.
   327                        type: object
   328                        additionalProperties:
   329                          type: string
   330                    x-kubernetes-map-type: atomic
   331                  serviceAccountName:
   332                    description: |-
   333                      ServiceAccountName is the admin specified service account which will be
   334                      used to deploy operator(s) in this operator group.
   335                    type: string
   336                  staticProvidedAPIs:
   337                    description: Static tells OLM not to update the OperatorGroup's providedAPIs annotation
   338                    type: boolean
   339                  targetNamespaces:
   340                    description: |-
   341                      TargetNamespaces is an explicit set of namespaces to target.
   342                      If it is set, Selector is ignored.
   343                    type: array
   344                    items:
   345                      type: string
   346              status:
   347                description: OperatorGroupStatus is the status for an OperatorGroupResource.
   348                type: object
   349                required:
   350                  - lastUpdated
   351                properties:
   352                  lastUpdated:
   353                    description: LastUpdated is a timestamp of the last time the OperatorGroup's status was Updated.
   354                    type: string
   355                    format: date-time
   356                  namespaces:
   357                    description: Namespaces is the set of target namespaces for the OperatorGroup.
   358                    type: array
   359                    items:
   360                      type: string
   361                  serviceAccountRef:
   362                    description: ServiceAccountRef references the service account object specified.
   363                    type: object
   364                    properties:
   365                      apiVersion:
   366                        description: API version of the referent.
   367                        type: string
   368                      fieldPath:
   369                        description: |-
   370                          If referring to a piece of an object instead of an entire object, this string
   371                          should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
   372                          For example, if the object reference is to a container within a pod, this would take on a value like:
   373                          "spec.containers{name}" (where "name" refers to the name of the container that triggered
   374                          the event) or if no container name is specified "spec.containers[2]" (container with
   375                          index 2 in this pod). This syntax is chosen only to have some well-defined way of
   376                          referencing a part of an object.
   377                        type: string
   378                      kind:
   379                        description: |-
   380                          Kind of the referent.
   381                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   382                        type: string
   383                      name:
   384                        description: |-
   385                          Name of the referent.
   386                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
   387                        type: string
   388                      namespace:
   389                        description: |-
   390                          Namespace of the referent.
   391                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
   392                        type: string
   393                      resourceVersion:
   394                        description: |-
   395                          Specific resourceVersion to which this reference is made, if any.
   396                          More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
   397                        type: string
   398                      uid:
   399                        description: |-
   400                          UID of the referent.
   401                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
   402                        type: string
   403                    x-kubernetes-map-type: atomic
   404        served: true
   405        storage: false
   406        subresources:
   407          status: {}