...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 api-approved.openshift.io: https://github.com/openshift/api/pull/1179
6 description: OpenShift Monitoring alert relabel configurations
7 release.openshift.io/feature-set: TechPreviewNoUpgrade
8 name: alertrelabelconfigs.monitoring.openshift.io
9spec:
10 group: monitoring.openshift.io
11 names:
12 kind: AlertRelabelConfig
13 listKind: AlertRelabelConfigList
14 plural: alertrelabelconfigs
15 singular: alertrelabelconfig
16 scope: Namespaced
17 versions:
18 - name: v1alpha1
19 schema:
20 openAPIV3Schema:
21 description: "AlertRelabelConfig defines a set of relabel configs for alerts. \n Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support."
22 type: object
23 required:
24 - spec
25 properties:
26 apiVersion:
27 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'
28 type: string
29 kind:
30 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'
31 type: string
32 metadata:
33 type: object
34 spec:
35 description: spec describes the desired state of this AlertRelabelConfig object.
36 type: object
37 required:
38 - configs
39 properties:
40 configs:
41 description: configs is a list of sequentially evaluated alert relabel configs.
42 type: array
43 minItems: 1
44 items:
45 description: 'RelabelConfig allows dynamic rewriting of label sets for alerts. See Prometheus documentation: - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs - https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
46 type: object
47 properties:
48 action:
49 description: 'action to perform based on regex matching. Must be one of: Replace, Keep, Drop, HashMod, LabelMap, LabelDrop, or LabelKeep. Default is: ''Replace'''
50 type: string
51 default: Replace
52 enum:
53 - Replace
54 - Keep
55 - Drop
56 - HashMod
57 - LabelMap
58 - LabelDrop
59 - LabelKeep
60 modulus:
61 description: modulus to take of the hash of the source label values. This can be combined with the 'HashMod' action to set 'target_label' to the 'modulus' of a hash of the concatenated 'source_labels'.
62 type: integer
63 format: int64
64 regex:
65 description: 'regex against which the extracted value is matched. Default is: ''(.*)'''
66 type: string
67 replacement:
68 description: 'replacement value against which a regex replace is performed if the regular expression matches. This is required if the action is ''Replace'' or ''LabelMap''. Regex capture groups are available. Default is: ''$1'''
69 type: string
70 separator:
71 description: separator placed between concatenated source label values. When omitted, Prometheus will use its default value of ';'.
72 type: string
73 sourceLabels:
74 description: sourceLabels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the Replace, Keep, and Drop actions.
75 type: array
76 items:
77 description: LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, and underscores.
78 type: string
79 pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$
80 targetLabel:
81 description: targetLabel to which the resulting value is written in a 'Replace' action. It is mandatory for 'Replace' and 'HashMod' actions. Regex capture groups are available.
82 type: string
83 status:
84 description: status describes the current state of this AlertRelabelConfig object.
85 type: object
86 properties:
87 conditions:
88 description: conditions contains details on the state of the AlertRelabelConfig, may be empty.
89 type: array
90 items:
91 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
92 type: object
93 required:
94 - lastTransitionTime
95 - message
96 - reason
97 - status
98 - type
99 properties:
100 lastTransitionTime:
101 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
102 type: string
103 format: date-time
104 message:
105 description: message is a human readable message indicating details about the transition. This may be an empty string.
106 type: string
107 maxLength: 32768
108 observedGeneration:
109 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
110 type: integer
111 format: int64
112 minimum: 0
113 reason:
114 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
115 type: string
116 maxLength: 1024
117 minLength: 1
118 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
119 status:
120 description: status of the condition, one of True, False, Unknown.
121 type: string
122 enum:
123 - "True"
124 - "False"
125 - Unknown
126 type:
127 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
128 type: string
129 maxLength: 316
130 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
131 served: true
132 storage: true
133 subresources:
134 status: {}
135status:
136 acceptedNames:
137 kind: ""
138 plural: ""
139 conditions: []
140 storedVersions: []
View as plain text