-
Notifications
You must be signed in to change notification settings - Fork 35
/
metadata.yaml
94 lines (84 loc) · 2.94 KB
/
metadata.yaml
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
# Copyright 2021 Canonical Ltd.
# See LICENSE file for licensing details.
name: prometheus-k8s
assumes:
- k8s-api
# Juju 3.0.3+ needed for secrets and open-port
- juju >= 3.0.3
summary: Prometheus for Kubernetes clusters
description: |
Prometheus is an open source monitoring solution. Prometheus
supports aggregating high dimensional data and exposes a powerful
query language PromQL. This charm deploys and operates Prometheus on
Kubernetes clusters. Prometheus can raise alerts through a relation
with the Alertmanager charm. Alerting rules for Prometheus need to
be provided through a relation with the application that requires
alerting. Prometheus provides its own dashboard for data
visualization but a richer visualization interface may be obtained
through a relation with the Grafana charm.
website: https://charmhub.io/prometheus-k8s
source: https://github.com/canonical/prometheus-k8s-operator
issues: https://github.com/canonical/prometheus-k8s-operator/issues
docs: https://discourse.charmhub.io/t/prometheus-k8s-docs-index/5803
containers:
prometheus:
resource: prometheus-image
mounts:
- storage: database
location: /var/lib/prometheus
provides:
self-metrics-endpoint:
interface: prometheus_scrape
grafana-source:
interface: grafana_datasource
grafana-dashboard:
interface: grafana_dashboard
receive-remote-write:
interface: prometheus_remote_write
send-datasource:
interface: grafana_datasource_exchange
description: |
Integration to share with other COS components this charm's grafana datasources, and receive theirs.
requires:
metrics-endpoint:
interface: prometheus_scrape
alertmanager:
interface: alertmanager_dispatch
ingress:
interface: ingress_per_unit
limit: 1
catalogue:
interface: catalogue
certificates:
interface: tls-certificates
limit: 1
description: |
Obtain a CA and a server certificate for Prometheus to use for TLS.
The same CA cert is used for all in-cluster requests, e.g.:
- (client) scraping targets for self-monitoring
- (client) posting alerts to alertmanager server
- (server) serving data to grafana
charm-tracing:
interface: tracing
limit: 1
description: |
Enables sending charm traces to a distributed tracing backend such as Tempo.
workload-tracing:
interface: tracing
limit: 1
description: |
Enables sending workload traces (internal Prometheus traces) to a distributed tracing backend such as Tempo.
peers:
prometheus-peers:
interface: prometheus_peers
storage:
database:
type: filesystem
resources:
prometheus-image:
type: oci-image
description: Container image for Prometheus
# Use ghcr image until the missing udpate-ca-certificates issue is resolved.
# https://github.com/canonical/prometheus-rock/issues/33
#upstream-source: ghcr.io/canonical/prometheus:dev
upstream-source: ubuntu/prometheus:2-22.04