prometheusrule.yaml 6.98 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.14.0
    operator.prometheus.io/version: 0.74.0
  name: prometheusrules.monitoring.coreos.com
spec:
  group: monitoring.coreos.com
  names:
    categories:
    - prometheus-operator
    kind: PrometheusRule
    listKind: PrometheusRuleList
    plural: prometheusrules
    shortNames:
    - promrule
    singular: prometheusrule
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: PrometheusRule defines recording and alerting rules for a Prometheus
          instance
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: Specification of desired alerting rule definitions for Prometheus.
            properties:
              groups:
                description: Content of Prometheus rule file
                items:
                  description: RuleGroup is a list of sequentially evaluated recording
                    and alerting rules.
                  properties:
                    interval:
                      description: Interval determines how often rules in the group
                        are evaluated.
                      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
                    limit:
                      description: |-
                        Limit the number of alerts an alerting rule and series a recording
                        rule can produce.
                        Limit is supported starting with Prometheus >= 2.31 and Thanos Ruler >= 0.24.
                      type: integer
                    name:
                      description: Name of the rule group.
                      minLength: 1
                      type: string
                    partial_response_strategy:
                      description: |-
                        PartialResponseStrategy is only used by ThanosRuler and will
                        be ignored by Prometheus instances.
                        More info: https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response
                      pattern: ^(?i)(abort|warn)?$
                      type: string
                    rules:
                      description: List of alerting and recording rules.
                      items:
                        description: |-
                          Rule describes an alerting or recording rule
                          See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules) rule
                        properties:
                          alert:
                            description: |-
                              Name of the alert. Must be a valid label value.
                              Only one of `record` and `alert` must be set.
                            type: string
                          annotations:
                            additionalProperties:
                              type: string
                            description: |-
                              Annotations to add to each alert.
                              Only valid for alerting rules.
                            type: object
                          expr:
                            anyOf:
                            - type: integer
                            - type: string
                            description: PromQL expression to evaluate.
                            x-kubernetes-int-or-string: true
                          for:
                            description: Alerts are considered firing once they have
                              been returned for this long.
                            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
                          keep_firing_for:
                            description: KeepFiringFor defines how long an alert will
                              continue firing after the condition that triggered it
                              has cleared.
                            minLength: 1
                            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
                          labels:
                            additionalProperties:
                              type: string
                            description: Labels to add or overwrite.
                            type: object
                          record:
                            description: |-
                              Name of the time series to output to. Must be a valid metric name.
                              Only one of `record` and `alert` must be set.
                            type: string
                        required:
                        - expr
                        type: object
                      type: array
                  required:
                  - name
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - name
                x-kubernetes-list-type: map
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true