1
0
Fork 0
mirror of https://github.com/prometheus-operator/prometheus-operator.git synced 2025-04-15 16:56:24 +00:00

chore:Moved PrometheusTracingConfig to CommonPrometheusFields (#5640)

Co-authored-by: Joao Marcal <joao.marcal12@gmail.com>
This commit is contained in:
Gaurav Joshi 2023-06-07 15:04:36 +05:30 committed by GitHub
parent abc3e108db
commit 6e6aee34de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 865 additions and 105 deletions

View file

@ -2261,6 +2261,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
<tr>
<td>
<code>baseImage</code><br/>
<em>
string
@ -2587,20 +2601,6 @@ TSDBSpec
(TSDB).</p>
</td>
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
</table>
</td>
</tr>
@ -6179,6 +6179,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
<p>PodTargetLabels are added to all Pod/ServiceMonitors&rsquo; podTargetLabels</p>
</td>
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
</tbody>
</table>
<h3 id="monitoring.coreos.com/v1.Condition">Condition
@ -9499,6 +9513,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
<tr>
<td>
<code>baseImage</code><br/>
<em>
string
@ -9825,20 +9853,6 @@ TSDBSpec
(TSDB).</p>
</td>
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
</tbody>
</table>
<h3 id="monitoring.coreos.com/v1.PrometheusStatus">PrometheusStatus
@ -9951,7 +9965,7 @@ int32
<h3 id="monitoring.coreos.com/v1.PrometheusTracingConfig">PrometheusTracingConfig
</h3>
<p>
(<em>Appears on:</em><a href="#monitoring.coreos.com/v1.PrometheusSpec">PrometheusSpec</a>)
(<em>Appears on:</em><a href="#monitoring.coreos.com/v1.CommonPrometheusFields">CommonPrometheusFields</a>)
</p>
<div>
</div>
@ -14469,6 +14483,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
<p>PodTargetLabels are added to all Pod/ServiceMonitors&rsquo; podTargetLabels</p>
</td>
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
</table>
</td>
</tr>
@ -17071,6 +17099,20 @@ When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet
<p>PodTargetLabels are added to all Pod/ServiceMonitors&rsquo; podTargetLabels</p>
</td>
</tr>
<tr>
<td>
<code>tracingConfig</code><br/>
<em>
<a href="#monitoring.coreos.com/v1.PrometheusTracingConfig">
PrometheusTracingConfig
</a>
</em>
</td>
<td>
<em>(Optional)</em>
<p>TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.</p>
</td>
</tr>
</tbody>
</table>
<h3 id="monitoring.coreos.com/v1alpha1.PushoverConfig">PushoverConfig

View file

@ -19234,6 +19234,185 @@ spec:
- whenUnsatisfiable
type: object
type: array
tracingConfig:
description: TracingConfig configures tracing in Prometheus. This
is an experimental feature, it may change in any upcoming release
in a breaking way.
properties:
clientType:
description: Client used to export the traces. Supported values
are `http` or `grpc`.
enum:
- http
- grpc
type: string
compression:
description: Compression key for supported compression types.
The only supported value is `gzip`.
enum:
- gzip
type: string
endpoint:
description: Endpoint to send the traces to. Should be provided
in format <host>:<port>.
minLength: 1
type: string
headers:
additionalProperties:
type: string
description: Key-value pairs to be used as headers associated
with gRPC or HTTP requests.
type: object
insecure:
description: If disabled, the client will use a secure connection.
type: boolean
samplingFraction:
anyOf:
- type: integer
- type: string
description: Sets the probability a given trace will be sampled.
Must be a float from 0 through 1.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
timeout:
description: Maximum time the exporter will wait for each batch
export.
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
type: string
tlsConfig:
description: TLS Config to use when sending traces.
properties:
ca:
description: Certificate authority used when verifying server
certificates.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
secret:
description: Secret containing data to use for the targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
caFile:
description: Path to the CA cert in the Prometheus container
to use for the targets.
type: string
cert:
description: Client certificate to present when doing client-authentication.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
secret:
description: Secret containing data to use for the targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
certFile:
description: Path to the client cert file in the Prometheus
container for the targets.
type: string
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keyFile:
description: Path to the client key file in the Prometheus
container for the targets.
type: string
keySecret:
description: Secret containing the client key file for the
targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
serverName:
description: Used to verify the hostname for the targets.
type: string
type: object
required:
- endpoint
type: object
version:
description: Version of Prometheus to be deployed.
type: string

View file

@ -6098,6 +6098,185 @@ spec:
- whenUnsatisfiable
type: object
type: array
tracingConfig:
description: TracingConfig configures tracing in Prometheus. This
is an experimental feature, it may change in any upcoming release
in a breaking way.
properties:
clientType:
description: Client used to export the traces. Supported values
are `http` or `grpc`.
enum:
- http
- grpc
type: string
compression:
description: Compression key for supported compression types.
The only supported value is `gzip`.
enum:
- gzip
type: string
endpoint:
description: Endpoint to send the traces to. Should be provided
in format <host>:<port>.
minLength: 1
type: string
headers:
additionalProperties:
type: string
description: Key-value pairs to be used as headers associated
with gRPC or HTTP requests.
type: object
insecure:
description: If disabled, the client will use a secure connection.
type: boolean
samplingFraction:
anyOf:
- type: integer
- type: string
description: Sets the probability a given trace will be sampled.
Must be a float from 0 through 1.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
timeout:
description: Maximum time the exporter will wait for each batch
export.
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
type: string
tlsConfig:
description: TLS Config to use when sending traces.
properties:
ca:
description: Certificate authority used when verifying server
certificates.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
secret:
description: Secret containing data to use for the targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
caFile:
description: Path to the CA cert in the Prometheus container
to use for the targets.
type: string
cert:
description: Client certificate to present when doing client-authentication.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
secret:
description: Secret containing data to use for the targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
certFile:
description: Path to the client cert file in the Prometheus
container for the targets.
type: string
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keyFile:
description: Path to the client key file in the Prometheus
container for the targets.
type: string
keySecret:
description: Secret containing the client key file for the
targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
serverName:
description: Used to verify the hostname for the targets.
type: string
type: object
required:
- endpoint
type: object
version:
description: Version of Prometheus to be deployed.
type: string

View file

@ -6098,6 +6098,185 @@ spec:
- whenUnsatisfiable
type: object
type: array
tracingConfig:
description: TracingConfig configures tracing in Prometheus. This
is an experimental feature, it may change in any upcoming release
in a breaking way.
properties:
clientType:
description: Client used to export the traces. Supported values
are `http` or `grpc`.
enum:
- http
- grpc
type: string
compression:
description: Compression key for supported compression types.
The only supported value is `gzip`.
enum:
- gzip
type: string
endpoint:
description: Endpoint to send the traces to. Should be provided
in format <host>:<port>.
minLength: 1
type: string
headers:
additionalProperties:
type: string
description: Key-value pairs to be used as headers associated
with gRPC or HTTP requests.
type: object
insecure:
description: If disabled, the client will use a secure connection.
type: boolean
samplingFraction:
anyOf:
- type: integer
- type: string
description: Sets the probability a given trace will be sampled.
Must be a float from 0 through 1.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
timeout:
description: Maximum time the exporter will wait for each batch
export.
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
type: string
tlsConfig:
description: TLS Config to use when sending traces.
properties:
ca:
description: Certificate authority used when verifying server
certificates.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
secret:
description: Secret containing data to use for the targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
caFile:
description: Path to the CA cert in the Prometheus container
to use for the targets.
type: string
cert:
description: Client certificate to present when doing client-authentication.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
secret:
description: Secret containing data to use for the targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
certFile:
description: Path to the client cert file in the Prometheus
container for the targets.
type: string
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keyFile:
description: Path to the client key file in the Prometheus
container for the targets.
type: string
keySecret:
description: Secret containing the client key file for the
targets.
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
serverName:
description: Used to verify the hostname for the targets.
type: string
type: object
required:
- endpoint
type: object
version:
description: Version of Prometheus to be deployed.
type: string

View file

@ -5458,6 +5458,212 @@
},
"type": "array"
},
"tracingConfig": {
"description": "TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.",
"properties": {
"clientType": {
"description": "Client used to export the traces. Supported values are `http` or `grpc`.",
"enum": [
"http",
"grpc"
],
"type": "string"
},
"compression": {
"description": "Compression key for supported compression types. The only supported value is `gzip`.",
"enum": [
"gzip"
],
"type": "string"
},
"endpoint": {
"description": "Endpoint to send the traces to. Should be provided in format <host>:<port>.",
"minLength": 1,
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "Key-value pairs to be used as headers associated with gRPC or HTTP requests.",
"type": "object"
},
"insecure": {
"description": "If disabled, the client will use a secure connection.",
"type": "boolean"
},
"samplingFraction": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Sets the probability a given trace will be sampled. Must be a float from 0 through 1.",
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
"x-kubernetes-int-or-string": true
},
"timeout": {
"description": "Maximum time the exporter will wait for each batch export.",
"pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
"type": "string"
},
"tlsConfig": {
"description": "TLS Config to use when sending traces.",
"properties": {
"ca": {
"description": "Certificate authority used when verifying server certificates.",
"properties": {
"configMap": {
"description": "ConfigMap containing data to use for the targets.",
"properties": {
"key": {
"description": "The key to select.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
"type": "string"
},
"optional": {
"description": "Specify whether the ConfigMap or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"secret": {
"description": "Secret containing data to use for the targets.",
"properties": {
"key": {
"description": "The key of the secret to select from. Must be a valid secret key.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
"type": "string"
},
"optional": {
"description": "Specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
}
},
"type": "object"
},
"caFile": {
"description": "Path to the CA cert in the Prometheus container to use for the targets.",
"type": "string"
},
"cert": {
"description": "Client certificate to present when doing client-authentication.",
"properties": {
"configMap": {
"description": "ConfigMap containing data to use for the targets.",
"properties": {
"key": {
"description": "The key to select.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
"type": "string"
},
"optional": {
"description": "Specify whether the ConfigMap or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"secret": {
"description": "Secret containing data to use for the targets.",
"properties": {
"key": {
"description": "The key of the secret to select from. Must be a valid secret key.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
"type": "string"
},
"optional": {
"description": "Specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
}
},
"type": "object"
},
"certFile": {
"description": "Path to the client cert file in the Prometheus container for the targets.",
"type": "string"
},
"insecureSkipVerify": {
"description": "Disable target certificate validation.",
"type": "boolean"
},
"keyFile": {
"description": "Path to the client key file in the Prometheus container for the targets.",
"type": "string"
},
"keySecret": {
"description": "Secret containing the client key file for the targets.",
"properties": {
"key": {
"description": "The key of the secret to select from. Must be a valid secret key.",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
"type": "string"
},
"optional": {
"description": "Specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"serverName": {
"description": "Used to verify the hostname for the targets.",
"type": "string"
}
},
"type": "object"
}
},
"required": [
"endpoint"
],
"type": "object"
},
"version": {
"description": "Version of Prometheus to be deployed.",
"type": "string"

View file

@ -378,6 +378,9 @@ type CommonPrometheusFields struct {
HostNetwork bool `json:"hostNetwork,omitempty"`
// PodTargetLabels are added to all Pod/ServiceMonitors' podTargetLabels
PodTargetLabels []string `json:"podTargetLabels,omitempty"`
// TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.
// +optional
TracingConfig *PrometheusTracingConfig `json:"tracingConfig,omitempty"`
}
// +genclient
@ -533,9 +536,6 @@ type PrometheusSpec struct {
// Defines the runtime reloadable configuration of the timeseries database
// (TSDB).
TSDB TSDBSpec `json:"tsdb,omitempty"`
// TracingConfig configures tracing in Prometheus. This is an experimental feature, it may change in any upcoming release in a breaking way.
// +optional
TracingConfig *PrometheusTracingConfig `json:"tracingConfig,omitempty"`
}
type PrometheusTracingConfig struct {

View file

@ -782,6 +782,11 @@ func (in *CommonPrometheusFields) DeepCopyInto(out *CommonPrometheusFields) {
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.TracingConfig != nil {
in, out := &in.TracingConfig, &out.TracingConfig
*out = new(PrometheusTracingConfig)
(*in).DeepCopyInto(*out)
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonPrometheusFields.
@ -1759,11 +1764,6 @@ func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec) {
(*in).DeepCopyInto(*out)
}
out.TSDB = in.TSDB
if in.TracingConfig != nil {
in, out := &in.TracingConfig, &out.TracingConfig
*out = new(PrometheusTracingConfig)
(*in).DeepCopyInto(*out)
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusSpec.

View file

@ -91,6 +91,7 @@ type CommonPrometheusFieldsApplyConfiguration struct {
ExcludedFromEnforcement []ObjectReferenceApplyConfiguration `json:"excludedFromEnforcement,omitempty"`
HostNetwork *bool `json:"hostNetwork,omitempty"`
PodTargetLabels []string `json:"podTargetLabels,omitempty"`
TracingConfig *PrometheusTracingConfigApplyConfiguration `json:"tracingConfig,omitempty"`
}
// CommonPrometheusFieldsApplyConfiguration constructs an declarative configuration of the CommonPrometheusFields type for use with
@ -680,3 +681,11 @@ func (b *CommonPrometheusFieldsApplyConfiguration) WithPodTargetLabels(values ..
}
return b
}
// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the TracingConfig field is set to the value of the last call.
func (b *CommonPrometheusFieldsApplyConfiguration) WithTracingConfig(value *PrometheusTracingConfigApplyConfiguration) *CommonPrometheusFieldsApplyConfiguration {
b.TracingConfig = value
return b
}

View file

@ -48,7 +48,6 @@ type PrometheusSpecApplyConfiguration struct {
EvaluationInterval *monitoringv1.Duration `json:"evaluationInterval,omitempty"`
EnableAdminAPI *bool `json:"enableAdminAPI,omitempty"`
TSDB *TSDBSpecApplyConfiguration `json:"tsdb,omitempty"`
TracingConfig *PrometheusTracingConfigApplyConfiguration `json:"tracingConfig,omitempty"`
}
// PrometheusSpecApplyConfiguration constructs an declarative configuration of the PrometheusSpec type for use with
@ -639,6 +638,14 @@ func (b *PrometheusSpecApplyConfiguration) WithPodTargetLabels(values ...string)
return b
}
// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the TracingConfig field is set to the value of the last call.
func (b *PrometheusSpecApplyConfiguration) WithTracingConfig(value *PrometheusTracingConfigApplyConfiguration) *PrometheusSpecApplyConfiguration {
b.TracingConfig = value
return b
}
// WithBaseImage sets the BaseImage field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the BaseImage field is set to the value of the last call.
@ -824,11 +831,3 @@ func (b *PrometheusSpecApplyConfiguration) WithTSDB(value *TSDBSpecApplyConfigur
b.TSDB = value
return b
}
// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the TracingConfig field is set to the value of the last call.
func (b *PrometheusSpecApplyConfiguration) WithTracingConfig(value *PrometheusTracingConfigApplyConfiguration) *PrometheusSpecApplyConfiguration {
b.TracingConfig = value
return b
}

View file

@ -616,3 +616,11 @@ func (b *PrometheusAgentSpecApplyConfiguration) WithPodTargetLabels(values ...st
}
return b
}
// WithTracingConfig sets the TracingConfig field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the TracingConfig field is set to the value of the last call.
func (b *PrometheusAgentSpecApplyConfiguration) WithTracingConfig(value *v1.PrometheusTracingConfigApplyConfiguration) *PrometheusAgentSpecApplyConfiguration {
b.TracingConfig = value
return b
}

View file

@ -435,7 +435,6 @@ func (cg *ConfigGenerator) GenerateServerConfiguration(
tsdb monitoringv1.TSDBSpec,
alerting *monitoringv1.AlertingSpec,
remoteRead []monitoringv1.RemoteReadSpec,
tracingConfig *monitoringv1.PrometheusTracingConfig,
sMons map[string]*monitoringv1.ServiceMonitor,
pMons map[string]*monitoringv1.PodMonitor,
probes map[string]*monitoringv1.Probe,
@ -511,8 +510,9 @@ func (cg *ConfigGenerator) GenerateServerConfiguration(
cfg = append(cfg, cg.generateRemoteReadConfig(remoteRead, store))
}
if tracingConfig != nil {
tracingcfg, err := cg.generateTracingConfig(tracingConfig)
if cpf.TracingConfig != nil {
tracingcfg, err := cg.generateTracingConfig()
if err != nil {
return nil, errors.Wrap(err, "generating tracing configuration failed")
}
@ -2099,6 +2099,15 @@ func (cg *ConfigGenerator) GenerateAgentConfiguration(
cfg = append(cfg, cg.generateRemoteWriteConfig(store))
}
if cpf.TracingConfig != nil {
tracingcfg, err := cg.generateTracingConfig()
if err != nil {
return nil, errors.Wrap(err, "generating tracing configuration failed")
}
cfg = append(cfg, tracingcfg)
}
return yaml.Marshal(cfg)
}
@ -2229,10 +2238,12 @@ func (cg *ConfigGenerator) generateScrapeConfig(
return cfg
}
func (cg *ConfigGenerator) generateTracingConfig(tracingConfig *monitoringv1.PrometheusTracingConfig) (yaml.MapItem, error) {
func (cg *ConfigGenerator) generateTracingConfig() (yaml.MapItem, error) {
cfg := yaml.MapSlice{}
objMeta := cg.prom.GetObjectMeta()
tracingConfig := cg.prom.GetCommonPrometheusFields().TracingConfig
cfg = append(cfg, yaml.MapItem{
Key: "endpoint",
Value: tracingConfig.Endpoint,

View file

@ -194,6 +194,7 @@ scrape_configs: []
ScrapeTimeout: tc.ScrapeTimeout,
ExternalLabels: tc.ExternalLabels,
Version: tc.Version,
TracingConfig: nil,
},
EvaluationInterval: tc.EvaluationInterval,
QueryLogFile: tc.QueryLogFile,
@ -210,7 +211,6 @@ scrape_configs: []
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{},
nil,
nil,
@ -433,7 +433,6 @@ func TestProbeStaticTargetsConfigGeneration(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -539,7 +538,6 @@ func TestProbeStaticTargetsConfigGenerationWithLabelEnforce(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -645,7 +643,6 @@ func TestProbeStaticTargetsConfigGenerationWithJobName(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -737,7 +734,6 @@ func TestProbeStaticTargetsConfigGenerationWithoutModule(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -825,7 +821,6 @@ func TestProbeIngressSDConfigGeneration(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -958,7 +953,6 @@ func TestProbeIngressSDConfigGenerationWithShards(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -1090,7 +1084,6 @@ func TestProbeIngressSDConfigGenerationWithLabelEnforce(t *testing.T) {
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"probe1": {
ObjectMeta: metav1.ObjectMeta{
@ -1335,7 +1328,6 @@ func TestAlertmanagerBearerToken(t *testing.T) {
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -1509,7 +1501,6 @@ alerting:
nil,
nil,
nil,
nil,
&assets.Store{BasicAuthAssets: map[string]assets.BasicAuthCredentials{
"alertmanager/auth/0": {
Username: "bob",
@ -1555,7 +1546,6 @@ func TestAlertmanagerAPIVersion(t *testing.T) {
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -1628,7 +1618,6 @@ func TestAlertmanagerTimeoutConfig(t *testing.T) {
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -1825,7 +1814,6 @@ alerting:
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -1856,7 +1844,6 @@ func TestAdditionalScrapeConfigs(t *testing.T) {
nil,
nil,
nil,
nil,
&assets.Store{},
[]byte(`- job_name: prometheus
scrape_interval: 15s
@ -2022,7 +2009,6 @@ func TestAdditionalAlertRelabelConfigs(t *testing.T) {
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
[]byte(`- action: drop
@ -2084,7 +2070,6 @@ func TestNoEnforcedNamespaceLabelServiceMonitor(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -2245,7 +2230,6 @@ func TestServiceMonitorWithEndpointSliceEnable(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -2413,7 +2397,6 @@ func TestEnforcedNamespaceLabelPodMonitor(t *testing.T) {
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -2560,7 +2543,6 @@ func TestEnforcedNamespaceLabelOnExcludedPodMonitor(t *testing.T) {
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -2699,7 +2681,6 @@ func TestEnforcedNamespaceLabelServiceMonitor(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -2873,7 +2854,6 @@ func TestEnforcedNamespaceLabelOnExcludedServiceMonitor(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -3044,7 +3024,6 @@ func TestAdditionalAlertmanagers(t *testing.T) {
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -3104,7 +3083,6 @@ func TestSettingHonorTimestampsInServiceMonitor(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -3232,7 +3210,6 @@ func TestSettingHonorTimestampsInPodMonitor(t *testing.T) {
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -3340,7 +3317,6 @@ func TestHonorTimestampsOverriding(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -3467,7 +3443,6 @@ func TestSettingHonorLabels(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -3597,7 +3572,6 @@ func TestHonorLabelsOverriding(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -3726,7 +3700,6 @@ func TestTargetLabels(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -3986,7 +3959,6 @@ oauth2:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
tt.sMons,
tt.pMons,
tt.probes,
@ -4023,7 +3995,6 @@ func TestPodTargetLabels(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -4152,7 +4123,6 @@ func TestPodTargetLabelsFromPodMonitor(t *testing.T) {
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -4262,7 +4232,6 @@ func TestPodTargetLabelsFromPodMonitorAndGlobal(t *testing.T) {
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -4370,7 +4339,6 @@ func TestEmptyEndpointPorts(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -4539,7 +4507,6 @@ func generateTestConfig(t *testing.T, version string) ([]byte, error) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
makeServiceMonitors(),
makePodMonitors(),
nil,
@ -5174,7 +5141,6 @@ scrape_configs:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": &serviceMonitor,
},
@ -5431,7 +5397,6 @@ scrape_configs:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": &serviceMonitor,
},
@ -5667,7 +5632,6 @@ remote_read:
nil,
nil,
nil,
nil,
&assets.Store{
BasicAuthAssets: map[string]assets.BasicAuthCredentials{},
OAuth2Assets: map[string]assets.OAuth2Credentials{
@ -6184,7 +6148,6 @@ remote_write:
nil,
nil,
nil,
nil,
store,
nil,
nil,
@ -6438,7 +6401,6 @@ scrape_configs:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": &serviceMonitor,
},
@ -6657,7 +6619,6 @@ scrape_configs:
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": &podMonitor,
},
@ -6858,7 +6819,6 @@ scrape_configs:
p.Spec.RemoteRead,
nil,
nil,
nil,
map[string]*monitoringv1.Probe{
"testprobe1": &probe,
},
@ -7076,7 +7036,6 @@ scrape_configs:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": &serviceMonitor,
},
@ -7113,7 +7072,6 @@ func TestMatchExpressionsServiceMonitor(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -7503,7 +7461,6 @@ scrape_configs:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": &serviceMonitor,
},
@ -7740,7 +7697,6 @@ scrape_configs:
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": &podMonitor,
},
@ -8031,7 +7987,6 @@ scrape_configs:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"testservicemonitor1": &serviceMonitor,
},
@ -8063,7 +8018,6 @@ func TestPodMonitorPhaseFilter(t *testing.T) {
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": {
ObjectMeta: metav1.ObjectMeta{
@ -8360,7 +8314,6 @@ scrape_configs:
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
nil,
map[string]*monitoringv1.PodMonitor{
"testpodmonitor1": &podMonitor,
},
@ -8451,7 +8404,6 @@ scrape_configs: []
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -8538,7 +8490,6 @@ storage:
nil,
nil,
nil,
nil,
&assets.Store{},
nil,
nil,
@ -8563,7 +8514,6 @@ func TestGenerateRelabelConfig(t *testing.T) {
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
nil,
map[string]*monitoringv1.ServiceMonitor{
"test": {
ObjectMeta: metav1.ObjectMeta{
@ -8946,7 +8896,6 @@ scrape_configs:
nil,
nil,
nil,
nil,
scs,
nil,
nil,
@ -9024,7 +8973,8 @@ tracing:
t.Run(tc.name, func(t *testing.T) {
p := defaultPrometheus()
p.Spec.TracingConfig = tc.tracingConfig
p.Spec.CommonPrometheusFields.TracingConfig = tc.tracingConfig
cg := mustNewConfigGenerator(t, p)
cfg, err := cg.GenerateServerConfiguration(
@ -9035,7 +8985,6 @@ tracing:
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
p.Spec.TracingConfig,
nil,
nil,
nil,

View file

@ -1640,7 +1640,6 @@ func (c *Operator) createOrUpdateConfigurationSecret(ctx context.Context, p *mon
p.Spec.TSDB,
p.Spec.Alerting,
p.Spec.RemoteRead,
p.Spec.TracingConfig,
smons,
pmons,
bmons,