...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 api-approved.openshift.io: https://github.com/openshift/api/pull/1237
6 include.release.openshift.io/ibm-cloud-managed: "true"
7 include.release.openshift.io/self-managed-high-availability: "true"
8 include.release.openshift.io/single-node-developer: "true"
9 name: insightsoperators.operator.openshift.io
10spec:
11 group: operator.openshift.io
12 names:
13 kind: InsightsOperator
14 listKind: InsightsOperatorList
15 plural: insightsoperators
16 singular: insightsoperator
17 scope: Cluster
18 versions:
19 - name: v1
20 schema:
21 openAPIV3Schema:
22 description: "InsightsOperator holds cluster-wide information about the Insights Operator. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
23 type: object
24 required:
25 - spec
26 properties:
27 apiVersion:
28 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'
29 type: string
30 kind:
31 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'
32 type: string
33 metadata:
34 type: object
35 spec:
36 description: spec is the specification of the desired behavior of the Insights.
37 type: object
38 properties:
39 logLevel:
40 description: "logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for their operands. \n Valid values are: \"Normal\", \"Debug\", \"Trace\", \"TraceAll\". Defaults to \"Normal\"."
41 type: string
42 default: Normal
43 enum:
44 - ""
45 - Normal
46 - Debug
47 - Trace
48 - TraceAll
49 managementState:
50 description: managementState indicates whether and how the operator should manage the component
51 type: string
52 pattern: ^(Managed|Unmanaged|Force|Removed)$
53 observedConfig:
54 description: observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because it is an input to the level for the operator
55 type: object
56 nullable: true
57 x-kubernetes-preserve-unknown-fields: true
58 operatorLogLevel:
59 description: "operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for themselves. \n Valid values are: \"Normal\", \"Debug\", \"Trace\", \"TraceAll\". Defaults to \"Normal\"."
60 type: string
61 default: Normal
62 enum:
63 - ""
64 - Normal
65 - Debug
66 - Trace
67 - TraceAll
68 unsupportedConfigOverrides:
69 description: unsupportedConfigOverrides overrides the final configuration that was computed by the operator. Red Hat does not support the use of this field. Misuse of this field could lead to unexpected behavior or conflict with other configuration options. Seek guidance from the Red Hat support before using this field. Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
70 type: object
71 nullable: true
72 x-kubernetes-preserve-unknown-fields: true
73 status:
74 description: status is the most recently observed status of the Insights operator.
75 type: object
76 properties:
77 conditions:
78 description: conditions is a list of conditions and their status
79 type: array
80 items:
81 description: OperatorCondition is just the standard condition fields.
82 type: object
83 properties:
84 lastTransitionTime:
85 type: string
86 format: date-time
87 message:
88 type: string
89 reason:
90 type: string
91 status:
92 type: string
93 type:
94 type: string
95 gatherStatus:
96 description: gatherStatus provides basic information about the last Insights data gathering. When omitted, this means no data gathering has taken place yet.
97 type: object
98 properties:
99 gatherers:
100 description: gatherers is a list of active gatherers (and their statuses) in the last gathering.
101 type: array
102 items:
103 description: gathererStatus represents information about a particular data gatherer.
104 type: object
105 required:
106 - conditions
107 - lastGatherDuration
108 - name
109 properties:
110 conditions:
111 description: conditions provide details on the status of each gatherer.
112 type: array
113 minItems: 1
114 items:
115 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
116 type: object
117 required:
118 - lastTransitionTime
119 - message
120 - reason
121 - status
122 - type
123 properties:
124 lastTransitionTime:
125 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
126 type: string
127 format: date-time
128 message:
129 description: message is a human readable message indicating details about the transition. This may be an empty string.
130 type: string
131 maxLength: 32768
132 observedGeneration:
133 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
134 type: integer
135 format: int64
136 minimum: 0
137 reason:
138 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
139 type: string
140 maxLength: 1024
141 minLength: 1
142 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
143 status:
144 description: status of the condition, one of True, False, Unknown.
145 type: string
146 enum:
147 - "True"
148 - "False"
149 - Unknown
150 type:
151 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
152 type: string
153 maxLength: 316
154 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])$
155 x-kubernetes-list-type: atomic
156 lastGatherDuration:
157 description: lastGatherDuration represents the time spent gathering.
158 type: string
159 pattern: ^([1-9][0-9]*(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
160 name:
161 description: name is the name of the gatherer.
162 type: string
163 maxLength: 256
164 minLength: 5
165 x-kubernetes-list-type: atomic
166 lastGatherDuration:
167 description: lastGatherDuration is the total time taken to process all gatherers during the last gather event.
168 type: string
169 pattern: ^0|([1-9][0-9]*(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
170 lastGatherTime:
171 description: lastGatherTime is the last time when Insights data gathering finished. An empty value means that no data has been gathered yet.
172 type: string
173 format: date-time
174 generations:
175 description: generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction.
176 type: array
177 items:
178 description: GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made.
179 type: object
180 properties:
181 group:
182 description: group is the group of the thing you're tracking
183 type: string
184 hash:
185 description: hash is an optional field set for resources without generation that are content sensitive like secrets and configmaps
186 type: string
187 lastGeneration:
188 description: lastGeneration is the last generation of the workload controller involved
189 type: integer
190 format: int64
191 name:
192 description: name is the name of the thing you're tracking
193 type: string
194 namespace:
195 description: namespace is where the thing you're tracking is
196 type: string
197 resource:
198 description: resource is the resource type of the thing you're tracking
199 type: string
200 insightsReport:
201 description: insightsReport provides general Insights analysis results. When omitted, this means no data gathering has taken place yet.
202 type: object
203 properties:
204 downloadedAt:
205 description: downloadedAt is the time when the last Insights report was downloaded. An empty value means that there has not been any Insights report downloaded yet and it usually appears in disconnected clusters (or clusters when the Insights data gathering is disabled).
206 type: string
207 format: date-time
208 healthChecks:
209 description: healthChecks provides basic information about active Insights health checks in a cluster.
210 type: array
211 items:
212 description: healthCheck represents an Insights health check attributes.
213 type: object
214 required:
215 - advisorURI
216 - description
217 - state
218 - totalRisk
219 properties:
220 advisorURI:
221 description: advisorURI provides the URL link to the Insights Advisor.
222 type: string
223 pattern: ^https:\/\/\S+
224 description:
225 description: description provides basic description of the healtcheck.
226 type: string
227 maxLength: 2048
228 minLength: 10
229 state:
230 description: state determines what the current state of the health check is. Health check is enabled by default and can be disabled by the user in the Insights advisor user interface.
231 type: string
232 enum:
233 - Enabled
234 - Disabled
235 totalRisk:
236 description: totalRisk of the healthcheck. Indicator of the total risk posed by the detected issue; combination of impact and likelihood. The values can be from 1 to 4, and the higher the number, the more important the issue.
237 type: integer
238 format: int32
239 maximum: 4
240 minimum: 1
241 x-kubernetes-list-type: atomic
242 observedGeneration:
243 description: observedGeneration is the last generation change you've dealt with
244 type: integer
245 format: int64
246 readyReplicas:
247 description: readyReplicas indicates how many replicas are ready and at the desired state
248 type: integer
249 format: int32
250 version:
251 description: version is the level this availability applies to
252 type: string
253 served: true
254 storage: true
255 subresources:
256 scale:
257 labelSelectorPath: .status.selector
258 specReplicasPath: .spec.replicas
259 statusReplicasPath: .status.availableReplicas
260 status: {}
View as plain text