kind: CustomResourceDefinition apiVersion: apiextensions.k8s.io/v1beta1 metadata: name: clusteroperators.config.openshift.io spec: additionalPrinterColumns: - JSONPath: .status.versions[?(@.name=="operator")].version description: The version the operator is at. name: Version type: string - JSONPath: .status.conditions[?(@.type=="Available")].status description: Whether the operator is running and stable. name: Available type: string - JSONPath: .status.conditions[?(@.type=="Progressing")].status description: Whether the operator is processing changes. name: Progressing type: string - JSONPath: .status.conditions[?(@.type=="Degraded")].status description: Whether the operator is degraded. name: Degraded type: string - JSONPath: .status.conditions[?(@.type=="Available")].lastTransitionTime description: The time the operator's Available status last changed. name: Since type: date group: config.openshift.io names: kind: ClusterOperator listKind: ClusterOperatorList plural: clusteroperators singular: clusteroperator shortNames: - co preserveUnknownFields: false scope: Cluster subresources: status: {} version: v1 versions: - name: v1 served: true storage: true validation: openAPIV3Schema: description: ClusterOperator is the Custom Resource object which holds the current state of an operator. This object is used by operators to convey their state to the rest of the cluster. type: object required: - spec properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: spec holds configuration that could apply to any operator. type: object status: description: status holds the information about the state of an operator. It is consistent with status information across the Kubernetes ecosystem. type: object properties: conditions: description: conditions describes the state of the operator's managed and monitored components. type: array items: description: ClusterOperatorStatusCondition represents the state of the operator's managed and monitored components. type: object required: - lastTransitionTime - status - type properties: lastTransitionTime: description: lastTransitionTime is the time of the last update to the current status property. type: string format: date-time message: description: message provides additional information about the current condition. This is only to be consumed by humans. type: string reason: description: reason is the CamelCase reason for the condition's current status. type: string status: description: status of the condition, one of True, False, Unknown. type: string type: description: type specifies the aspect reported by this condition. type: string extension: description: extension contains any additional status information specific to the operator which owns this status object. type: object nullable: true x-kubernetes-preserve-unknown-fields: true relatedObjects: description: 'relatedObjects is a list of objects that are "interesting" or related to this operator. Common uses are: 1. the detailed resource driving the operator 2. operator namespaces 3. operand namespaces' type: array items: description: ObjectReference contains enough information to let you inspect or modify the referred object. type: object required: - group - name - resource properties: group: description: group of the referent. type: string name: description: name of the referent. type: string namespace: description: namespace of the referent. type: string resource: description: resource of the referent. type: string versions: description: versions is a slice of operator and operand version tuples. Operators which manage multiple operands will have multiple operand entries in the array. Available operators must report the version of the operator itself with the name "operator". An operator reports a new "operator" version when it has rolled out the new version to all of its operands. type: array items: type: object required: - name - version properties: name: description: name is the name of the particular operand this version is for. It usually matches container images, not operators. type: string version: description: version indicates which version of a particular operand is currently being managed. It must always match the Available operand. If 1.0.0 is Available, then this must indicate 1.0.0 even if the operator is trying to rollout 1.1.0 type: string versions: - name: v1 served: true storage: true