Skip to content

Commit 33458ad

Browse files
authored
operator grafana-operator (5.16.0)
1 parent a315f02 commit 33458ad

13 files changed

+12321
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v1
2+
data:
3+
controller_manager_config.yaml: |
4+
apiVersion: controller-runtime.sigs.k8s.io/v1alpha1
5+
kind: ControllerManagerConfig
6+
health:
7+
healthProbeBindAddress: :8081
8+
metrics:
9+
bindAddress: 127.0.0.1:8080
10+
webhook:
11+
port: 9443
12+
leaderElection:
13+
leaderElect: true
14+
resourceName: f75f3bba.integreatly.org
15+
kind: ConfigMap
16+
metadata:
17+
name: grafana-operator-manager-config
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: ClusterRole
3+
metadata:
4+
creationTimestamp: null
5+
name: grafana-operator-metrics-reader
6+
rules:
7+
- nonResourceURLs:
8+
- /metrics
9+
verbs:
10+
- get
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
app.kubernetes.io/managed-by: olm
7+
app.kubernetes.io/name: grafana-operator
8+
name: grafana-operator-operator-metrics-service
9+
spec:
10+
ports:
11+
- name: metrics
12+
port: 8443
13+
protocol: TCP
14+
targetPort: metrics
15+
- name: pprof
16+
port: 8888
17+
protocol: TCP
18+
targetPort: pprof
19+
selector:
20+
app.kubernetes.io/managed-by: olm
21+
app.kubernetes.io/name: grafana-operator
22+
status:
23+
loadBalancer: {}

operators/grafana-operator/5.16.0/manifests/grafana-operator.clusterserviceversion.yaml

Lines changed: 570 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: v0.16.3
6+
creationTimestamp: null
7+
name: grafanaalertrulegroups.grafana.integreatly.org
8+
spec:
9+
group: grafana.integreatly.org
10+
names:
11+
categories:
12+
- grafana-operator
13+
kind: GrafanaAlertRuleGroup
14+
listKind: GrafanaAlertRuleGroupList
15+
plural: grafanaalertrulegroups
16+
singular: grafanaalertrulegroup
17+
scope: Namespaced
18+
versions:
19+
- name: v1beta1
20+
schema:
21+
openAPIV3Schema:
22+
description: GrafanaAlertRuleGroup is the Schema for the grafanaalertrulegroups
23+
API
24+
properties:
25+
apiVersion:
26+
description: |-
27+
APIVersion defines the versioned schema of this representation of an object.
28+
Servers should convert recognized schemas to the latest internal value, and
29+
may reject unrecognized values.
30+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
31+
type: string
32+
kind:
33+
description: |-
34+
Kind is a string value representing the REST resource this object represents.
35+
Servers may infer this from the endpoint the client submits requests to.
36+
Cannot be updated.
37+
In CamelCase.
38+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
39+
type: string
40+
metadata:
41+
type: object
42+
spec:
43+
description: GrafanaAlertRuleGroupSpec defines the desired state of GrafanaAlertRuleGroup
44+
properties:
45+
allowCrossNamespaceImport:
46+
default: false
47+
description: Allow the Operator to match this resource with Grafanas
48+
outside the current namespace
49+
type: boolean
50+
editable:
51+
description: Whether to enable or disable editing of the alert rule
52+
group in Grafana UI
53+
type: boolean
54+
x-kubernetes-validations:
55+
- message: Value is immutable
56+
rule: self == oldSelf
57+
folderRef:
58+
description: Match GrafanaFolders CRs to infer the uid
59+
type: string
60+
folderUID:
61+
description: |-
62+
UID of the folder containing this rule group
63+
Overrides the FolderSelector
64+
type: string
65+
instanceSelector:
66+
description: Selects Grafana instances for import
67+
properties:
68+
matchExpressions:
69+
description: matchExpressions is a list of label selector requirements.
70+
The requirements are ANDed.
71+
items:
72+
description: |-
73+
A label selector requirement is a selector that contains values, a key, and an operator that
74+
relates the key and values.
75+
properties:
76+
key:
77+
description: key is the label key that the selector applies
78+
to.
79+
type: string
80+
operator:
81+
description: |-
82+
operator represents a key's relationship to a set of values.
83+
Valid operators are In, NotIn, Exists and DoesNotExist.
84+
type: string
85+
values:
86+
description: |-
87+
values is an array of string values. If the operator is In or NotIn,
88+
the values array must be non-empty. If the operator is Exists or DoesNotExist,
89+
the values array must be empty. This array is replaced during a strategic
90+
merge patch.
91+
items:
92+
type: string
93+
type: array
94+
x-kubernetes-list-type: atomic
95+
required:
96+
- key
97+
- operator
98+
type: object
99+
type: array
100+
x-kubernetes-list-type: atomic
101+
matchLabels:
102+
additionalProperties:
103+
type: string
104+
description: |-
105+
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
106+
map is equivalent to an element of matchExpressions, whose key field is "key", the
107+
operator is "In", and the values array contains only "value". The requirements are ANDed.
108+
type: object
109+
type: object
110+
x-kubernetes-map-type: atomic
111+
x-kubernetes-validations:
112+
- message: spec.instanceSelector is immutable
113+
rule: self == oldSelf
114+
interval:
115+
format: duration
116+
pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
117+
type: string
118+
name:
119+
description: Name of the alert rule group. If not specified, the resource
120+
name will be used.
121+
type: string
122+
resyncPeriod:
123+
default: 10m0s
124+
description: How often the resource is synced, defaults to 10m0s if
125+
not set
126+
format: duration
127+
pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
128+
type: string
129+
rules:
130+
items:
131+
description: AlertRule defines a specific rule to be evaluated.
132+
It is based on the upstream model with some k8s specific type
133+
mappings
134+
properties:
135+
annotations:
136+
additionalProperties:
137+
type: string
138+
type: object
139+
condition:
140+
type: string
141+
data:
142+
items:
143+
properties:
144+
datasourceUid:
145+
description: Grafana data source unique identifier; it
146+
should be '__expr__' for a Server Side Expression operation.
147+
type: string
148+
model:
149+
description: JSON is the raw JSON query and includes the
150+
above properties as well as custom properties.
151+
x-kubernetes-preserve-unknown-fields: true
152+
queryType:
153+
description: |-
154+
QueryType is an optional identifier for the type of query.
155+
It can be used to distinguish different types of queries.
156+
type: string
157+
refId:
158+
description: RefID is the unique identifier of the query,
159+
set by the frontend call.
160+
type: string
161+
relativeTimeRange:
162+
description: relative time range
163+
properties:
164+
from:
165+
description: from
166+
format: int64
167+
type: integer
168+
to:
169+
description: to
170+
format: int64
171+
type: integer
172+
type: object
173+
type: object
174+
type: array
175+
execErrState:
176+
enum:
177+
- OK
178+
- Alerting
179+
- Error
180+
- KeepLast
181+
type: string
182+
for:
183+
format: duration
184+
pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
185+
type: string
186+
isPaused:
187+
type: boolean
188+
labels:
189+
additionalProperties:
190+
type: string
191+
type: object
192+
noDataState:
193+
enum:
194+
- Alerting
195+
- NoData
196+
- OK
197+
- KeepLast
198+
type: string
199+
notificationSettings:
200+
properties:
201+
group_by:
202+
items:
203+
type: string
204+
type: array
205+
group_interval:
206+
type: string
207+
group_wait:
208+
type: string
209+
mute_time_intervals:
210+
items:
211+
type: string
212+
type: array
213+
receiver:
214+
type: string
215+
repeat_interval:
216+
type: string
217+
required:
218+
- receiver
219+
type: object
220+
title:
221+
example: Always firing
222+
maxLength: 190
223+
minLength: 1
224+
type: string
225+
uid:
226+
pattern: ^[a-zA-Z0-9-_]+$
227+
type: string
228+
required:
229+
- condition
230+
- data
231+
- execErrState
232+
- for
233+
- noDataState
234+
- title
235+
- uid
236+
type: object
237+
type: array
238+
required:
239+
- instanceSelector
240+
- interval
241+
- rules
242+
type: object
243+
x-kubernetes-validations:
244+
- message: Only one of FolderUID or FolderRef can be set
245+
rule: (has(self.folderUID) && !(has(self.folderRef))) || (has(self.folderRef)
246+
&& !(has(self.folderUID)))
247+
- message: spec.editable is immutable
248+
rule: ((!has(oldSelf.editable) && !has(self.editable)) || (has(oldSelf.editable)
249+
&& has(self.editable)))
250+
- message: disabling spec.allowCrossNamespaceImport requires a recreate
251+
to ensure desired state
252+
rule: '!oldSelf.allowCrossNamespaceImport || (oldSelf.allowCrossNamespaceImport
253+
&& self.allowCrossNamespaceImport)'
254+
status:
255+
description: The most recent observed state of a Grafana resource
256+
properties:
257+
conditions:
258+
description: Results when synchonizing resource with Grafana instances
259+
items:
260+
description: Condition contains details for one aspect of the current
261+
state of this API Resource.
262+
properties:
263+
lastTransitionTime:
264+
description: |-
265+
lastTransitionTime is the last time the condition transitioned from one status to another.
266+
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
267+
format: date-time
268+
type: string
269+
message:
270+
description: |-
271+
message is a human readable message indicating details about the transition.
272+
This may be an empty string.
273+
maxLength: 32768
274+
type: string
275+
observedGeneration:
276+
description: |-
277+
observedGeneration represents the .metadata.generation that the condition was set based upon.
278+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
279+
with respect to the current state of the instance.
280+
format: int64
281+
minimum: 0
282+
type: integer
283+
reason:
284+
description: |-
285+
reason contains a programmatic identifier indicating the reason for the condition's last transition.
286+
Producers of specific condition types may define expected values and meanings for this field,
287+
and whether the values are considered a guaranteed API.
288+
The value should be a CamelCase string.
289+
This field may not be empty.
290+
maxLength: 1024
291+
minLength: 1
292+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
293+
type: string
294+
status:
295+
description: status of the condition, one of True, False, Unknown.
296+
enum:
297+
- "True"
298+
- "False"
299+
- Unknown
300+
type: string
301+
type:
302+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
303+
maxLength: 316
304+
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])$
305+
type: string
306+
required:
307+
- lastTransitionTime
308+
- message
309+
- reason
310+
- status
311+
- type
312+
type: object
313+
type: array
314+
lastResync:
315+
description: Last time the resource was synchronized with Grafana
316+
instances
317+
format: date-time
318+
type: string
319+
type: object
320+
type: object
321+
served: true
322+
storage: true
323+
subresources:
324+
status: {}
325+
status:
326+
acceptedNames:
327+
kind: ""
328+
plural: ""
329+
conditions: null
330+
storedVersions: null

0 commit comments

Comments
 (0)