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