Skip to content
This repository was archived by the owner on Apr 19, 2023. It is now read-only.

Commit fd12b99

Browse files
Merge pull request #157 from HubertStefanski/update-grafana-bump-amo
update grafana-operator to v3.8.1 and amo to 1.5.0
2 parents 523313e + dd6b1e0 commit fd12b99

12 files changed

+1370
-7
lines changed

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ COMPILE_TARGET=./tmp/_output/bin/$(PROJECT)
1313
# You can delete this comment afterwards.
1414
PROMETHEUS_OPERATOR_VERSION=v0.34.0
1515
LOCAL=local
16-
GRAFANA_OPERATOR_VERSION=v3.6.0
17-
AMO_VERSION=1.4.0
18-
PREV_AMO_VERSION=1.3.0
16+
GRAFANA_OPERATOR_VERSION=v3.8.1
17+
AMO_VERSION=1.5.0
18+
PREV_AMO_VERSION=1.4.0
1919

2020
AUTH_TOKEN=$(shell curl -sH "Content-Type: application/json" -XPOST https://quay.io/cnr/api/v1/users/login -d '{"user": {"username": "$(QUAY_USERNAME)", "password": "${QUAY_PASSWORD}"}}' | jq -r '.token')
2121

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
An OpenShift Operator using the Operator SDK that installs an Application Monitoring Stack consisting of Grafana, Prometheus & Alertmanager.
44

5+
6+
# Warning:
7+
### This operator isn't being actively maintained, issues may not be resolved unless they are security related.
58
# Supported Custom Resources
69

710
The following resources are supported:

deploy/olm-catalog/application-monitoring-operator/1.5.0/application-monitoring-operator.v1.5.0.clusterserviceversion.yaml

Lines changed: 336 additions & 0 deletions
Large diffs are not rendered by default.

deploy/olm-catalog/application-monitoring-operator/1.5.0/applicationmonitoring.integreatly.org_applicationmonitorings_crd.yaml

Lines changed: 645 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: blackboxtargets.applicationmonitoring.integreatly.org
5+
spec:
6+
group: applicationmonitoring.integreatly.org
7+
names:
8+
kind: BlackboxTarget
9+
listKind: BlackboxTargetList
10+
plural: blackboxtargets
11+
singular: blackboxtarget
12+
scope: Namespaced
13+
validation:
14+
openAPIV3Schema:
15+
description: BlackboxTarget is the Schema for the blackboxtargets API
16+
properties:
17+
apiVersion:
18+
description: 'APIVersion defines the versioned schema of this representation
19+
of an object. Servers should convert recognized schemas to the latest
20+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
21+
type: string
22+
kind:
23+
description: 'Kind is a string value representing the REST resource this
24+
object represents. Servers may infer this from the endpoint the client
25+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
26+
type: string
27+
metadata:
28+
type: object
29+
spec:
30+
description: BlackboxTargetSpec defines the desired state of BlackboxTarget
31+
properties:
32+
blackboxTargets:
33+
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
34+
Important: Run "operator-sdk generate k8s" to regenerate code after
35+
modifying this file Add custom validation using kubebuilder tags:
36+
https://book.kubebuilder.io/beyond_basics/generating_crd.html'
37+
items:
38+
description: 'BlackboxtargetStructure contains: A target (url, module
39+
and service name) to be probed by the'
40+
properties:
41+
module:
42+
type: string
43+
service:
44+
type: string
45+
url:
46+
type: string
47+
required:
48+
- module
49+
- service
50+
- url
51+
type: object
52+
type: array
53+
type: object
54+
status:
55+
description: BlackboxTargetStatus defines the observed state of BlackboxTarget
56+
properties:
57+
phase:
58+
description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
59+
of cluster Important: Run "operator-sdk generate k8s" to regenerate
60+
code after modifying this file Add custom validation using kubebuilder
61+
tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html'
62+
type: integer
63+
required:
64+
- phase
65+
type: object
66+
type: object
67+
version: v1alpha1
68+
versions:
69+
- name: v1alpha1
70+
served: true
71+
storage: true
Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: grafanas.integreatly.org
5+
spec:
6+
group: integreatly.org
7+
names:
8+
kind: Grafana
9+
listKind: GrafanaList
10+
plural: grafanas
11+
singular: grafana
12+
scope: Namespaced
13+
subresources:
14+
status: { }
15+
version: v1alpha1
16+
validation:
17+
openAPIV3Schema:
18+
required: [ "spec" ]
19+
properties:
20+
spec:
21+
properties:
22+
containers:
23+
type: array
24+
items:
25+
type: object
26+
description: Additional container to add to the grafana pod
27+
secrets:
28+
type: array
29+
items:
30+
type: string
31+
description: Secret to be mounted as volume into the grafana deployment
32+
configMaps:
33+
type: array
34+
items:
35+
type: string
36+
description: Config map to be mounted as volume into the grafana deployment
37+
logLevel:
38+
type: string
39+
description: Log level of the grafana instance, defaults to info
40+
adminUser:
41+
type: string
42+
description: Default admin user name
43+
adminPassword:
44+
type: string
45+
description: Default admin password
46+
basicAuth:
47+
type: boolean
48+
description: Basic auth enabled
49+
disableLoginForm:
50+
type: boolean
51+
description: Disable login form
52+
disableSignoutMenu:
53+
type: boolean
54+
description: Disable signout menu
55+
anonymous:
56+
type: boolean
57+
description: Anonymous auth enabled
58+
config:
59+
type: object
60+
description: Grafana config
61+
ingress:
62+
type: object
63+
properties:
64+
enabled:
65+
type: boolean
66+
description: Create an ingress / route
67+
path:
68+
type: string
69+
description: Ingress path
70+
hostname:
71+
type: string
72+
description: The hostname of the ingress / route
73+
annotations:
74+
type: object
75+
description: Additional annotations for the ingress / route
76+
labels:
77+
type: object
78+
description: Additional labels for the ingress / route
79+
targetPort:
80+
type: string
81+
description: Override port to target in the grafana service
82+
service:
83+
type: object
84+
properties:
85+
name:
86+
type: string
87+
description: Override default service name
88+
ports:
89+
type: array
90+
description: Override default ports
91+
items:
92+
type: object
93+
description: A port to add to the grafana service
94+
annotations:
95+
type: object
96+
description: Additional annotations for the service
97+
labels:
98+
type: object
99+
description: Additional labels for the service
100+
type:
101+
type: string
102+
description: Service type (NodePort, ClusterIP or LoadBalancer)
103+
deployment:
104+
type: object
105+
properties:
106+
annotations:
107+
type: object
108+
description: Additional annotations for the service
109+
labels:
110+
type: object
111+
description: Additional labels for the service
112+
nodeSelector:
113+
type: object
114+
description: Additional labels for the running grafana pods in a labeled node.
115+
tolerations:
116+
type: array
117+
description: Additonal labels for running grafana pods in tained nodes.
118+
affinity:
119+
type: object
120+
description: Additonal labels for running grafana pods with affinity properties.
121+
envFrom:
122+
type: array
123+
description: Environment variables from Secret or ConfigMap.
124+
skipCreateAdminAccount:
125+
type: boolean
126+
description: Disable creating a random admin user
127+
priorityClassName:
128+
type: string
129+
description: Pod priority class name
130+
serviceAccount:
131+
type: object
132+
properties:
133+
annotations:
134+
type: object
135+
description: Additional annotations for the serviceaccount
136+
labels:
137+
type: object
138+
description: Additional labels for the serviceaccount
139+
client:
140+
type: object
141+
description: Grafana client settings
142+
compat:
143+
type: object
144+
description: Backwards compatibility switches
145+
dashboardLabelSelectors:
146+
type: array
147+
items:
148+
type: object
149+
description: Label selector or match expressions
150+
jsonnet:
151+
type: object
152+
description: Jsonnet library configuration
153+
livenessProbeSpec:
154+
type: object
155+
properties:
156+
initialDelaySeconds:
157+
description: >-
158+
Number of seconds after the container has
159+
started before liveness probes are initiated. More info:
160+
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
161+
format: int32
162+
type: integer
163+
timeoutSeconds:
164+
description: Number of seconds after which the probe times out. Defaults to 1 second.
165+
Minimum value is 1.
166+
format: int32
167+
type: integer
168+
periodSeconds:
169+
description: >-
170+
How often (in seconds) to perform the probe.
171+
Default to 10 seconds. Minimum value is 1.
172+
format: int32
173+
type: integer
174+
successThreshold:
175+
description: >-
176+
Minimum consecutive successes for the probe
177+
to be considered successful after having failed. Defaults
178+
to 1. Must be 1 for liveness and startup. Minimum value
179+
is 1.
180+
format: int32
181+
type: integer
182+
failureThreshold:
183+
description: >-
184+
When a probe fails, Kubernetes will try failureThreshold times before giving up.
185+
Giving up in case of liveness probe means restarting the container.
186+
In case of readiness probe the Pod will be marked Unready.
187+
Defaults to 3. Minimum value is 1.
188+
format: int32
189+
type: integer
190+
readinessProbeSpec:
191+
type: object
192+
properties:
193+
initialDelaySeconds:
194+
description: >-
195+
Number of seconds after the container has
196+
started before liveness probes are initiated. More info
197+
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
198+
format: int32
199+
type: integer
200+
timeoutSeconds:
201+
description: >-
202+
Number of seconds after which the probe times out. Defaults to 1 second.
203+
Minimum value is 1.
204+
format: int32
205+
type: integer
206+
periodSeconds:
207+
description: >-
208+
How often (in seconds) to perform the probe.
209+
Default to 10 seconds. Minimum value is 1.
210+
format: int32
211+
type: integer
212+
successThreshold:
213+
description: >-
214+
Minimum consecutive successes for the probe
215+
to be considered successful after having failed. Defaults
216+
to 1. Must be 1 for liveness and startup. Minimum value
217+
is 1.
218+
format: int32
219+
type: integer
220+
failureThreshold:
221+
description: >-
222+
When a probe fails, Kubernetes will try failureThreshold times before giving up.
223+
Giving up in case of liveness probe means restarting the container.
224+
In case of readiness probe the Pod will be marked Unready.
225+
Defaults to 3. Minimum value is 1.
226+
format: int32
227+
type: integer
228+
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: grafanadashboards.integreatly.org
5+
spec:
6+
group: integreatly.org
7+
names:
8+
kind: GrafanaDashboard
9+
listKind: GrafanaDashboardList
10+
plural: grafanadashboards
11+
singular: grafanadashboard
12+
scope: Namespaced
13+
subresources:
14+
status: {}
15+
version: v1alpha1
16+
validation:
17+
openAPIV3Schema:
18+
properties:
19+
spec:
20+
properties:
21+
name:
22+
type: string
23+
json:
24+
type: string
25+
jsonnet:
26+
description: Jsonnet source. Has access to grafonnet.
27+
type: string
28+
url:
29+
type: string
30+
description: URL to dashboard json
31+
datasources:
32+
type: array
33+
items:
34+
description: Input datasources to resolve before importing
35+
type: object
36+
plugins:
37+
type: array
38+
items:
39+
description: Grafana Plugin Object
40+
type: object
41+
customFolderName:
42+
description: Folder name that this dashboard will be assigned to.
43+
type: string
44+

0 commit comments

Comments
 (0)