github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/upstream/manifests/0.7.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                        actionDescriptors:
   288                          type: array
   289                          items:
   290                            type: object
   291                            description: A spec for actions that can be performed on instances of the CRD
   292                            required:
   293                              - path
   294                              - displayName
   295                              - description
   296                            properties:
   297                              path:
   298                                type: string
   299                                description: A jsonpath indexing into the spec object on the CR where the the spec value can be found.
   300                              displayName:
   301                                type: string
   302                                description: A human-readable name for the action.
   303                              description:
   304                                type: string
   305                                description: A description of the action.
   306                              x-descriptors:
   307                                type: array
   308                                description: A list of descriptors for the action that indicate the meaning of the action.
   309                                items:
   310                                  type: string
   311                              value:
   312                                type: object
   313                                description: If present, the value of this action is the same for all instances of the CRD and can be found here instead of on the CR.
   314                  required:
   315                    type: array
   316                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   317                    items:
   318                      type: object
   319                      required:
   320                        - name
   321                        - version
   322                        - kind
   323                        - displayName
   324                        - description
   325                      properties:
   326                        name:
   327                          type: string
   328                          description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   329                        version:
   330                          type: string
   331                          description: The version field of the CustomResourceDefinition
   332                        kind:
   333                          type: string
   334                          description: The kind field of the CustomResourceDefinition
   335                        displayName:
   336                          type: string
   337                          description: A human-readable name for the CRD.
   338                        description:
   339                          type: string
   340                          description: A description of the CRD
   341                        statusDescriptors:
   342                          type: array
   343                          items:
   344                            type: object
   345                            description: A spec for a field in the status block of the CRD
   346                            required:
   347                              - path
   348                              - displayName
   349                              - description
   350                            properties:
   351                              path:
   352                                type: string
   353                                description: A jsonpath indexing into the status object on the CR where the the status value can be found.
   354                              displayName:
   355                                type: string
   356                                description: A human-readable name for the status entry.
   357                              description:
   358                                type: string
   359                                description: A description of the status entry.
   360                              x-descriptors:
   361                                type: array
   362                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   363                                items:
   364                                  type: string
   365                              value:
   366                                type: object
   367                                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.
   368  
   369  
   370              install:
   371                type: object
   372                description: Information required to install this specific version of the operator software
   373                oneOf:
   374                - type: object
   375                  required:
   376                  - strategy
   377                  - spec
   378                  properties:
   379                    strategy:
   380                      type: string
   381                      enum: ['image']
   382                    spec:
   383                      type: object
   384                      required:
   385                      - image
   386                      properties:
   387                        image:
   388                          type: string
   389                - type: object
   390                  required:
   391                  - strategy
   392                  - spec
   393                  properties:
   394                    strategy:
   395                      type: string
   396                      enum: ['deployment']
   397                    spec:
   398                      type: object
   399                      required:
   400                      - deployments
   401                      properties:
   402                        deployments:
   403                          type: array
   404                          description: List of deployments to create
   405                          items:
   406                            type: object
   407                            description: A name and deployment to create in the cluster
   408                            required:
   409                              - name
   410                              - spec
   411                            properties:
   412                              name:
   413                                type: string
   414                                description: the consistent name of the deployment
   415                              spec:
   416                                type: object
   417                                description: The deployment spec to create in the cluster
   418                        permissions:
   419                          type: array
   420                          description: Permissions needed by the deployement to run correctly
   421                          items:
   422                            type: object
   423                            required:
   424                              - serviceAccountName
   425                              - rules
   426                            properties:
   427                              serviceAccountName:
   428                                type: string
   429                                description: The service account name to create for the deployment
   430                              rules:
   431                                type: array
   432                                items:
   433                                  type: object
   434                                  description: a rule required by the service account
   435                                  properties:
   436                                    apiGroups:
   437                                      type: array
   438                                      description: apiGroups the rule applies to
   439                                      items:
   440                                        type: string
   441                                    resources:
   442                                      type: array
   443                                      items:
   444                                        type: string
   445                                    resourceNames:
   446                                      type: array
   447                                      items:
   448                                        type: string
   449                                    verbs:
   450                                      type: array
   451                                      items:
   452                                        type: string
   453                                        enum:
   454                                          - "*"
   455                                          - get
   456                                          - list
   457                                          - watch
   458                                          - create
   459                                          - update
   460                                          - patch
   461                                          - delete
   462                                          - deletecollection
   463          status:
   464            type: object
   465            description: Status for a ClusterServiceVersion