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