-
Notifications
You must be signed in to change notification settings - Fork 17
/
metadata.yaml
97 lines (84 loc) · 3.01 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
95
96
97
# Copyright 2021 Canonical Ltd.
# See LICENSE file for licensing details.
name: alertmanager-k8s
assumes:
- k8s-api
# Juju 3.0.3+ needed for secrets and open-port
- juju >= 3.0.3
summary: |
Kubernetes charm for Alertmanager.
description: |
Alertmanager handles alerts sent by client applications such as the Prometheus server.
It takes care of deduplicating, grouping, and routing them to the correct receiver integrations
such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.
website: https://charmhub.io/alertmanager-k8s
source: https://github.com/canonical/alertmanager-k8s-operator
issues: https://github.com/canonical/alertmanager-k8s-operator/issues
docs: https://discourse.charmhub.io/t/alertmanager-k8s-docs-index/5788
# workload containers
containers:
alertmanager: # container key used by pebble
resource: alertmanager-image
mounts:
- storage: data
# nflogs and silences files go here. With a mounted storage for silences, they persist
# across container restarts.
# This path is passed to alertmanager via the `--storage.path` cli argument.
location: /alertmanager
# oci-image resources for each container defined above
resources:
alertmanager-image:
type: oci-image
description: |
OCI image for alertmanager. This charms makes the following assumptions about the image:
- location of executable "alertmanager" is in the path
- has `update-ca-certificates`
upstream-source: ubuntu/alertmanager:0-22.04
provides:
alerting:
# The provider (alertmanager) adds the following key-value pair to the relation data bag of
# every alertmanager unit:
# "public_address": <ip_address>:<port>
interface: alertmanager_dispatch
# assumed network type: private
karma-dashboard:
interface: karma_dashboard
description: |
Links an entire Alertmanager cluster to a Karma[1] dashboard.
Scaling alertmanager would automatically cause karma to group alerts by cluster.
[1] https://charmhub.io/karma-k8s
self-metrics-endpoint:
interface: prometheus_scrape
grafana-dashboard:
interface: grafana_dashboard
grafana-source:
interface: grafana_datasource
requires:
ingress:
interface: ingress
limit: 1
description: |
Alertmanager typically needs a "per app" ingress, which is available in the traefik charm[1].
[1] https://charmhub.io/traefik-k8s
remote-configuration:
interface: alertmanager_remote_configuration
limit: 1
catalogue:
interface: catalogue
certificates:
interface: tls-certificates
limit: 1
description: |
Certificate and key files for the alertmanager server to use to authenticate to client.
tracing:
interface: tracing
limit: 1
peers:
replicas:
interface: alertmanager_replica
# assumed network type: private
storage:
data:
type: filesystem
description: >
Storage path passed to alertmanager via --storage.path argument and used for nflog and silences snapshot