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

     1  ---
     2  # Source: olm/templates/0000_50_olm_02-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      - csvs
    19      categories:
    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              minKubeVersion:
    66                type: string
    67                description: Minimum kubernetes version requirement on the server to deploy operator
    68                pattern: ^\bv?(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-]+)*)?$
    69  
    70              keywords:
    71                type: array
    72                description: List of keywords which will be used to discover and categorize app types
    73                items:
    74                  type: string
    75  
    76              maintainers:
    77                type: array
    78                description: Those responsible for the creation of this specific app type
    79                items:
    80                  type: object
    81                  description: Information for a single maintainer
    82                  required:
    83                  - name
    84                  - email
    85                  properties:
    86                    name:
    87                      type: string
    88                      description: Maintainer's name
    89                    email:
    90                      type: string
    91                      description: Maintainer's email address
    92                      format: email
    93                  optionalProperties:
    94                    type: string
    95                    description: "Any additional key-value metadata you wish to expose about the maintainer, e.g. github: <username>"
    96  
    97              links:
    98                type: array
    99                description: Interesting links to find more information about the project, such as marketing page, documentation, or github page
   100                items:
   101                  type: object
   102                  description: A single link to describe one aspect of the project
   103                  required:
   104                  - name
   105                  - url
   106                  properties:
   107                    name:
   108                      type: string
   109                      description: Name of the link type, e.g. homepage or github url
   110                    url:
   111                      type: string
   112                      description: URL to which the link should point
   113                      format: uri
   114  
   115              icon:
   116                type: array
   117                description: Icon which should be rendered with the application information
   118                items:
   119                  type: object
   120                  required:
   121                  - base64data
   122                  - mediatype
   123                  properties:
   124                    base64data:
   125                      type: string
   126                      description: Base64 binary representation of the icon image
   127                    mediatype:
   128                      type: string
   129                      description: Mediatype for the binary data specified in the base64data property
   130                      enum:
   131                      - image/gif
   132                      - image/jpeg
   133                      - image/png
   134                      - image/svg+xml
   135              version:
   136                type: string
   137                description: Version string, recommended that users use semantic versioning
   138                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-]+)*)?$
   139  
   140              replaces:
   141                type: string
   142                description: Name of the ClusterServiceVersion custom resource that this version replaces
   143  
   144              maturity:
   145                type: string
   146                description: What level of maturity the software has achieved at this version
   147                enum:
   148                - planning
   149                - pre-alpha
   150                - alpha
   151                - beta
   152                - stable
   153                - mature
   154                - inactive
   155                - deprecated
   156              labels:
   157                type: object
   158                description: Labels that will be applied to associated resources created by the operator.
   159              selector:
   160                type: object
   161                description: Label selector to find resources associated with or managed by the operator
   162                properties:
   163                  matchLabels:
   164                    type: object
   165                    description: Label key:value pairs to match directly
   166                  matchExpressions:
   167                    type: array
   168                    description: A set of expressions to match against the resource.
   169                    items:
   170                      allOf:
   171                        - type: object
   172                          required:
   173                          - key
   174                          - operator
   175                          - values
   176                          properties:
   177                            key:
   178                              type: string
   179                              description: the key to match
   180                            operator:
   181                              type: string
   182                              description: the operator for the expression
   183                              enum:
   184                              - In
   185                              - NotIn
   186                              - Exists
   187                              - DoesNotExist
   188                            values:
   189                              type: array
   190                              description: set of values for the expression
   191              nativeAPIs:
   192                type: array
   193                description: What resources are required by the Operator, but must be provided by the underlying cluster and not as an extension.
   194                items:
   195                  type: object
   196                  required:
   197                  - group
   198                  - version
   199                  - kind
   200                  properties:
   201                    group:
   202                      type: string
   203                      description: Group of the API resource
   204                    version:
   205                      type: string
   206                      description: Version of the API resource
   207                    kind:
   208                      type: string
   209                      description: Kind of the API resource
   210              apiservicedefinitions:
   211                type: object
   212                properties:
   213                  owned:
   214                    type: array
   215                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   216                    items:
   217                      type: object
   218                      required:
   219                      - group
   220                      - version
   221                      - kind
   222                      - name
   223                      - deploymentName
   224                      - displayName
   225                      - description
   226                      properties:
   227                        group:
   228                          type: string
   229                          description: Group of the APIService (e.g. app.coreos.com)
   230                        name:
   231                          type: string
   232                          description: The plural name for the APIService provided
   233                        version:
   234                          type: string
   235                          description: The version field of the APIService
   236                        kind:
   237                          type: string
   238                          description: The kind field of the APIService
   239                        deploymentName:
   240                          type: string
   241                          description: Name of the extension api-server's deployment
   242                        containerPort:
   243                          type: number
   244                          description: Port where the extension api-server serves TLS traffic
   245                        displayName:
   246                          type: string
   247                          description: A human-readable name for the APIService.
   248                        description:
   249                          type: string
   250                          description: A description of the APIService
   251                        resources:
   252                          type: array
   253                          items:
   254                            type: object
   255                            description: A list of resources that should be displayed for the APIService
   256                            required:
   257                            - kind
   258                            - version
   259                            properties:
   260                              name:
   261                                type: string
   262                                description: If a APIService, the fully qualified name of the APIService (e.g. my-resource-v1.app.coreos.com)
   263                              version:
   264                                type: string
   265                                description: The version of the resource kind
   266                              kind:
   267                                type: string
   268                                description: The kind field of the resource kind
   269                        statusDescriptors:
   270                          type: array
   271                          items:
   272                            type: object
   273                            description: A spec for a field in the status block of the API resource
   274                            required:
   275                            - path
   276                            - displayName
   277                            - description
   278                            properties:
   279                              path:
   280                                type: string
   281                                description: A jsonpath indexing into the status object on the API resource where the the status value can be found.
   282                              displayName:
   283                                type: string
   284                                description: A human-readable name for the status entry.
   285                              description:
   286                                type: string
   287                                description: A description of the status entry.
   288                              x-descriptors:
   289                                type: array
   290                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   291                                items:
   292                                  type: string
   293                              value:
   294                                description: If present, the value of this status is the same for all instances of the API resource and can be found here instead of on the API resource.
   295                        specDescriptors:
   296                          type: array
   297                          items:
   298                            type: object
   299                            description: A spec for a field in the spec block of the APIService resource.
   300                            required:
   301                            - path
   302                            - displayName
   303                            - description
   304                            properties:
   305                              path:
   306                                type: string
   307                                description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found.
   308                              displayName:
   309                                type: string
   310                                description: A human-readable name for the spec entry.
   311                              description:
   312                                type: string
   313                                description: A description of the spec entry.
   314                              x-descriptors:
   315                                type: array
   316                                description: A list of descriptors for the spec entry that indicate the meaning of the field.
   317                                items:
   318                                  type: string
   319                              value:
   320                                description: If present, the value of this spec is the same for all instances of the API Resource and can be found here instead of on the API resource.
   321                        actionDescriptors:
   322                          type: array
   323                          items:
   324                            type: object
   325                            description: A spec for actions that can be performed on instances of the API resource
   326                            required:
   327                            - path
   328                            - displayName
   329                            - description
   330                            properties:
   331                              path:
   332                                type: string
   333                                description: A jsonpath indexing into the spec object on the API resource where the the spec value can be found.
   334                              displayName:
   335                                type: string
   336                                description: A human-readable name for the action.
   337                              description:
   338                                type: string
   339                                description: A description of the action.
   340                              x-descriptors:
   341                                type: array
   342                                description: A list of descriptors for the action that indicate the meaning of the action.
   343                                items:
   344                                  type: string
   345                              value:
   346                                description: If present, the value of this action is the same for all instances of the API resource and can be found here instead of on the API resource.
   347                  required:
   348                    type: array
   349                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   350                    items:
   351                      type: object
   352                      required:
   353                      - group
   354                      - version
   355                      - kind
   356                      - name
   357                      - displayName
   358                      - description
   359                      properties:
   360                        group:
   361                          type: string
   362                          description: Group of the APIService (e.g. app.coreos.com)
   363                        version:
   364                          type: string
   365                          description: The version field of the APIService
   366                        kind:
   367                          type: string
   368                          description: The kind field of the APIService
   369                        name:
   370                          type: string
   371                          description: The plural name for the APIService provided
   372                        deploymentName:
   373                          type: string
   374                          description: Name of the extension api-server's deployment
   375                        containerPort:
   376                          type: number
   377                          description: Port where the extension api-server serves TLS traffic
   378                        displayName:
   379                          type: string
   380                          description: A human-readable name for the APIService.
   381                        description:
   382                          type: string
   383                          description: A description of the APIService
   384                        statusDescriptors:
   385                          type: array
   386                          items:
   387                            type: object
   388                            description: A spec for a field in the status block of the APIService
   389                            required:
   390                            - path
   391                            - displayName
   392                            - description
   393                            properties:
   394                              path:
   395                                type: string
   396                                description: A jsonpath indexing into the status object on the API Resource where the the status value can be found.
   397                              displayName:
   398                                type: string
   399                                description: A human-readable name for the status entry.
   400                              description:
   401                                type: string
   402                                description: A description of the status entry.
   403                              x-descriptors:
   404                                type: array
   405                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   406                                items:
   407                                  type: string
   408                              value:
   409                                description: If present, the value of this status is the same for all instances of the API Resource and can be found here instead of on the API Resource.
   410  
   411              customresourcedefinitions:
   412                type: object
   413                properties:
   414                  owned:
   415                    type: array
   416                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   417                    items:
   418                      type: object
   419                      required:
   420                        - name
   421                        - version
   422                        - kind
   423                        - displayName
   424                        - description
   425                      properties:
   426                        name:
   427                          type: string
   428                          description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   429                        version:
   430                          type: string
   431                          description: The version field of the CustomResourceDefinition
   432                        kind:
   433                          type: string
   434                          description: The kind field of the CustomResourceDefinition
   435                        displayName:
   436                          type: string
   437                          description: A human-readable name for the CRD.
   438                        description:
   439                          type: string
   440                          description: A description of the CRD
   441                        resources:
   442                          type: array
   443                          items:
   444                            type: object
   445                            description: A list of resources that should be displayed for the CRD
   446                            required:
   447                              - kind
   448                              - version
   449                            properties:
   450                              name:
   451                                type: string
   452                                description: If a CRD, the fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   453                              version:
   454                                type: string
   455                                description: The version of the resource kind
   456                              kind:
   457                                type: string
   458                                description: The kind field of the resource kind
   459                        statusDescriptors:
   460                          type: array
   461                          items:
   462                            type: object
   463                            description: A spec for a field in the status block of the CRD
   464                            required:
   465                              - path
   466                              - displayName
   467                              - description
   468                            properties:
   469                              path:
   470                                type: string
   471                                description: A jsonpath indexing into the status object on the CR where the the status value can be found.
   472                              displayName:
   473                                type: string
   474                                description: A human-readable name for the status entry.
   475                              description:
   476                                type: string
   477                                description: A description of the status entry.
   478                              x-descriptors:
   479                                type: array
   480                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   481                                items:
   482                                  type: string
   483                              value:
   484                                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.
   485                        specDescriptors:
   486                          type: array
   487                          items:
   488                            type: object
   489                            description: A spec for a field in the spec block of the CRD
   490                            required:
   491                              - path
   492                              - displayName
   493                              - description
   494                            properties:
   495                              path:
   496                                type: string
   497                                description: A jsonpath indexing into the spec object on the CR where the the spec value can be found.
   498                              displayName:
   499                                type: string
   500                                description: A human-readable name for the spec entry.
   501                              description:
   502                                type: string
   503                                description: A description of the spec entry.
   504                              x-descriptors:
   505                                type: array
   506                                description: A list of descriptors for the spec entry that indicate the meaning of the field.
   507                                items:
   508                                  type: string
   509                              value:
   510                                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.
   511                        actionDescriptors:
   512                          type: array
   513                          items:
   514                            type: object
   515                            description: A spec for actions that can be performed on instances of the CRD
   516                            required:
   517                              - path
   518                              - displayName
   519                              - description
   520                            properties:
   521                              path:
   522                                type: string
   523                                description: A jsonpath indexing into the spec object on the CR where the the spec value can be found.
   524                              displayName:
   525                                type: string
   526                                description: A human-readable name for the action.
   527                              description:
   528                                type: string
   529                                description: A description of the action.
   530                              x-descriptors:
   531                                type: array
   532                                description: A list of descriptors for the action that indicate the meaning of the action.
   533                                items:
   534                                  type: string
   535                              value:
   536                                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.
   537                  required:
   538                    type: array
   539                    description: What resources this operator is responsible for managing. No two running operators should manage the same resource.
   540                    items:
   541                      type: object
   542                      required:
   543                        - name
   544                        - version
   545                        - kind
   546                        - displayName
   547                        - description
   548                      properties:
   549                        name:
   550                          type: string
   551                          description: Fully qualified name of the CustomResourceDefinition (e.g. my-resource-v1.app.coreos.com)
   552                        version:
   553                          type: string
   554                          description: The version field of the CustomResourceDefinition
   555                        kind:
   556                          type: string
   557                          description: The kind field of the CustomResourceDefinition
   558                        displayName:
   559                          type: string
   560                          description: A human-readable name for the CRD.
   561                        description:
   562                          type: string
   563                          description: A description of the CRD
   564                        statusDescriptors:
   565                          type: array
   566                          items:
   567                            type: object
   568                            description: A spec for a field in the status block of the CRD
   569                            required:
   570                              - path
   571                              - displayName
   572                              - description
   573                            properties:
   574                              path:
   575                                type: string
   576                                description: A jsonpath indexing into the status object on the CR where the the status value can be found.
   577                              displayName:
   578                                type: string
   579                                description: A human-readable name for the status entry.
   580                              description:
   581                                type: string
   582                                description: A description of the status entry.
   583                              x-descriptors:
   584                                type: array
   585                                description: A list of descriptors for the status entry that indicate the meaning of the field.
   586                                items:
   587                                  type: string
   588                              value:
   589                                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.
   590  
   591  
   592              install:
   593                type: object
   594                description: Information required to install this specific version of the operator software
   595                oneOf:
   596                - type: object
   597                  required:
   598                  - strategy
   599                  - spec
   600                  properties:
   601                    strategy:
   602                      type: string
   603                      enum: ['image']
   604                    spec:
   605                      type: object
   606                      required:
   607                      - image
   608                      properties:
   609                        image:
   610                          type: string
   611                - type: object
   612                  required:
   613                  - strategy
   614                  - spec
   615                  properties:
   616                    strategy:
   617                      type: string
   618                      enum: ['deployment']
   619                    spec:
   620                      type: object
   621                      required:
   622                      - deployments
   623                      properties:
   624                        installModes:
   625                          type: array
   626                          description: List of supported install modes for the operator
   627                          items:
   628                            type: object
   629                            description: A tuple representing a mode of installation and whether the operator supports it
   630                            required:
   631                              - type
   632                              - supported
   633                            properties:
   634                              type:
   635                                type: string
   636                                description: A type of install mode
   637                                enum:
   638                                  - OwnNamespace
   639                                  - SingleNamespace
   640                                  - MultiNamespace
   641                                  - AllNamespaces
   642                              supported:
   643                                type: boolean
   644                                description: Represents if the install mode type is supported
   645                        deployments:
   646                          type: array
   647                          description: List of deployments to create
   648                          items:
   649                            type: object
   650                            description: A name and deployment to create in the cluster
   651                            required:
   652                              - name
   653                              - spec
   654                            properties:
   655                              name:
   656                                type: string
   657                                description: the consistent name of the deployment
   658                              spec:
   659                                type: object
   660                                description: The deployment spec to create in the cluster
   661                        permissions:
   662                          type: array
   663                          description: Permissions needed by the deployement to run correctly
   664                          items:
   665                            type: object
   666                            required:
   667                              - serviceAccountName
   668                              - rules
   669                            properties:
   670                              serviceAccountName:
   671                                type: string
   672                                description: The service account name to create for the deployment
   673                              rules:
   674                                type: array
   675                                items:
   676                                  type: object
   677                                  description: a rule required by the service account
   678                                  properties:
   679                                    apiGroups:
   680                                      type: array
   681                                      description: apiGroups the rule applies to
   682                                      items:
   683                                        type: string
   684                                    resources:
   685                                      type: array
   686                                      items:
   687                                        type: string
   688                                    resourceNames:
   689                                      type: array
   690                                      items:
   691                                        type: string
   692                                    verbs:
   693                                      type: array
   694                                      items:
   695                                        type: string
   696                                        enum:
   697                                          - "*"
   698                                          - assign
   699                                          - get
   700                                          - list
   701                                          - watch
   702                                          - create
   703                                          - update
   704                                          - patch
   705                                          - delete
   706                                          - deletecollection
   707                                          - initialize
   708                                          - use
   709                        clusterPermissions:
   710                          type: array
   711                          description: Cluster permissions needed by the deployement to run correctly
   712                          items:
   713                            type: object
   714                            required:
   715                            - serviceAccountName
   716                            - rules
   717                            properties:
   718                              serviceAccountName:
   719                                type: string
   720                                description: The service account name to create for the deployment
   721                              rules:
   722                                type: array
   723                                items:
   724                                  type: object
   725                                  required:
   726                                  - verbs
   727                                  description: a rule required by the service account
   728                                  properties:
   729                                    apiGroups:
   730                                      type: array
   731                                      description: apiGroups the rule applies to
   732                                      items:
   733                                        type: string
   734                                    resources:
   735                                      type: array
   736                                      items:
   737                                        type: string
   738                                    resourceNames:
   739                                      type: array
   740                                      items:
   741                                        type: string
   742                                    nonResourceURLs:
   743                                      type: array
   744                                      items:
   745                                        type: string
   746                                    verbs:
   747                                      type: array
   748                                      items:
   749                                        type: string
   750                                        enum:
   751                                        - "*"
   752                                        - assign
   753                                        - get
   754                                        - list
   755                                        - watch
   756                                        - create
   757                                        - update
   758                                        - patch
   759                                        - put
   760                                        - post
   761                                        - delete
   762                                        - deletecollection
   763                                        - initialize
   764                                        - use
   765          status:
   766            type: object
   767            description: Status for a ClusterServiceVersion