Skip to content

Commit e7bfe3c

Browse files
pavolloffayPeterYurkovich
authored andcommitted
feat: add clusterobservability spec for tracing and opentelemetry (rhobs#754)
* feat: add clusterobservability spec for tracing and opentelemetry Signed-off-by: Pavol Loffay <p.loffay@gmail.com> * feat: add clusterobservability spec for tracing and opentelemetry Signed-off-by: Pavol Loffay <p.loffay@gmail.com> * feat: add clusterobservability spec for tracing and opentelemetry Signed-off-by: Pavol Loffay <p.loffay@gmail.com> * feat: add clusterobservability spec for tracing and opentelemetry Signed-off-by: Pavol Loffay <p.loffay@gmail.com> * feat: add clusterobservability spec for tracing and opentelemetry Signed-off-by: Pavol Loffay <p.loffay@gmail.com> --------- Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
1 parent 1f89cec commit e7bfe3c

File tree

7 files changed

+686
-2
lines changed

7 files changed

+686
-2
lines changed

deploy/crds/common/observability.openshift.io_clusterobservabilities.yaml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,74 @@ spec:
3939
type: object
4040
spec:
4141
description: Spec defines the desired state of the cluster observability.
42+
properties:
43+
capabilities:
44+
description: |-
45+
Capabilities defines the observability capabilities.
46+
Each capability has to be enabled explicitly.
47+
properties:
48+
opentelemetry:
49+
description: OpenTelemetry defines the OpenTelemetry capabilities.
50+
properties:
51+
enabled:
52+
default: false
53+
description: |-
54+
Enabled indicates whether the capability is enabled and it operator should deploy an instance.
55+
By default, it is set to false.
56+
type: boolean
57+
exporter:
58+
description: |-
59+
Exporter defines the OpenTelemetry exporter configuration.
60+
When defined the collector will export telemetry data to the specified endpoint.
61+
properties:
62+
endpoint:
63+
description: Endpoint is the OTLP endpoint.
64+
type: string
65+
type: object
66+
operators:
67+
description: Operators defines the operators installation
68+
for the capability.
69+
properties:
70+
install:
71+
description: |-
72+
Install indicates whether the operator(s) used by the capability should be installed via OLM.
73+
When the capability is enabled, the install is set to true, otherwise it is set to false.
74+
type: boolean
75+
type: object
76+
type: object
77+
tracing:
78+
description: Tracing defines the tracing capabilities.
79+
properties:
80+
enabled:
81+
default: false
82+
description: |-
83+
Enabled indicates whether the capability is enabled and it operator should deploy an instance.
84+
By default, it is set to false.
85+
type: boolean
86+
operators:
87+
description: Operators defines the operators installation
88+
for the capability.
89+
properties:
90+
install:
91+
description: |-
92+
Install indicates whether the operator(s) used by the capability should be installed via OLM.
93+
When the capability is enabled, the install is set to true, otherwise it is set to false.
94+
type: boolean
95+
type: object
96+
type: object
97+
type: object
98+
storage:
99+
description: Storage defines the storage for the capabilities that
100+
require a storage.
101+
properties:
102+
secret:
103+
description: SecretSpec defines the secret for the storage.
104+
properties:
105+
name:
106+
description: Name is the name of the secret for the storage.
107+
type: string
108+
type: object
109+
type: object
42110
type: object
43111
status:
44112
description: Status of the signal manager.

docs/api.md

Lines changed: 291 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4028,7 +4028,7 @@ ClusterObservability defines the desired state of the observability stack.
40284028
<td>Refer to the Kubernetes API documentation for the fields of the `metadata` field.</td>
40294029
<td>true</td>
40304030
</tr><tr>
4031-
<td><b>spec</b></td>
4031+
<td><b><a href="#clusterobservabilityspec">spec</a></b></td>
40324032
<td>object</td>
40334033
<td>
40344034
Spec defines the desired state of the cluster observability.<br/>
@@ -4044,6 +4044,296 @@ ClusterObservability defines the desired state of the observability stack.
40444044
</tr></tbody>
40454045
</table>
40464046

4047+
4048+
### ClusterObservability.spec
4049+
<sup><sup>[↩ Parent](#clusterobservability)</sup></sup>
4050+
4051+
4052+
4053+
Spec defines the desired state of the cluster observability.
4054+
4055+
<table>
4056+
<thead>
4057+
<tr>
4058+
<th>Name</th>
4059+
<th>Type</th>
4060+
<th>Description</th>
4061+
<th>Required</th>
4062+
</tr>
4063+
</thead>
4064+
<tbody><tr>
4065+
<td><b><a href="#clusterobservabilityspeccapabilities">capabilities</a></b></td>
4066+
<td>object</td>
4067+
<td>
4068+
Capabilities defines the observability capabilities.
4069+
Each capability has to be enabled explicitly.<br/>
4070+
</td>
4071+
<td>false</td>
4072+
</tr><tr>
4073+
<td><b><a href="#clusterobservabilityspecstorage">storage</a></b></td>
4074+
<td>object</td>
4075+
<td>
4076+
Storage defines the storage for the capabilities that require a storage.<br/>
4077+
</td>
4078+
<td>false</td>
4079+
</tr></tbody>
4080+
</table>
4081+
4082+
4083+
### ClusterObservability.spec.capabilities
4084+
<sup><sup>[↩ Parent](#clusterobservabilityspec)</sup></sup>
4085+
4086+
4087+
4088+
Capabilities defines the observability capabilities.
4089+
Each capability has to be enabled explicitly.
4090+
4091+
<table>
4092+
<thead>
4093+
<tr>
4094+
<th>Name</th>
4095+
<th>Type</th>
4096+
<th>Description</th>
4097+
<th>Required</th>
4098+
</tr>
4099+
</thead>
4100+
<tbody><tr>
4101+
<td><b><a href="#clusterobservabilityspeccapabilitiesopentelemetry">opentelemetry</a></b></td>
4102+
<td>object</td>
4103+
<td>
4104+
OpenTelemetry defines the OpenTelemetry capabilities.<br/>
4105+
</td>
4106+
<td>false</td>
4107+
</tr><tr>
4108+
<td><b><a href="#clusterobservabilityspeccapabilitiestracing">tracing</a></b></td>
4109+
<td>object</td>
4110+
<td>
4111+
Tracing defines the tracing capabilities.<br/>
4112+
</td>
4113+
<td>false</td>
4114+
</tr></tbody>
4115+
</table>
4116+
4117+
4118+
### ClusterObservability.spec.capabilities.opentelemetry
4119+
<sup><sup>[↩ Parent](#clusterobservabilityspeccapabilities)</sup></sup>
4120+
4121+
4122+
4123+
OpenTelemetry defines the OpenTelemetry capabilities.
4124+
4125+
<table>
4126+
<thead>
4127+
<tr>
4128+
<th>Name</th>
4129+
<th>Type</th>
4130+
<th>Description</th>
4131+
<th>Required</th>
4132+
</tr>
4133+
</thead>
4134+
<tbody><tr>
4135+
<td><b>enabled</b></td>
4136+
<td>boolean</td>
4137+
<td>
4138+
Enabled indicates whether the capability is enabled and it operator should deploy an instance.
4139+
By default, it is set to false.<br/>
4140+
<br/>
4141+
<i>Default</i>: false<br/>
4142+
</td>
4143+
<td>false</td>
4144+
</tr><tr>
4145+
<td><b><a href="#clusterobservabilityspeccapabilitiesopentelemetryexporter">exporter</a></b></td>
4146+
<td>object</td>
4147+
<td>
4148+
Exporter defines the OpenTelemetry exporter configuration.
4149+
When defined the collector will export telemetry data to the specified endpoint.<br/>
4150+
</td>
4151+
<td>false</td>
4152+
</tr><tr>
4153+
<td><b><a href="#clusterobservabilityspeccapabilitiesopentelemetryoperators">operators</a></b></td>
4154+
<td>object</td>
4155+
<td>
4156+
Operators defines the operators installation for the capability.<br/>
4157+
</td>
4158+
<td>false</td>
4159+
</tr></tbody>
4160+
</table>
4161+
4162+
4163+
### ClusterObservability.spec.capabilities.opentelemetry.exporter
4164+
<sup><sup>[↩ Parent](#clusterobservabilityspeccapabilitiesopentelemetry)</sup></sup>
4165+
4166+
4167+
4168+
Exporter defines the OpenTelemetry exporter configuration.
4169+
When defined the collector will export telemetry data to the specified endpoint.
4170+
4171+
<table>
4172+
<thead>
4173+
<tr>
4174+
<th>Name</th>
4175+
<th>Type</th>
4176+
<th>Description</th>
4177+
<th>Required</th>
4178+
</tr>
4179+
</thead>
4180+
<tbody><tr>
4181+
<td><b>endpoint</b></td>
4182+
<td>string</td>
4183+
<td>
4184+
Endpoint is the OTLP endpoint.<br/>
4185+
</td>
4186+
<td>false</td>
4187+
</tr></tbody>
4188+
</table>
4189+
4190+
4191+
### ClusterObservability.spec.capabilities.opentelemetry.operators
4192+
<sup><sup>[↩ Parent](#clusterobservabilityspeccapabilitiesopentelemetry)</sup></sup>
4193+
4194+
4195+
4196+
Operators defines the operators installation for the capability.
4197+
4198+
<table>
4199+
<thead>
4200+
<tr>
4201+
<th>Name</th>
4202+
<th>Type</th>
4203+
<th>Description</th>
4204+
<th>Required</th>
4205+
</tr>
4206+
</thead>
4207+
<tbody><tr>
4208+
<td><b>install</b></td>
4209+
<td>boolean</td>
4210+
<td>
4211+
Install indicates whether the operator(s) used by the capability should be installed via OLM.
4212+
When the capability is enabled, the install is set to true, otherwise it is set to false.<br/>
4213+
</td>
4214+
<td>false</td>
4215+
</tr></tbody>
4216+
</table>
4217+
4218+
4219+
### ClusterObservability.spec.capabilities.tracing
4220+
<sup><sup>[↩ Parent](#clusterobservabilityspeccapabilities)</sup></sup>
4221+
4222+
4223+
4224+
Tracing defines the tracing capabilities.
4225+
4226+
<table>
4227+
<thead>
4228+
<tr>
4229+
<th>Name</th>
4230+
<th>Type</th>
4231+
<th>Description</th>
4232+
<th>Required</th>
4233+
</tr>
4234+
</thead>
4235+
<tbody><tr>
4236+
<td><b>enabled</b></td>
4237+
<td>boolean</td>
4238+
<td>
4239+
Enabled indicates whether the capability is enabled and it operator should deploy an instance.
4240+
By default, it is set to false.<br/>
4241+
<br/>
4242+
<i>Default</i>: false<br/>
4243+
</td>
4244+
<td>false</td>
4245+
</tr><tr>
4246+
<td><b><a href="#clusterobservabilityspeccapabilitiestracingoperators">operators</a></b></td>
4247+
<td>object</td>
4248+
<td>
4249+
Operators defines the operators installation for the capability.<br/>
4250+
</td>
4251+
<td>false</td>
4252+
</tr></tbody>
4253+
</table>
4254+
4255+
4256+
### ClusterObservability.spec.capabilities.tracing.operators
4257+
<sup><sup>[↩ Parent](#clusterobservabilityspeccapabilitiestracing)</sup></sup>
4258+
4259+
4260+
4261+
Operators defines the operators installation for the capability.
4262+
4263+
<table>
4264+
<thead>
4265+
<tr>
4266+
<th>Name</th>
4267+
<th>Type</th>
4268+
<th>Description</th>
4269+
<th>Required</th>
4270+
</tr>
4271+
</thead>
4272+
<tbody><tr>
4273+
<td><b>install</b></td>
4274+
<td>boolean</td>
4275+
<td>
4276+
Install indicates whether the operator(s) used by the capability should be installed via OLM.
4277+
When the capability is enabled, the install is set to true, otherwise it is set to false.<br/>
4278+
</td>
4279+
<td>false</td>
4280+
</tr></tbody>
4281+
</table>
4282+
4283+
4284+
### ClusterObservability.spec.storage
4285+
<sup><sup>[↩ Parent](#clusterobservabilityspec)</sup></sup>
4286+
4287+
4288+
4289+
Storage defines the storage for the capabilities that require a storage.
4290+
4291+
<table>
4292+
<thead>
4293+
<tr>
4294+
<th>Name</th>
4295+
<th>Type</th>
4296+
<th>Description</th>
4297+
<th>Required</th>
4298+
</tr>
4299+
</thead>
4300+
<tbody><tr>
4301+
<td><b><a href="#clusterobservabilityspecstoragesecret">secret</a></b></td>
4302+
<td>object</td>
4303+
<td>
4304+
SecretSpec defines the secret for the storage.<br/>
4305+
</td>
4306+
<td>false</td>
4307+
</tr></tbody>
4308+
</table>
4309+
4310+
4311+
### ClusterObservability.spec.storage.secret
4312+
<sup><sup>[↩ Parent](#clusterobservabilityspecstorage)</sup></sup>
4313+
4314+
4315+
4316+
SecretSpec defines the secret for the storage.
4317+
4318+
<table>
4319+
<thead>
4320+
<tr>
4321+
<th>Name</th>
4322+
<th>Type</th>
4323+
<th>Description</th>
4324+
<th>Required</th>
4325+
</tr>
4326+
</thead>
4327+
<tbody><tr>
4328+
<td><b>name</b></td>
4329+
<td>string</td>
4330+
<td>
4331+
Name is the name of the secret for the storage.<br/>
4332+
</td>
4333+
<td>false</td>
4334+
</tr></tbody>
4335+
</table>
4336+
40474337
## UIPlugin
40484338
<sup><sup>[↩ Parent](#observabilityopenshiftiov1alpha1 )</sup></sup>
40494339

0 commit comments

Comments
 (0)