Skip to content

Commit 962b95b

Browse files
committedApr 11, 2021
(feat) substitutes-for logic
Signed-off-by: Lance Galletti <[email protected]>
1 parent f720ac3 commit 962b95b

39 files changed

+30785
-44
lines changed
 

‎bundles/prometheus.0.14.0.substitutesfor/manifests/alertmanager.crd.yaml

+2,398
Large diffs are not rendered by default.

‎bundles/prometheus.0.14.0.substitutesfor/manifests/prometheus.crd.yaml

+2,971
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
#! parse-kind: ClusterServiceVersion
2+
apiVersion: operators.coreos.com/v1alpha1
3+
kind: ClusterServiceVersion
4+
metadata:
5+
name: prometheusoperator.0.14.0+0.1234-rebuild
6+
namespace: placeholder
7+
annotations:
8+
olm.substitutesFor: prometheusoperator.0.14.0
9+
spec:
10+
displayName: Prometheus
11+
description: |
12+
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
13+
14+
_The Prometheus Open Cloud Service is Public Alpha. The goal before Beta is for additional user testing and minor bug fixes._
15+
16+
### Monitoring applications
17+
18+
Prometheus scrapes your application metrics based on targets maintained in a ServiceMonitor object. When alerts need to be sent, they are processsed by an AlertManager.
19+
20+
[Read the complete guide to monitoring applications with the Prometheus Open Cloud Service](https://coreos.com/tectonic/docs/latest/alm/prometheus-ocs.html)
21+
22+
## Supported Features
23+
24+
**High availability**
25+
Multiple instances are run across failure zones and data is replicated. This keeps your monitoring available during an outage, when you need it most.
26+
**Updates via automated operations**
27+
New Prometheus versions are deployed using a rolling update with no downtime, making it easy to stay up to date.
28+
**Handles the dynamic nature of containers**
29+
Alerting rules are attached to groups of containers instead of individual instances, which is ideal for the highly dynamic nature of container deployment.
30+
31+
keywords: ['prometheus', 'monitoring', 'tsdb', 'alerting']
32+
33+
maintainers:
34+
- name: CoreOS, Inc
35+
email: support@coreos.com
36+
37+
provider:
38+
name: CoreOS, Inc
39+
40+
links:
41+
- name: Prometheus
42+
url: https://www.prometheus.io/
43+
- name: Documentation
44+
url: https://coreos.com/operators/prometheus/docs/latest/
45+
- name: Prometheus Operator Source Code
46+
url: https://github.com/coreos/prometheus-operator
47+
48+
labels:
49+
alm-status-descriptors: prometheusoperator.0.14.0
50+
alm-owner-prometheus: prometheusoperator
51+
52+
selector:
53+
matchLabels:
54+
alm-owner-prometheus: prometheusoperator
55+
56+
icon:
57+
- base64data: PHN2ZyB3aWR0aD0iMjQ5MCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOC4wMDEuNjY3QzU3LjMxMS42NjcgMCA1Ny45NzEgMCAxMjguNjY0YzAgNzAuNjkgNTcuMzExIDEyNy45OTggMTI4LjAwMSAxMjcuOTk4UzI1NiAxOTkuMzU0IDI1NiAxMjguNjY0QzI1NiA1Ny45NyAxOTguNjg5LjY2NyAxMjguMDAxLjY2N3ptMCAyMzkuNTZjLTIwLjExMiAwLTM2LjQxOS0xMy40MzUtMzYuNDE5LTMwLjAwNGg3Mi44MzhjMCAxNi41NjYtMTYuMzA2IDMwLjAwNC0zNi40MTkgMzAuMDA0em02MC4xNTMtMzkuOTRINjcuODQyVjE3OC40N2gxMjAuMzE0djIxLjgxNmgtLjAwMnptLS40MzItMzMuMDQ1SDY4LjE4NWMtLjM5OC0uNDU4LS44MDQtLjkxLTEuMTg4LTEuMzc1LTEyLjMxNS0xNC45NTQtMTUuMjE2LTIyLjc2LTE4LjAzMi0zMC43MTYtLjA0OC0uMjYyIDE0LjkzMyAzLjA2IDI1LjU1NiA1LjQ1IDAgMCA1LjQ2NiAxLjI2NSAxMy40NTggMi43MjItNy42NzMtOC45OTQtMTIuMjMtMjAuNDI4LTEyLjIzLTMyLjExNiAwLTI1LjY1OCAxOS42OC00OC4wNzkgMTIuNTgtNjYuMjAxIDYuOTEuNTYyIDE0LjMgMTQuNTgzIDE0LjggMzYuNTA1IDcuMzQ2LTEwLjE1MiAxMC40Mi0yOC42OSAxMC40Mi00MC4wNTYgMC0xMS43NjkgNy43NTUtMjUuNDQgMTUuNTEyLTI1LjkwNy02LjkxNSAxMS4zOTYgMS43OSAyMS4xNjUgOS41MyA0NS40IDIuOTAyIDkuMTAzIDIuNTMyIDI0LjQyMyA0Ljc3MiAzNC4xMzguNzQ0LTIwLjE3OCA0LjIxMy00OS42MiAxNy4wMTQtNTkuNzg0LTUuNjQ3IDEyLjguODM2IDI4LjgxOCA1LjI3IDM2LjUxOCA3LjE1NCAxMi40MjQgMTEuNDkgMjEuODM2IDExLjQ5IDM5LjYzOCAwIDExLjkzNi00LjQwNyAyMy4xNzMtMTEuODQgMzEuOTU4IDguNDUyLTEuNTg2IDE0LjI4OS0zLjAxNiAxNC4yODktMy4wMTZsMjcuNDUtNS4zNTVjLjAwMi0uMDAyLTMuOTg3IDE2LjQwMS0xOS4zMTQgMzIuMTk3eiIgZmlsbD0iI0RBNEUzMSIvPjwvc3ZnPg==
58+
mediatype: image/svg+xml
59+
60+
install:
61+
strategy: deployment
62+
spec:
63+
permissions:
64+
- serviceAccountName: prometheus-k8s
65+
rules:
66+
- apiGroups: [""]
67+
resources:
68+
- nodes
69+
- services
70+
- endpoints
71+
- pods
72+
verbs: ["get", "list", "watch"]
73+
- apiGroups: [""]
74+
resources:
75+
- configmaps
76+
verbs: ["get"]
77+
- serviceAccountName: prometheus-operator-0-14-0
78+
rules:
79+
- apiGroups:
80+
- apiextensions.k8s.io
81+
resources:
82+
- customresourcedefinitions
83+
verbs: ["get", "list"]
84+
- apiGroups:
85+
- monitoring.coreos.com
86+
resources:
87+
- alertmanagers
88+
- prometheuses
89+
- servicemonitors
90+
verbs:
91+
- "*"
92+
- apiGroups:
93+
- apps
94+
resources:
95+
- statefulsets
96+
verbs: ["*"]
97+
- apiGroups: [""]
98+
resources:
99+
- configmaps
100+
- secrets
101+
verbs: ["*"]
102+
- apiGroups: [""]
103+
resources:
104+
- pods
105+
verbs: ["list", "delete"]
106+
- apiGroups: [""]
107+
resources:
108+
- services
109+
- endpoints
110+
verbs: ["get", "create", "update"]
111+
- apiGroups: [""]
112+
resources:
113+
- nodes
114+
verbs: ["list", "watch"]
115+
- apiGroups: [""]
116+
resources:
117+
- namespaces
118+
verbs: ['list']
119+
deployments:
120+
- name: prometheus-operator
121+
spec:
122+
replicas: 1
123+
selector:
124+
matchLabels:
125+
k8s-app: prometheus-operator
126+
template:
127+
metadata:
128+
labels:
129+
k8s-app: prometheus-operator
130+
spec:
131+
serviceAccount: prometheus-operator-0-14-0
132+
containers:
133+
- name: prometheus-operator
134+
image: quay.io/coreos/prometheus-operator@sha256:5037b4e90dbb03ebdefaa547ddf6a1f748c8eeebeedf6b9d9f0913ad662b5731
135+
command:
136+
- sh
137+
- -c
138+
- >
139+
/bin/operator --namespace=$K8S_NAMESPACE --crd-apigroup monitoring.coreos.com
140+
--labels alm-status-descriptors=prometheusoperator.0.14.0,alm-owner-prometheus=prometheusoperator
141+
--kubelet-service=kube-system/kubelet
142+
--config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1
143+
env:
144+
- name: K8S_NAMESPACE
145+
valueFrom:
146+
fieldRef:
147+
fieldPath: metadata.namespace
148+
ports:
149+
- containerPort: 8080
150+
name: http
151+
resources:
152+
limits:
153+
cpu: 200m
154+
memory: 100Mi
155+
requests:
156+
cpu: 100m
157+
memory: 50Mi
158+
maturity: alpha
159+
version: 0.14.0+0.1234
160+
customresourcedefinitions:
161+
owned:
162+
- name: prometheuses.monitoring.coreos.com
163+
version: v1
164+
kind: Prometheus
165+
displayName: Prometheus
166+
description: A running Prometheus instance
167+
resources:
168+
- kind: Pod
169+
version: v1
170+
specDescriptors:
171+
- description: Desired number of Pods for the cluster
172+
displayName: Size
173+
path: replicas
174+
x-descriptors:
175+
- 'urn:alm:descriptor:com.tectonic.ui:podCount'
176+
- description: A selector for the ConfigMaps from which to load rule files
177+
displayName: Rule Config Map Selector
178+
path: ruleSelector
179+
x-descriptors:
180+
- 'urn:alm:descriptor:com.tectonic.ui:selector:core:v1:ConfigMap'
181+
- description: ServiceMonitors to be selected for target discovery
182+
displayName: Service Monitor Selector
183+
path: serviceMonitorSelector
184+
x-descriptors:
185+
- 'urn:alm:descriptor:com.tectonic.ui:selector:monitoring.coreos.com:v1:ServiceMonitor'
186+
- description: The ServiceAccount to use to run the Prometheus pods
187+
displayName: Service Account
188+
path: serviceAccountName
189+
x-descriptors:
190+
- 'urn:alm:descriptor:io.kubernetes:ServiceAccount'
191+
- description: Define resources requests and limits for single Pods
192+
displayName: Resource Request
193+
path: resources.requests
194+
x-descriptors:
195+
- 'urn:alm:descriptor:com.tectonic.ui:resourceRequirements'
196+
statusDescriptors:
197+
- description: The current number of Pods for the cluster
198+
displayName: Cluster Size
199+
path: replicas
200+
- path: prometheusSelector
201+
displayName: Prometheus Service Selector
202+
description: Label selector to find the service that routes to this prometheus
203+
x-descriptors:
204+
- 'urn:alm:descriptor:label:selector'
205+
- name: servicemonitors.monitoring.coreos.com
206+
version: v1
207+
kind: ServiceMonitor
208+
displayName: Service Monitor
209+
description: Configures prometheus to monitor a particular k8s service
210+
resources:
211+
- kind: Pod
212+
version: v1
213+
specDescriptors:
214+
- description: Selector to select which namespaces the Endpoints objects are discovered from
215+
displayName: Monitoring Namespaces
216+
path: namespaceSelector
217+
x-descriptors:
218+
- 'urn:alm:descriptor:com.tectonic.ui:namespaceSelector'
219+
- description: The label to use to retrieve the job name from
220+
displayName: Job Label
221+
path: jobLabel
222+
x-descriptors:
223+
- 'urn:alm:descriptor:com.tectonic.ui:label'
224+
- description: A list of endpoints allowed as part of this ServiceMonitor
225+
displayName: Endpoints
226+
path: endpoints
227+
x-descriptors:
228+
- 'urn:alm:descriptor:com.tectonic.ui:endpointList'
229+
- name: alertmanagers.monitoring.coreos.com
230+
version: v1
231+
kind: Alertmanager
232+
displayName: Alert Manager
233+
description: Configures an Alert Manager for the namespace
234+
resources:
235+
- kind: Pod
236+
version: v1
237+
specDescriptors:
238+
- description: Desired number of Pods for the cluster
239+
displayName: Size
240+
path: replicas
241+
x-descriptors:
242+
- 'urn:alm:descriptor:com.tectonic.ui:podCount'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: prometheusrules.monitoring.coreos.com
5+
spec:
6+
group: monitoring.coreos.com
7+
names:
8+
kind: PrometheusRule
9+
plural: prometheusrules
10+
scope: Namespaced
11+
validation:
12+
openAPIV3Schema:
13+
properties:
14+
spec:
15+
description: PrometheusRuleSpec contains specification parameters for a
16+
Rule.
17+
properties:
18+
groups:
19+
description: Content of Prometheus rule file
20+
items:
21+
description: RuleGroup is a list of sequentially evaluated recording
22+
and alerting rules.
23+
properties:
24+
interval:
25+
type: string
26+
name:
27+
type: string
28+
rules:
29+
items:
30+
description: Rule describes an alerting or recording rule.
31+
properties:
32+
alert:
33+
type: string
34+
annotations:
35+
type: object
36+
expr:
37+
type: string
38+
for:
39+
type: string
40+
labels:
41+
type: object
42+
record:
43+
type: string
44+
required:
45+
- expr
46+
type: array
47+
required:
48+
- name
49+
- rules
50+
type: array
51+
version: v1

0 commit comments

Comments
 (0)
Please sign in to comment.