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

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