mirror of
https://github.com/prometheus-operator/prometheus-operator.git
synced 2025-04-16 01:06:27 +00:00
feat: update Prometheus to v2.45.0 & Add global limits fields (#5646)
Add global limits field to Prometheus Co-authored-by: Arthur Silva Sens <arthur.sens@coralogix.com>
This commit is contained in:
parent
062874f27d
commit
ec8188c48b
17 changed files with 984 additions and 15 deletions
400
Documentation/api.md
generated
400
Documentation/api.md
generated
|
@ -2360,6 +2360,86 @@ breaking way.</p>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>bodySizeLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ByteSize">
|
||||||
|
ByteSize
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>sampleLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>targetLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelNameLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelValueLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>baseImage</code><br/>
|
<code>baseImage</code><br/>
|
||||||
<em>
|
<em>
|
||||||
string
|
string
|
||||||
|
@ -6397,6 +6477,86 @@ experimental feature, it may change in any upcoming release in a
|
||||||
breaking way.</p>
|
breaking way.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>bodySizeLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ByteSize">
|
||||||
|
ByteSize
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>sampleLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>targetLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelNameLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelValueLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<h3 id="monitoring.coreos.com/v1.Condition">Condition
|
<h3 id="monitoring.coreos.com/v1.Condition">Condition
|
||||||
|
@ -9991,6 +10151,86 @@ breaking way.</p>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>bodySizeLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ByteSize">
|
||||||
|
ByteSize
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>sampleLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>targetLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelNameLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelValueLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>baseImage</code><br/>
|
<code>baseImage</code><br/>
|
||||||
<em>
|
<em>
|
||||||
string
|
string
|
||||||
|
@ -15156,6 +15396,86 @@ experimental feature, it may change in any upcoming release in a
|
||||||
breaking way.</p>
|
breaking way.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>bodySizeLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ByteSize">
|
||||||
|
ByteSize
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>sampleLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>targetLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelNameLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelValueLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -18458,6 +18778,86 @@ experimental feature, it may change in any upcoming release in a
|
||||||
breaking way.</p>
|
breaking way.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>bodySizeLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ByteSize">
|
||||||
|
ByteSize
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>sampleLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>targetLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelNameLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>labelValueLengthLimit</code><br/>
|
||||||
|
<em>
|
||||||
|
uint64
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<h3 id="monitoring.coreos.com/v1alpha1.PushoverConfig">PushoverConfig
|
<h3 id="monitoring.coreos.com/v1alpha1.PushoverConfig">PushoverConfig
|
||||||
|
|
|
@ -56,12 +56,13 @@ Prometheus Operator supports all Prometheus versions >= v2.0.0. The operator's e
|
||||||
* v2.43.0
|
* v2.43.0
|
||||||
* v2.43.1
|
* v2.43.1
|
||||||
* v2.44.0
|
* v2.44.0
|
||||||
|
* v2.45.0
|
||||||
```
|
```
|
||||||
|
|
||||||
The end-to-end tests are mostly tested against
|
The end-to-end tests are mostly tested against
|
||||||
|
|
||||||
```$ mdox-exec="go run ./cmd/po-docgen/. compatibility defaultPrometheusVersion"
|
```$ mdox-exec="go run ./cmd/po-docgen/. compatibility defaultPrometheusVersion"
|
||||||
* v2.44.0
|
* v2.45.0
|
||||||
```
|
```
|
||||||
|
|
||||||
## Alertmanager
|
## Alertmanager
|
||||||
|
|
68
bundle.yaml
generated
68
bundle.yaml
generated
|
@ -14828,6 +14828,11 @@ spec:
|
||||||
deny:
|
deny:
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
|
bodySizeLimit:
|
||||||
|
description: BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
|
type: string
|
||||||
configMaps:
|
configMaps:
|
||||||
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
||||||
as the Prometheus object, which shall be mounted into the Prometheus
|
as the Prometheus object, which shall be mounted into the Prometheus
|
||||||
|
@ -17598,6 +17603,23 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
listenLocal:
|
listenLocal:
|
||||||
description: When true, the Prometheus server listens on the loopback
|
description: When true, the Prometheus server listens on the loopback
|
||||||
address instead of the Pod IP's address.
|
address instead of the Pod IP's address.
|
||||||
|
@ -18509,6 +18531,12 @@ spec:
|
||||||
is still true, but the server serves requests under a different
|
is still true, but the server serves requests under a different
|
||||||
route prefix. For example for use with `kubectl proxy`."
|
route prefix. For example for use with `kubectl proxy`."
|
||||||
type: string
|
type: string
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
scrapeConfigNamespaceSelector:
|
scrapeConfigNamespaceSelector:
|
||||||
description: Namespaces to match for ScrapeConfig discovery. An empty
|
description: Namespaces to match for ScrapeConfig discovery. An empty
|
||||||
label selector matches all namespaces. A null label selector matches
|
label selector matches all namespaces. A null label selector matches
|
||||||
|
@ -19567,6 +19595,12 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
tolerations:
|
tolerations:
|
||||||
description: Defines the Pods' tolerations if specified.
|
description: Defines the Pods' tolerations if specified.
|
||||||
items:
|
items:
|
||||||
|
@ -23443,6 +23477,11 @@ spec:
|
||||||
baseImage:
|
baseImage:
|
||||||
description: '*Deprecated: use ''spec.image'' instead.*'
|
description: '*Deprecated: use ''spec.image'' instead.*'
|
||||||
type: string
|
type: string
|
||||||
|
bodySizeLimit:
|
||||||
|
description: BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
|
type: string
|
||||||
configMaps:
|
configMaps:
|
||||||
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
||||||
as the Prometheus object, which shall be mounted into the Prometheus
|
as the Prometheus object, which shall be mounted into the Prometheus
|
||||||
|
@ -26243,6 +26282,23 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
listenLocal:
|
listenLocal:
|
||||||
description: When true, the Prometheus server listens on the loopback
|
description: When true, the Prometheus server listens on the loopback
|
||||||
address instead of the Pod IP's address.
|
address instead of the Pod IP's address.
|
||||||
|
@ -27699,6 +27755,12 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
scrapeConfigNamespaceSelector:
|
scrapeConfigNamespaceSelector:
|
||||||
description: Namespaces to match for ScrapeConfig discovery. An empty
|
description: Namespaces to match for ScrapeConfig discovery. An empty
|
||||||
label selector matches all namespaces. A null label selector matches
|
label selector matches all namespaces. A null label selector matches
|
||||||
|
@ -28765,6 +28827,12 @@ spec:
|
||||||
description: '*Deprecated: use ''spec.image'' instead. The image''s
|
description: '*Deprecated: use ''spec.image'' instead. The image''s
|
||||||
tag can be specified as part of the image name.*'
|
tag can be specified as part of the image name.*'
|
||||||
type: string
|
type: string
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
thanos:
|
thanos:
|
||||||
description: "Defines the configuration of the optional Thanos sidecar.
|
description: "Defines the configuration of the optional Thanos sidecar.
|
||||||
\n This section is experimental, it may change significantly without
|
\n This section is experimental, it may change significantly without
|
||||||
|
|
|
@ -1196,6 +1196,11 @@ spec:
|
||||||
deny:
|
deny:
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
|
bodySizeLimit:
|
||||||
|
description: BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
|
type: string
|
||||||
configMaps:
|
configMaps:
|
||||||
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
||||||
as the Prometheus object, which shall be mounted into the Prometheus
|
as the Prometheus object, which shall be mounted into the Prometheus
|
||||||
|
@ -3966,6 +3971,23 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
listenLocal:
|
listenLocal:
|
||||||
description: When true, the Prometheus server listens on the loopback
|
description: When true, the Prometheus server listens on the loopback
|
||||||
address instead of the Pod IP's address.
|
address instead of the Pod IP's address.
|
||||||
|
@ -4877,6 +4899,12 @@ spec:
|
||||||
is still true, but the server serves requests under a different
|
is still true, but the server serves requests under a different
|
||||||
route prefix. For example for use with `kubectl proxy`."
|
route prefix. For example for use with `kubectl proxy`."
|
||||||
type: string
|
type: string
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
scrapeConfigNamespaceSelector:
|
scrapeConfigNamespaceSelector:
|
||||||
description: Namespaces to match for ScrapeConfig discovery. An empty
|
description: Namespaces to match for ScrapeConfig discovery. An empty
|
||||||
label selector matches all namespaces. A null label selector matches
|
label selector matches all namespaces. A null label selector matches
|
||||||
|
@ -5935,6 +5963,12 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
tolerations:
|
tolerations:
|
||||||
description: Defines the Pods' tolerations if specified.
|
description: Defines the Pods' tolerations if specified.
|
||||||
items:
|
items:
|
||||||
|
|
|
@ -1534,6 +1534,11 @@ spec:
|
||||||
baseImage:
|
baseImage:
|
||||||
description: '*Deprecated: use ''spec.image'' instead.*'
|
description: '*Deprecated: use ''spec.image'' instead.*'
|
||||||
type: string
|
type: string
|
||||||
|
bodySizeLimit:
|
||||||
|
description: BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
|
type: string
|
||||||
configMaps:
|
configMaps:
|
||||||
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
||||||
as the Prometheus object, which shall be mounted into the Prometheus
|
as the Prometheus object, which shall be mounted into the Prometheus
|
||||||
|
@ -4334,6 +4339,23 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
listenLocal:
|
listenLocal:
|
||||||
description: When true, the Prometheus server listens on the loopback
|
description: When true, the Prometheus server listens on the loopback
|
||||||
address instead of the Pod IP's address.
|
address instead of the Pod IP's address.
|
||||||
|
@ -5790,6 +5812,12 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
scrapeConfigNamespaceSelector:
|
scrapeConfigNamespaceSelector:
|
||||||
description: Namespaces to match for ScrapeConfig discovery. An empty
|
description: Namespaces to match for ScrapeConfig discovery. An empty
|
||||||
label selector matches all namespaces. A null label selector matches
|
label selector matches all namespaces. A null label selector matches
|
||||||
|
@ -6856,6 +6884,12 @@ spec:
|
||||||
description: '*Deprecated: use ''spec.image'' instead. The image''s
|
description: '*Deprecated: use ''spec.image'' instead. The image''s
|
||||||
tag can be specified as part of the image name.*'
|
tag can be specified as part of the image name.*'
|
||||||
type: string
|
type: string
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
thanos:
|
thanos:
|
||||||
description: "Defines the configuration of the optional Thanos sidecar.
|
description: "Defines the configuration of the optional Thanos sidecar.
|
||||||
\n This section is experimental, it may change significantly without
|
\n This section is experimental, it may change significantly without
|
||||||
|
|
|
@ -1196,6 +1196,11 @@ spec:
|
||||||
deny:
|
deny:
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
|
bodySizeLimit:
|
||||||
|
description: BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
|
type: string
|
||||||
configMaps:
|
configMaps:
|
||||||
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
||||||
as the Prometheus object, which shall be mounted into the Prometheus
|
as the Prometheus object, which shall be mounted into the Prometheus
|
||||||
|
@ -3966,6 +3971,23 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
listenLocal:
|
listenLocal:
|
||||||
description: When true, the Prometheus server listens on the loopback
|
description: When true, the Prometheus server listens on the loopback
|
||||||
address instead of the Pod IP's address.
|
address instead of the Pod IP's address.
|
||||||
|
@ -4877,6 +4899,12 @@ spec:
|
||||||
is still true, but the server serves requests under a different
|
is still true, but the server serves requests under a different
|
||||||
route prefix. For example for use with `kubectl proxy`."
|
route prefix. For example for use with `kubectl proxy`."
|
||||||
type: string
|
type: string
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
scrapeConfigNamespaceSelector:
|
scrapeConfigNamespaceSelector:
|
||||||
description: Namespaces to match for ScrapeConfig discovery. An empty
|
description: Namespaces to match for ScrapeConfig discovery. An empty
|
||||||
label selector matches all namespaces. A null label selector matches
|
label selector matches all namespaces. A null label selector matches
|
||||||
|
@ -5935,6 +5963,12 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
tolerations:
|
tolerations:
|
||||||
description: Defines the Pods' tolerations if specified.
|
description: Defines the Pods' tolerations if specified.
|
||||||
items:
|
items:
|
||||||
|
|
|
@ -1534,6 +1534,11 @@ spec:
|
||||||
baseImage:
|
baseImage:
|
||||||
description: '*Deprecated: use ''spec.image'' instead.*'
|
description: '*Deprecated: use ''spec.image'' instead.*'
|
||||||
type: string
|
type: string
|
||||||
|
bodySizeLimit:
|
||||||
|
description: BodySizeLimit defines per-scrape on response body size.
|
||||||
|
Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
|
type: string
|
||||||
configMaps:
|
configMaps:
|
||||||
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
description: ConfigMaps is a list of ConfigMaps in the same namespace
|
||||||
as the Prometheus object, which shall be mounted into the Prometheus
|
as the Prometheus object, which shall be mounted into the Prometheus
|
||||||
|
@ -4334,6 +4339,23 @@ spec:
|
||||||
- name
|
- name
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
labelLimit:
|
||||||
|
description: Per-scrape limit on number of labels that will be accepted
|
||||||
|
for a sample. Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelNameLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels name that will be
|
||||||
|
accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
labelValueLengthLimit:
|
||||||
|
description: Per-scrape limit on length of labels value that will
|
||||||
|
be accepted for a sample. Only valid in Prometheus versions 2.45.0
|
||||||
|
and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
listenLocal:
|
listenLocal:
|
||||||
description: When true, the Prometheus server listens on the loopback
|
description: When true, the Prometheus server listens on the loopback
|
||||||
address instead of the Pod IP's address.
|
address instead of the Pod IP's address.
|
||||||
|
@ -5790,6 +5812,12 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
|
sampleLimit:
|
||||||
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
scrapeConfigNamespaceSelector:
|
scrapeConfigNamespaceSelector:
|
||||||
description: Namespaces to match for ScrapeConfig discovery. An empty
|
description: Namespaces to match for ScrapeConfig discovery. An empty
|
||||||
label selector matches all namespaces. A null label selector matches
|
label selector matches all namespaces. A null label selector matches
|
||||||
|
@ -6856,6 +6884,12 @@ spec:
|
||||||
description: '*Deprecated: use ''spec.image'' instead. The image''s
|
description: '*Deprecated: use ''spec.image'' instead. The image''s
|
||||||
tag can be specified as part of the image name.*'
|
tag can be specified as part of the image name.*'
|
||||||
type: string
|
type: string
|
||||||
|
targetLimit:
|
||||||
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted. Only valid in Prometheus versions
|
||||||
|
2.45.0 and newer.
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
thanos:
|
thanos:
|
||||||
description: "Defines the configuration of the optional Thanos sidecar.
|
description: "Defines the configuration of the optional Thanos sidecar.
|
||||||
\n This section is experimental, it may change significantly without
|
\n This section is experimental, it may change significantly without
|
||||||
|
|
|
@ -1051,6 +1051,11 @@
|
||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"bodySizeLimit": {
|
||||||
|
"description": "BodySizeLimit defines per-scrape on response body size. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"pattern": "(^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"configMaps": {
|
"configMaps": {
|
||||||
"description": "ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-<configmap-name>`. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name> in the 'prometheus' container.",
|
"description": "ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-<configmap-name>`. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name> in the 'prometheus' container.",
|
||||||
"items": {
|
"items": {
|
||||||
|
@ -3569,6 +3574,21 @@
|
||||||
},
|
},
|
||||||
"type": "array"
|
"type": "array"
|
||||||
},
|
},
|
||||||
|
"labelLimit": {
|
||||||
|
"description": "Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"labelNameLengthLimit": {
|
||||||
|
"description": "Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"labelValueLengthLimit": {
|
||||||
|
"description": "Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"listenLocal": {
|
"listenLocal": {
|
||||||
"description": "When true, the Prometheus server listens on the loopback address instead of the Pod IP's address.",
|
"description": "When true, the Prometheus server listens on the loopback address instead of the Pod IP's address.",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
@ -4482,6 +4502,11 @@
|
||||||
"description": "The route prefix Prometheus registers HTTP handlers for. \n This is useful when using `spec.externalURL`, and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true, but the server serves requests under a different route prefix. For example for use with `kubectl proxy`.",
|
"description": "The route prefix Prometheus registers HTTP handlers for. \n This is useful when using `spec.externalURL`, and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true, but the server serves requests under a different route prefix. For example for use with `kubectl proxy`.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"sampleLimit": {
|
||||||
|
"description": "SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"scrapeConfigNamespaceSelector": {
|
"scrapeConfigNamespaceSelector": {
|
||||||
"description": "Namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current current namespace only.",
|
"description": "Namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current current namespace only.",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -5335,6 +5360,11 @@
|
||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"targetLimit": {
|
||||||
|
"description": "TargetLimit defines a limit on the number of scraped targets that will be accepted. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"tolerations": {
|
"tolerations": {
|
||||||
"description": "Defines the Pods' tolerations if specified.",
|
"description": "Defines the Pods' tolerations if specified.",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -1402,6 +1402,11 @@
|
||||||
"description": "*Deprecated: use 'spec.image' instead.*",
|
"description": "*Deprecated: use 'spec.image' instead.*",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"bodySizeLimit": {
|
||||||
|
"description": "BodySizeLimit defines per-scrape on response body size. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"pattern": "(^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"configMaps": {
|
"configMaps": {
|
||||||
"description": "ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-<configmap-name>`. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name> in the 'prometheus' container.",
|
"description": "ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. Each ConfigMap is added to the StatefulSet definition as a volume named `configmap-<configmap-name>`. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name> in the 'prometheus' container.",
|
||||||
"items": {
|
"items": {
|
||||||
|
@ -3945,6 +3950,21 @@
|
||||||
},
|
},
|
||||||
"type": "array"
|
"type": "array"
|
||||||
},
|
},
|
||||||
|
"labelLimit": {
|
||||||
|
"description": "Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"labelNameLengthLimit": {
|
||||||
|
"description": "Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"labelValueLengthLimit": {
|
||||||
|
"description": "Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"listenLocal": {
|
"listenLocal": {
|
||||||
"description": "When true, the Prometheus server listens on the loopback address instead of the Pod IP's address.",
|
"description": "When true, the Prometheus server listens on the loopback address instead of the Pod IP's address.",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
@ -5430,6 +5450,11 @@
|
||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"sampleLimit": {
|
||||||
|
"description": "SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"scrapeConfigNamespaceSelector": {
|
"scrapeConfigNamespaceSelector": {
|
||||||
"description": "Namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current current namespace only.",
|
"description": "Namespaces to match for ScrapeConfig discovery. An empty label selector matches all namespaces. A null label selector matches the current current namespace only.",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -6291,6 +6316,11 @@
|
||||||
"description": "*Deprecated: use 'spec.image' instead. The image's tag can be specified as part of the image name.*",
|
"description": "*Deprecated: use 'spec.image' instead. The image's tag can be specified as part of the image name.*",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"targetLimit": {
|
||||||
|
"description": "TargetLimit defines a limit on the number of scraped targets that will be accepted. Only valid in Prometheus versions 2.45.0 and newer.",
|
||||||
|
"format": "int64",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"thanos": {
|
"thanos": {
|
||||||
"description": "Defines the configuration of the optional Thanos sidecar. \n This section is experimental, it may change significantly without deprecation notice in any release.",
|
"description": "Defines the configuration of the optional Thanos sidecar. \n This section is experimental, it may change significantly without deprecation notice in any release.",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
|
|
@ -550,6 +550,36 @@ type CommonPrometheusFields struct {
|
||||||
//
|
//
|
||||||
// +optional
|
// +optional
|
||||||
TracingConfig *PrometheusTracingConfig `json:"tracingConfig,omitempty"`
|
TracingConfig *PrometheusTracingConfig `json:"tracingConfig,omitempty"`
|
||||||
|
// BodySizeLimit defines per-scrape on response body size.
|
||||||
|
// Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
BodySizeLimit *ByteSize `json:"bodySizeLimit,omitempty"`
|
||||||
|
// SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
||||||
|
// Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
||||||
|
// TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
||||||
|
// Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
||||||
|
// Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
// Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
||||||
|
// Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
// Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
||||||
|
// Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
// Only valid in Prometheus versions 2.45.0 and newer.
|
||||||
|
//
|
||||||
|
// +optional
|
||||||
|
LabelValueLengthLimit *uint64 `json:"labelValueLengthLimit,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// +genclient
|
// +genclient
|
||||||
|
|
30
pkg/apis/monitoring/v1/zz_generated.deepcopy.go
generated
30
pkg/apis/monitoring/v1/zz_generated.deepcopy.go
generated
|
@ -792,6 +792,36 @@ func (in *CommonPrometheusFields) DeepCopyInto(out *CommonPrometheusFields) {
|
||||||
*out = new(PrometheusTracingConfig)
|
*out = new(PrometheusTracingConfig)
|
||||||
(*in).DeepCopyInto(*out)
|
(*in).DeepCopyInto(*out)
|
||||||
}
|
}
|
||||||
|
if in.BodySizeLimit != nil {
|
||||||
|
in, out := &in.BodySizeLimit, &out.BodySizeLimit
|
||||||
|
*out = new(ByteSize)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.SampleLimit != nil {
|
||||||
|
in, out := &in.SampleLimit, &out.SampleLimit
|
||||||
|
*out = new(uint64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.TargetLimit != nil {
|
||||||
|
in, out := &in.TargetLimit, &out.TargetLimit
|
||||||
|
*out = new(uint64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.LabelLimit != nil {
|
||||||
|
in, out := &in.LabelLimit, &out.LabelLimit
|
||||||
|
*out = new(uint64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.LabelNameLengthLimit != nil {
|
||||||
|
in, out := &in.LabelNameLengthLimit, &out.LabelNameLengthLimit
|
||||||
|
*out = new(uint64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.LabelValueLengthLimit != nil {
|
||||||
|
in, out := &in.LabelValueLengthLimit, &out.LabelValueLengthLimit
|
||||||
|
*out = new(uint64)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonPrometheusFields.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonPrometheusFields.
|
||||||
|
|
|
@ -92,6 +92,12 @@ type CommonPrometheusFieldsApplyConfiguration struct {
|
||||||
HostNetwork *bool `json:"hostNetwork,omitempty"`
|
HostNetwork *bool `json:"hostNetwork,omitempty"`
|
||||||
PodTargetLabels []string `json:"podTargetLabels,omitempty"`
|
PodTargetLabels []string `json:"podTargetLabels,omitempty"`
|
||||||
TracingConfig *PrometheusTracingConfigApplyConfiguration `json:"tracingConfig,omitempty"`
|
TracingConfig *PrometheusTracingConfigApplyConfiguration `json:"tracingConfig,omitempty"`
|
||||||
|
BodySizeLimit *monitoringv1.ByteSize `json:"bodySizeLimit,omitempty"`
|
||||||
|
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
||||||
|
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
||||||
|
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
||||||
|
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
||||||
|
LabelValueLengthLimit *uint64 `json:"labelValueLengthLimit,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// CommonPrometheusFieldsApplyConfiguration constructs an declarative configuration of the CommonPrometheusFields type for use with
|
// CommonPrometheusFieldsApplyConfiguration constructs an declarative configuration of the CommonPrometheusFields type for use with
|
||||||
|
@ -689,3 +695,51 @@ func (b *CommonPrometheusFieldsApplyConfiguration) WithTracingConfig(value *Prom
|
||||||
b.TracingConfig = value
|
b.TracingConfig = value
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithBodySizeLimit sets the BodySizeLimit 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 BodySizeLimit field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithBodySizeLimit(value monitoringv1.ByteSize) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.BodySizeLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSampleLimit sets the SampleLimit 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 SampleLimit field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithSampleLimit(value uint64) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.SampleLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTargetLimit sets the TargetLimit 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 TargetLimit field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithTargetLimit(value uint64) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.TargetLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelLimit sets the LabelLimit 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 LabelLimit field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithLabelLimit(value uint64) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.LabelLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelNameLengthLimit sets the LabelNameLengthLimit 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 LabelNameLengthLimit field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithLabelNameLengthLimit(value uint64) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.LabelNameLengthLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelValueLengthLimit sets the LabelValueLengthLimit 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 LabelValueLengthLimit field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithLabelValueLengthLimit(value uint64) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.LabelValueLengthLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
|
@ -646,6 +646,54 @@ func (b *PrometheusSpecApplyConfiguration) WithTracingConfig(value *PrometheusTr
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithBodySizeLimit sets the BodySizeLimit 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 BodySizeLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithBodySizeLimit(value monitoringv1.ByteSize) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.BodySizeLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSampleLimit sets the SampleLimit 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 SampleLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithSampleLimit(value uint64) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.SampleLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTargetLimit sets the TargetLimit 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 TargetLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithTargetLimit(value uint64) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.TargetLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelLimit sets the LabelLimit 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 LabelLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithLabelLimit(value uint64) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.LabelLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelNameLengthLimit sets the LabelNameLengthLimit 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 LabelNameLengthLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithLabelNameLengthLimit(value uint64) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.LabelNameLengthLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelValueLengthLimit sets the LabelValueLengthLimit 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 LabelValueLengthLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithLabelValueLengthLimit(value uint64) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.LabelValueLengthLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithBaseImage sets the BaseImage field in the declarative configuration to the given value
|
// 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.
|
// 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.
|
// If called multiple times, the BaseImage field is set to the value of the last call.
|
||||||
|
|
|
@ -624,3 +624,51 @@ func (b *PrometheusAgentSpecApplyConfiguration) WithTracingConfig(value *v1.Prom
|
||||||
b.TracingConfig = value
|
b.TracingConfig = value
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithBodySizeLimit sets the BodySizeLimit 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 BodySizeLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithBodySizeLimit(value monitoringv1.ByteSize) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.BodySizeLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSampleLimit sets the SampleLimit 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 SampleLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithSampleLimit(value uint64) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.SampleLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTargetLimit sets the TargetLimit 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 TargetLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithTargetLimit(value uint64) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.TargetLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelLimit sets the LabelLimit 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 LabelLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithLabelLimit(value uint64) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.LabelLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelNameLengthLimit sets the LabelNameLengthLimit 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 LabelNameLengthLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithLabelNameLengthLimit(value uint64) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.LabelNameLengthLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithLabelValueLengthLimit sets the LabelValueLengthLimit 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 LabelValueLengthLimit field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithLabelValueLengthLimit(value uint64) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.LabelValueLengthLimit = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
|
@ -75,5 +75,6 @@ var (
|
||||||
"v2.43.0",
|
"v2.43.0",
|
||||||
"v2.43.1",
|
"v2.43.1",
|
||||||
"v2.44.0",
|
"v2.44.0",
|
||||||
|
"v2.45.0",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -488,6 +488,7 @@ func (cg *ConfigGenerator) GenerateServerConfiguration(
|
||||||
globalItems = cg.appendScrapeIntervals(globalItems)
|
globalItems = cg.appendScrapeIntervals(globalItems)
|
||||||
globalItems = cg.appendExternalLabels(globalItems)
|
globalItems = cg.appendExternalLabels(globalItems)
|
||||||
globalItems = cg.appendQueryLogFile(globalItems, queryLogFile)
|
globalItems = cg.appendQueryLogFile(globalItems, queryLogFile)
|
||||||
|
globalItems = cg.appendScrapeLimits(globalItems)
|
||||||
cfg = append(cfg, yaml.MapItem{Key: "global", Value: globalItems})
|
cfg = append(cfg, yaml.MapItem{Key: "global", Value: globalItems})
|
||||||
|
|
||||||
// Rule Files config
|
// Rule Files config
|
||||||
|
@ -1954,6 +1955,30 @@ func (cg *ConfigGenerator) appendEvaluationInterval(slice yaml.MapSlice, evaluat
|
||||||
return append(slice, yaml.MapItem{Key: "evaluation_interval", Value: evaluationInterval})
|
return append(slice, yaml.MapItem{Key: "evaluation_interval", Value: evaluationInterval})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cg *ConfigGenerator) appendScrapeLimits(slice yaml.MapSlice) yaml.MapSlice {
|
||||||
|
cpf := cg.prom.GetCommonPrometheusFields()
|
||||||
|
if cpf.BodySizeLimit != nil {
|
||||||
|
slice = cg.WithMinimumVersion("2.45.0").AppendMapItem(slice, "body_size_limit", cpf.BodySizeLimit)
|
||||||
|
}
|
||||||
|
if cpf.SampleLimit != nil {
|
||||||
|
slice = cg.WithMinimumVersion("2.45.0").AppendMapItem(slice, "sample_limit", *cpf.SampleLimit)
|
||||||
|
}
|
||||||
|
if cpf.TargetLimit != nil {
|
||||||
|
slice = cg.WithMinimumVersion("2.45.0").AppendMapItem(slice, "target_limit", *cpf.TargetLimit)
|
||||||
|
}
|
||||||
|
if cpf.LabelLimit != nil {
|
||||||
|
slice = cg.WithMinimumVersion("2.45.0").AppendMapItem(slice, "label_limit", *cpf.LabelLimit)
|
||||||
|
}
|
||||||
|
if cpf.LabelNameLengthLimit != nil {
|
||||||
|
slice = cg.WithMinimumVersion("2.45.0").AppendMapItem(slice, "label_name_length_limit", *cpf.LabelNameLengthLimit)
|
||||||
|
}
|
||||||
|
if cpf.LabelValueLengthLimit != nil {
|
||||||
|
slice = cg.WithMinimumVersion("2.45.0").AppendMapItem(slice, "label_value_length_limit", *cpf.LabelValueLengthLimit)
|
||||||
|
}
|
||||||
|
|
||||||
|
return slice
|
||||||
|
}
|
||||||
|
|
||||||
func (cg *ConfigGenerator) appendExternalLabels(slice yaml.MapSlice) yaml.MapSlice {
|
func (cg *ConfigGenerator) appendExternalLabels(slice yaml.MapSlice) yaml.MapSlice {
|
||||||
slice = append(slice, yaml.MapItem{
|
slice = append(slice, yaml.MapItem{
|
||||||
Key: "external_labels",
|
Key: "external_labels",
|
||||||
|
@ -2114,6 +2139,7 @@ func (cg *ConfigGenerator) GenerateAgentConfiguration(
|
||||||
globalItems := yaml.MapSlice{}
|
globalItems := yaml.MapSlice{}
|
||||||
globalItems = cg.appendScrapeIntervals(globalItems)
|
globalItems = cg.appendScrapeIntervals(globalItems)
|
||||||
globalItems = cg.appendExternalLabels(globalItems)
|
globalItems = cg.appendExternalLabels(globalItems)
|
||||||
|
globalItems = cg.appendScrapeLimits(globalItems)
|
||||||
cfg = append(cfg, yaml.MapItem{Key: "global", Value: globalItems})
|
cfg = append(cfg, yaml.MapItem{Key: "global", Value: globalItems})
|
||||||
|
|
||||||
// Scrape config
|
// Scrape config
|
||||||
|
|
|
@ -99,16 +99,31 @@ func TestConfigGeneration(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGlobalSettings(t *testing.T) {
|
func TestGlobalSettings(t *testing.T) {
|
||||||
|
var (
|
||||||
|
expectedBodySizeLimit monitoringv1.ByteSize = "1000MB"
|
||||||
|
expectedSampleLimit uint64 = 10000
|
||||||
|
expectedTargetLimit uint64 = 1000
|
||||||
|
expectedLabelLimit uint64 = 50
|
||||||
|
expectedLabelNameLengthLimit uint64 = 40
|
||||||
|
expectedLabelValueLengthLimit uint64 = 30
|
||||||
|
)
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
Scenario string
|
Scenario string
|
||||||
EvaluationInterval monitoringv1.Duration
|
EvaluationInterval monitoringv1.Duration
|
||||||
ScrapeInterval monitoringv1.Duration
|
ScrapeInterval monitoringv1.Duration
|
||||||
ScrapeTimeout monitoringv1.Duration
|
ScrapeTimeout monitoringv1.Duration
|
||||||
ExternalLabels map[string]string
|
ExternalLabels map[string]string
|
||||||
QueryLogFile string
|
QueryLogFile string
|
||||||
Version string
|
Version string
|
||||||
Expected string
|
BodySizeLimit *monitoringv1.ByteSize
|
||||||
ExpectError bool
|
SampleLimit *uint64
|
||||||
|
TargetLimit *uint64
|
||||||
|
LabelLimit *uint64
|
||||||
|
LabelNameLengthLimit *uint64
|
||||||
|
LabelValueLengthLimit *uint64
|
||||||
|
Expected string
|
||||||
|
ExpectError bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
Scenario: "valid config",
|
Scenario: "valid config",
|
||||||
|
@ -181,6 +196,52 @@ scrape_configs: []
|
||||||
prometheus_replica: $(POD_NAME)
|
prometheus_replica: $(POD_NAME)
|
||||||
query_log_file: /var/log/prometheus/test.log
|
query_log_file: /var/log/prometheus/test.log
|
||||||
scrape_configs: []
|
scrape_configs: []
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Scenario: "valid global limits",
|
||||||
|
Version: "v2.45.0",
|
||||||
|
ScrapeInterval: "30s",
|
||||||
|
EvaluationInterval: "30s",
|
||||||
|
BodySizeLimit: &expectedBodySizeLimit,
|
||||||
|
SampleLimit: &expectedSampleLimit,
|
||||||
|
TargetLimit: &expectedTargetLimit,
|
||||||
|
Expected: `global:
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: /
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
body_size_limit: 1000MB
|
||||||
|
sample_limit: 10000
|
||||||
|
target_limit: 1000
|
||||||
|
scrape_configs: []
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Scenario: "valid global config with label limits",
|
||||||
|
Version: "v2.45.0",
|
||||||
|
ScrapeInterval: "30s",
|
||||||
|
EvaluationInterval: "30s",
|
||||||
|
BodySizeLimit: &expectedBodySizeLimit,
|
||||||
|
SampleLimit: &expectedSampleLimit,
|
||||||
|
TargetLimit: &expectedTargetLimit,
|
||||||
|
LabelLimit: &expectedLabelLimit,
|
||||||
|
LabelNameLengthLimit: &expectedLabelNameLengthLimit,
|
||||||
|
LabelValueLengthLimit: &expectedLabelValueLengthLimit,
|
||||||
|
Expected: `global:
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: /
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
body_size_limit: 1000MB
|
||||||
|
sample_limit: 10000
|
||||||
|
target_limit: 1000
|
||||||
|
label_limit: 50
|
||||||
|
label_name_length_limit: 40
|
||||||
|
label_value_length_limit: 30
|
||||||
|
scrape_configs: []
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
|
@ -189,11 +250,17 @@ scrape_configs: []
|
||||||
ObjectMeta: metav1.ObjectMeta{},
|
ObjectMeta: metav1.ObjectMeta{},
|
||||||
Spec: monitoringv1.PrometheusSpec{
|
Spec: monitoringv1.PrometheusSpec{
|
||||||
CommonPrometheusFields: monitoringv1.CommonPrometheusFields{
|
CommonPrometheusFields: monitoringv1.CommonPrometheusFields{
|
||||||
ScrapeInterval: tc.ScrapeInterval,
|
ScrapeInterval: tc.ScrapeInterval,
|
||||||
ScrapeTimeout: tc.ScrapeTimeout,
|
ScrapeTimeout: tc.ScrapeTimeout,
|
||||||
ExternalLabels: tc.ExternalLabels,
|
ExternalLabels: tc.ExternalLabels,
|
||||||
Version: tc.Version,
|
Version: tc.Version,
|
||||||
TracingConfig: nil,
|
TracingConfig: nil,
|
||||||
|
BodySizeLimit: tc.BodySizeLimit,
|
||||||
|
SampleLimit: tc.SampleLimit,
|
||||||
|
TargetLimit: tc.TargetLimit,
|
||||||
|
LabelLimit: tc.LabelLimit,
|
||||||
|
LabelNameLengthLimit: tc.LabelNameLengthLimit,
|
||||||
|
LabelValueLengthLimit: tc.LabelValueLengthLimit,
|
||||||
},
|
},
|
||||||
EvaluationInterval: tc.EvaluationInterval,
|
EvaluationInterval: tc.EvaluationInterval,
|
||||||
QueryLogFile: tc.QueryLogFile,
|
QueryLogFile: tc.QueryLogFile,
|
||||||
|
|
Loading…
Add table
Reference in a new issue