github.com/operator-framework/operator-lifecycle-manager@v0.30.0/deploy/chart/crds/0000_50_olm_00-operatorgroups.crd.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.16.1 6 name: operatorgroups.operators.coreos.com 7 spec: 8 group: operators.coreos.com 9 names: 10 categories: 11 - olm 12 kind: OperatorGroup 13 listKind: OperatorGroupList 14 plural: operatorgroups 15 shortNames: 16 - og 17 singular: operatorgroup 18 scope: Namespaced 19 versions: 20 - name: v1 21 schema: 22 openAPIV3Schema: 23 description: |- 24 OperatorGroup is the unit of multitenancy for OLM managed operators. 25 It constrains the installation of operators in its namespace to a specified set of target namespaces. 26 type: object 27 required: 28 - metadata 29 properties: 30 apiVersion: 31 description: |- 32 APIVersion defines the versioned schema of this representation of an object. 33 Servers should convert recognized schemas to the latest internal value, and 34 may reject unrecognized values. 35 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 36 type: string 37 kind: 38 description: |- 39 Kind is a string value representing the REST resource this object represents. 40 Servers may infer this from the endpoint the client submits requests to. 41 Cannot be updated. 42 In CamelCase. 43 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 44 type: string 45 metadata: 46 type: object 47 spec: 48 description: OperatorGroupSpec is the spec for an OperatorGroup resource. 49 type: object 50 default: 51 upgradeStrategy: Default 52 properties: 53 selector: 54 description: Selector selects the OperatorGroup's target namespaces. 55 type: object 56 properties: 57 matchExpressions: 58 description: matchExpressions is a list of label selector requirements. The requirements are ANDed. 59 type: array 60 items: 61 description: |- 62 A label selector requirement is a selector that contains values, a key, and an operator that 63 relates the key and values. 64 type: object 65 required: 66 - key 67 - operator 68 properties: 69 key: 70 description: key is the label key that the selector applies to. 71 type: string 72 operator: 73 description: |- 74 operator represents a key's relationship to a set of values. 75 Valid operators are In, NotIn, Exists and DoesNotExist. 76 type: string 77 values: 78 description: |- 79 values is an array of string values. If the operator is In or NotIn, 80 the values array must be non-empty. If the operator is Exists or DoesNotExist, 81 the values array must be empty. This array is replaced during a strategic 82 merge patch. 83 type: array 84 items: 85 type: string 86 x-kubernetes-list-type: atomic 87 x-kubernetes-list-type: atomic 88 matchLabels: 89 description: |- 90 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 91 map is equivalent to an element of matchExpressions, whose key field is "key", the 92 operator is "In", and the values array contains only "value". The requirements are ANDed. 93 type: object 94 additionalProperties: 95 type: string 96 x-kubernetes-map-type: atomic 97 serviceAccountName: 98 description: |- 99 ServiceAccountName is the admin specified service account which will be 100 used to deploy operator(s) in this operator group. 101 type: string 102 staticProvidedAPIs: 103 description: Static tells OLM not to update the OperatorGroup's providedAPIs annotation 104 type: boolean 105 targetNamespaces: 106 description: |- 107 TargetNamespaces is an explicit set of namespaces to target. 108 If it is set, Selector is ignored. 109 type: array 110 items: 111 type: string 112 x-kubernetes-list-type: set 113 upgradeStrategy: 114 description: |- 115 UpgradeStrategy defines the upgrade strategy for operators in the namespace. 116 There are currently two supported upgrade strategies: 117 118 Default: OLM will only allow clusterServiceVersions to move to the replacing 119 phase from the succeeded phase. This effectively means that OLM will not 120 allow operators to move to the next version if an installation or upgrade 121 has failed. 122 123 TechPreviewUnsafeFailForward: OLM will allow clusterServiceVersions to move to the 124 replacing phase from the succeeded phase or from the failed phase. 125 Additionally, OLM will generate new installPlans when a subscription references 126 a failed installPlan and the catalog has been updated with a new upgrade for 127 the existing set of operators. 128 129 WARNING: The TechPreviewUnsafeFailForward upgrade strategy is unsafe and may result 130 in unexpected behavior or unrecoverable data loss unless you have deep 131 understanding of the set of operators being managed in the namespace. 132 type: string 133 default: Default 134 enum: 135 - Default 136 - TechPreviewUnsafeFailForward 137 status: 138 description: OperatorGroupStatus is the status for an OperatorGroupResource. 139 type: object 140 required: 141 - lastUpdated 142 properties: 143 conditions: 144 description: Conditions is an array of the OperatorGroup's conditions. 145 type: array 146 items: 147 description: Condition contains details for one aspect of the current state of this API Resource. 148 type: object 149 required: 150 - lastTransitionTime 151 - message 152 - reason 153 - status 154 - type 155 properties: 156 lastTransitionTime: 157 description: |- 158 lastTransitionTime is the last time the condition transitioned from one status to another. 159 This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. 160 type: string 161 format: date-time 162 message: 163 description: |- 164 message is a human readable message indicating details about the transition. 165 This may be an empty string. 166 type: string 167 maxLength: 32768 168 observedGeneration: 169 description: |- 170 observedGeneration represents the .metadata.generation that the condition was set based upon. 171 For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date 172 with respect to the current state of the instance. 173 type: integer 174 format: int64 175 minimum: 0 176 reason: 177 description: |- 178 reason contains a programmatic identifier indicating the reason for the condition's last transition. 179 Producers of specific condition types may define expected values and meanings for this field, 180 and whether the values are considered a guaranteed API. 181 The value should be a CamelCase string. 182 This field may not be empty. 183 type: string 184 maxLength: 1024 185 minLength: 1 186 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 187 status: 188 description: status of the condition, one of True, False, Unknown. 189 type: string 190 enum: 191 - "True" 192 - "False" 193 - Unknown 194 type: 195 description: type of condition in CamelCase or in foo.example.com/CamelCase. 196 type: string 197 maxLength: 316 198 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 199 lastUpdated: 200 description: LastUpdated is a timestamp of the last time the OperatorGroup's status was Updated. 201 type: string 202 format: date-time 203 namespaces: 204 description: Namespaces is the set of target namespaces for the OperatorGroup. 205 type: array 206 items: 207 type: string 208 x-kubernetes-list-type: set 209 serviceAccountRef: 210 description: ServiceAccountRef references the service account object specified. 211 type: object 212 properties: 213 apiVersion: 214 description: API version of the referent. 215 type: string 216 fieldPath: 217 description: |- 218 If referring to a piece of an object instead of an entire object, this string 219 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 220 For example, if the object reference is to a container within a pod, this would take on a value like: 221 "spec.containers{name}" (where "name" refers to the name of the container that triggered 222 the event) or if no container name is specified "spec.containers[2]" (container with 223 index 2 in this pod). This syntax is chosen only to have some well-defined way of 224 referencing a part of an object. 225 type: string 226 kind: 227 description: |- 228 Kind of the referent. 229 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 230 type: string 231 name: 232 description: |- 233 Name of the referent. 234 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 235 type: string 236 namespace: 237 description: |- 238 Namespace of the referent. 239 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 240 type: string 241 resourceVersion: 242 description: |- 243 Specific resourceVersion to which this reference is made, if any. 244 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 245 type: string 246 uid: 247 description: |- 248 UID of the referent. 249 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 250 type: string 251 x-kubernetes-map-type: atomic 252 served: true 253 storage: true 254 subresources: 255 status: {} 256 - name: v1alpha2 257 schema: 258 openAPIV3Schema: 259 description: |- 260 OperatorGroup is the unit of multitenancy for OLM managed operators. 261 It constrains the installation of operators in its namespace to a specified set of target namespaces. 262 type: object 263 required: 264 - metadata 265 properties: 266 apiVersion: 267 description: |- 268 APIVersion defines the versioned schema of this representation of an object. 269 Servers should convert recognized schemas to the latest internal value, and 270 may reject unrecognized values. 271 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 272 type: string 273 kind: 274 description: |- 275 Kind is a string value representing the REST resource this object represents. 276 Servers may infer this from the endpoint the client submits requests to. 277 Cannot be updated. 278 In CamelCase. 279 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 280 type: string 281 metadata: 282 type: object 283 spec: 284 description: OperatorGroupSpec is the spec for an OperatorGroup resource. 285 type: object 286 properties: 287 selector: 288 description: Selector selects the OperatorGroup's target namespaces. 289 type: object 290 properties: 291 matchExpressions: 292 description: matchExpressions is a list of label selector requirements. The requirements are ANDed. 293 type: array 294 items: 295 description: |- 296 A label selector requirement is a selector that contains values, a key, and an operator that 297 relates the key and values. 298 type: object 299 required: 300 - key 301 - operator 302 properties: 303 key: 304 description: key is the label key that the selector applies to. 305 type: string 306 operator: 307 description: |- 308 operator represents a key's relationship to a set of values. 309 Valid operators are In, NotIn, Exists and DoesNotExist. 310 type: string 311 values: 312 description: |- 313 values is an array of string values. If the operator is In or NotIn, 314 the values array must be non-empty. If the operator is Exists or DoesNotExist, 315 the values array must be empty. This array is replaced during a strategic 316 merge patch. 317 type: array 318 items: 319 type: string 320 x-kubernetes-list-type: atomic 321 x-kubernetes-list-type: atomic 322 matchLabels: 323 description: |- 324 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 325 map is equivalent to an element of matchExpressions, whose key field is "key", the 326 operator is "In", and the values array contains only "value". The requirements are ANDed. 327 type: object 328 additionalProperties: 329 type: string 330 x-kubernetes-map-type: atomic 331 serviceAccountName: 332 description: |- 333 ServiceAccountName is the admin specified service account which will be 334 used to deploy operator(s) in this operator group. 335 type: string 336 staticProvidedAPIs: 337 description: Static tells OLM not to update the OperatorGroup's providedAPIs annotation 338 type: boolean 339 targetNamespaces: 340 description: |- 341 TargetNamespaces is an explicit set of namespaces to target. 342 If it is set, Selector is ignored. 343 type: array 344 items: 345 type: string 346 status: 347 description: OperatorGroupStatus is the status for an OperatorGroupResource. 348 type: object 349 required: 350 - lastUpdated 351 properties: 352 lastUpdated: 353 description: LastUpdated is a timestamp of the last time the OperatorGroup's status was Updated. 354 type: string 355 format: date-time 356 namespaces: 357 description: Namespaces is the set of target namespaces for the OperatorGroup. 358 type: array 359 items: 360 type: string 361 serviceAccountRef: 362 description: ServiceAccountRef references the service account object specified. 363 type: object 364 properties: 365 apiVersion: 366 description: API version of the referent. 367 type: string 368 fieldPath: 369 description: |- 370 If referring to a piece of an object instead of an entire object, this string 371 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 372 For example, if the object reference is to a container within a pod, this would take on a value like: 373 "spec.containers{name}" (where "name" refers to the name of the container that triggered 374 the event) or if no container name is specified "spec.containers[2]" (container with 375 index 2 in this pod). This syntax is chosen only to have some well-defined way of 376 referencing a part of an object. 377 type: string 378 kind: 379 description: |- 380 Kind of the referent. 381 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 382 type: string 383 name: 384 description: |- 385 Name of the referent. 386 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 387 type: string 388 namespace: 389 description: |- 390 Namespace of the referent. 391 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 392 type: string 393 resourceVersion: 394 description: |- 395 Specific resourceVersion to which this reference is made, if any. 396 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 397 type: string 398 uid: 399 description: |- 400 UID of the referent. 401 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 402 type: string 403 x-kubernetes-map-type: atomic 404 served: true 405 storage: false 406 subresources: 407 status: {}