github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/upstream/manifests/0.6.0/03-clusterserviceversion.crd.yaml (about)

     1  ##---
     2  # Source: olm/templates/03-clusterserviceversion.crd.yaml
     3  apiVersion: apiextensions.k8s.io/v1beta1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    name: clusterserviceversions.operators.coreos.com
     7    annotations:
     8      displayName: Operator Version
     9      description: Represents an Operator that should be running on the cluster, including requirements and install strategy.
    10  spec:
    11    names:
    12      plural: clusterserviceversions
    13      singular: clusterserviceversion
    14      kind: ClusterServiceVersion
    15      listKind: ClusterServiceVersionList
    16      shortNames:
    17      - csv
    18      categories:
    19      - all
    20      - olm
    21    additionalPrinterColumns:
    22    - name: Display
    23      type: string
    24      description: The name of the CSV
    25      JSONPath: .spec.displayName
    26    - name: Version
    27      type: string
    28      description: The version of the CSV
    29      JSONPath: .spec.version
    30    - name: Replaces
    31      type: string
    32      description: The name of a CSV that this one replaces
    33      JSONPath: .spec.replaces
    34    - name: Phase
    35      type: string
    36      JSONPath: .status.phase
    37    group: operators.coreos.com
    38    version: v1alpha1
    39    versions:
    40      - name: v1alpha1
    41        served: true
    42        storage: true
    43    scope: Namespaced
    44    subresources:
    45      # status enables the status subresource.
    46      status: {}
    47    validation:
    48      openAPIV3Schema:
    49        properties:
    50          spec:
    51            type: object
    52            description: Spec for a ClusterServiceVersion
    53            required:
    54            - displayName
    55            - install
    56            properties:
    57              displayName:
    58                type: string
    59                description: Human readable name of the application that will be displayed in the ALM UI
    60  
    61              description:
    62                type: string
    63                description: Human readable description of what the application does
    64  
    65              keywords:
    66                type: array
    67                description: List of keywords which will be used to discover and categorize app types
    68                items:
    69                  type: string
    70  
    71              maintainers:
    72                type: array
    73                description: Those responsible for the creation of this specific app type
    74                items:
    75                  type: object
    76                  description: Information for a single maintainer
    77                  required:
    78                  - name
    79                  - email
    80                  properties:
    81                    name:
    82                      type: string
    83                      description: Maintainer's name
    84                    email:
    85                      type: string
    86                      description: Maintainer's email address
    87                      format: email
    88                  optionalProperties:
    89                    type: string
    90                    description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: <username>"
    91  
    92              links:
    93                type: array
    94                description: Interesting links to find more information about the project, such as marketing page, documentation, or github page
    95                items:
    96                  type: object
    97                  description: A single link to describe one aspect of the project
    98                  required:
    99                  - name
   100                  - url
   101                  properties:
   102                    name:
   103                      type: string
   104                      description: Name of the link type, e.g. homepage or github url
   105                    url:
   106                      type: string
   107                      description: URL to which the link should point
   108                      format: uri
   109  
   110              icon:
   111                type: array
   112                description: Icon which should be rendered with the application information
   113                required:
   114                - base64data
   115                - mediatype
   116                properties:
   117                  base64data:
   118                    type: string
   119                    description: Base64 binary representation of the icon image
   120                    pattern: ^(?:[A-Za-z0-9+/]{4}){0,16250}(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
   121                  mediatype:
   122                    type: string
   123                    description: Mediatype for the binary data specified in the base64data property
   124                    enum:
   125                    - image/gif
   126                    - image/jpeg
   127                    - image/png
   128                    - image/svg+xml
   129              version:
   130                type: string
   131                description: Version string, recommended that users use semantic versioning
   132                pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$
   133  
   134              replaces:
   135                type: string
   136                description: Name of the ClusterServiceVersion custom resource that this version replaces
   137  
   138              maturity:
   139                type: string
   140                description: What level of maturity the software has achieved at this version
   141                enum:
   142                - planning
   143                - pre-alpha
   144                - alpha
   145                - beta
   146                - stable
   147                - mature
   148                - inactive
   149                - deprecated
   150              labels:
   151                type: object
   152                description: Labels that will be applied to associated resources created by the operator.
   153              selector:
   154                type: object
   155                description: Label selector to find resources associated with or managed by the operator
   156                properties:
   157                  matchLabels:
   158                    type: object
   159                    description: Label key:value pairs to match directly
   160                  matchExpressions:
   161                    type: array
   162                    description: A set of expressions to match against the resource.
   163                    items:
   164                      allOf:
   165                        - type: object
   166                          required:
   167                          - key
   168                          - operator
   169                          - values
   170                          properties:
   171                            key:
   172                              type: string
   173                              description: the key to match
   174                            operator:
   175                              type: string
   176                              description: the operator for the expression
   177                              enum:
   178                              - In
   179                              - NotIn
   180                              - Exists
   181                              - DoesNotExist
   182                            values:
   183                              type: array
   184                              description: set of values for the expression
   185              customresourcedefinitions:
   186                type: object
   187                properties:
   188                  owned:
   189                    type: array
   190                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   191                    items:
   192                      type: object
   193                      required:
   194                        - name
   195                        - version
   196                        - kind
   197                        - displayName
   198                        - description
   199                      properties:
   200                        name:
   201                          type: string
   202                          description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   203                        version:
   204                          type: string
   205                          description: The version field of the CustomResourceDefinition
   206                        kind:
   207                          type: string
   208                          description: The kind field of the CustomResourceDefinition
   209                        displayName:
   210                          type: string
   211                          description: A human-readable name for the CRD.
   212                        description:
   213                          type: string
   214                          description: A description of the CRD
   215                        resources:
   216                          type: array
   217                          items:
   218                            type: object
   219                            description: A list of resources that should be displayed for the CRD
   220                            required:
   221                              - kind
   222                              - version
   223                            properties:
   224                              name:
   225                                type: string
   226                                description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   227                              version:
   228                                type: string
   229                                description: The version of the resource kind
   230                              kind:
   231                                type: string
   232                                description: The kind field of the resource kind
   233                        statusDescriptors:
   234                          type: array
   235                          items:
   236                            type: object
   237                            description: A spec for a field in the status block of the CRD
   238                            required:
   239                              - path
   240                              - displayName
   241                              - description
   242                            properties:
   243                              path:
   244                                type: string
   245                                description: A jsonpath indexing into the status object on the CR where the the status value can be found.
   246                              displayName:
   247                                type: string
   248                                description: A human-readable name for the status entry.
   249                              description:
   250                                type: string
   251                                description: A description of the status entry.
   252                              x-descriptors:
   253                                type: array
   254                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   255                                items:
   256                                  type: string
   257                              value:
   258                                type: object
   259                                description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR.
   260                        specDescriptors:
   261                          type: array
   262                          items:
   263                            type: object
   264                            description: A spec for a field in the spec block of the CRD
   265                            required:
   266                              - path
   267                              - displayName
   268                              - description
   269                            properties:
   270                              path:
   271                                type: string
   272                                description: A jsonpath indexing into the spec object on the CR where the the spec value can be found.
   273                              displayName:
   274                                type: string
   275                                description: A human-readable name for the spec entry.
   276                              description:
   277                                type: string
   278                                description: A description of the spec entry.
   279                              x-descriptors:
   280                                type: array
   281                                description: A list of descriptors for the spec entry that indicate the meaning of the field.
   282                                items:
   283                                  type: string
   284                              value:
   285                                type: object
   286                                description: If present, the value of this spec is the same for all instances of the CRD and can be found here instead of on the CR.
   287                  required:
   288                    type: array
   289                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   290                    items:
   291                      type: object
   292                      required:
   293                        - name
   294                        - version
   295                        - kind
   296                        - displayName
   297                        - description
   298                      properties:
   299                        name:
   300                          type: string
   301                          description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   302                        version:
   303                          type: string
   304                          description: The version field of the CustomResourceDefinition
   305                        kind:
   306                          type: string
   307                          description: The kind field of the CustomResourceDefinition
   308                        displayName:
   309                          type: string
   310                          description: A human-readable name for the CRD.
   311                        description:
   312                          type: string
   313                          description: A description of the CRD
   314                        statusDescriptors:
   315                          type: array
   316                          items:
   317                            type: object
   318                            description: A spec for a field in the status block of the CRD
   319                            required:
   320                              - path
   321                              - displayName
   322                              - description
   323                            properties:
   324                              path:
   325                                type: string
   326                                description: A jsonpath indexing into the status object on the CR where the the status value can be found.
   327                              displayName:
   328                                type: string
   329                                description: A human-readable name for the status entry.
   330                              description:
   331                                type: string
   332                                description: A description of the status entry.
   333                              x-descriptors:
   334                                type: array
   335                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   336                                items:
   337                                  type: string
   338                              value:
   339                                type: object
   340                                description: If present, the value of this status is the same for all instances of the CRD and can be found here instead of on the CR.
   341  
   342  
   343              install:
   344                type: object
   345                description: Information required to install this specific version of the operator software
   346                oneOf:
   347                - type: object
   348                  required:
   349                  - strategy
   350                  - spec
   351                  properties:
   352                    strategy:
   353                      type: string
   354                      enum: ['image']
   355                    spec:
   356                      type: object
   357                      required:
   358                      - image
   359                      properties:
   360                        image:
   361                          type: string
   362                - type: object
   363                  required:
   364                  - strategy
   365                  - spec
   366                  properties:
   367                    strategy:
   368                      type: string
   369                      enum: ['deployment']
   370                    spec:
   371                      type: object
   372                      required:
   373                      - deployments
   374                      properties:
   375                        deployments:
   376                          type: array
   377                          description: List of deployments to create
   378                          items:
   379                            type: object
   380                            description: A name and deployment to create in the cluster
   381                            required:
   382                              - name
   383                              - spec
   384                            properties:
   385                              name:
   386                                type: string
   387                                description: the consistent name of the deployment
   388                              spec:
   389                                type: object
   390                                description: The deployment spec to create in the cluster
   391                        permissions:
   392                          type: array
   393                          description: Permissions needed by the deployement to run correctly
   394                          items:
   395                            type: object
   396                            required:
   397                              - serviceAccountName
   398                              - rules
   399                            properties:
   400                              serviceAccountName:
   401                                type: string
   402                                description: The service account name to create for the deployment
   403                              rules:
   404                                type: array
   405                                items:
   406                                  type: object
   407                                  description: a rule required by the service account
   408                                  properties:
   409                                    apiGroups:
   410                                      type: array
   411                                      description: apiGroups the rule applies to
   412                                      items:
   413                                        type: string
   414                                    resources:
   415                                      type: array
   416                                      items:
   417                                        type: string
   418                                    resourceNames:
   419                                      type: array
   420                                      items:
   421                                        type: string
   422                                    verbs:
   423                                      type: array
   424                                      items:
   425                                        type: string
   426                                        enum:
   427                                          - "*"
   428                                          - get
   429                                          - list
   430                                          - watch
   431                                          - create
   432                                          - update
   433                                          - patch
   434                                          - delete
   435                                          - deletecollection
   436          status:
   437            type: object
   438            description: Status for a ClusterServiceVersion