Add Helm chart for Matrix Alertmanager receiver
This commit is contained in:
commit
3da15981bd
13 files changed
+369
No files matched your search
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
chart_dir = Path(sys.argv[1])
|
||||
rendered_path = Path(sys.argv[2])
|
||||
chart = yaml.safe_load((chart_dir / "Chart.yaml").read_text())
|
||||
values = yaml.safe_load((chart_dir / "values.yaml").read_text())
|
||||
documents = [doc for doc in yaml.safe_load_all(rendered_path.read_text()) if doc]
|
||||
by_kind = {(doc["kind"], doc["metadata"]["name"]): doc for doc in documents}
|
||||
|
||||
name = "matrix-alertmanager-receiver"
|
||||
deployment = by_kind[("Deployment", name)]
|
||||
service = by_kind[("Service", name)]
|
||||
service_monitor = by_kind[("ServiceMonitor", name)]
|
||||
config = by_kind[("ConfigMap", name)]["data"]["config.yaml"]
|
||||
container = deployment["spec"]["template"]["spec"]["containers"][0]
|
||||
service_port = service["spec"]["ports"][0]
|
||||
app_config = yaml.safe_load(config)
|
||||
|
||||
assert container["image"] == f'{values["image"]["repository"]}:{chart["appVersion"]}'
|
||||
assert deployment["spec"]["replicas"] == 1
|
||||
assert deployment["spec"]["selector"]["matchLabels"] == service["spec"]["selector"]
|
||||
assert deployment["spec"]["selector"]["matchLabels"]["app.kubernetes.io/name"] == chart["name"]
|
||||
assert container["ports"][0]["containerPort"] == service_port["port"]
|
||||
assert service_port["targetPort"] == container["ports"][0]["name"]
|
||||
assert container["readinessProbe"]["httpGet"]["path"] == "/metrics"
|
||||
assert container["livenessProbe"]["httpGet"]["path"] == "/metrics"
|
||||
assert container["env"][0]["valueFrom"]["secretKeyRef"]["key"] == values["matrix"]["accessTokenSecret"]["key"]
|
||||
assert "access-token: ${MATRIX_ACCESS_TOKEN}" in config
|
||||
assert app_config["matrix"]["access-token"] == "${MATRIX_ACCESS_TOKEN}"
|
||||
assert service_monitor["spec"]["endpoints"][0]["port"] == service_port["name"]
|
||||
assert service_monitor["spec"]["endpoints"][0]["path"] == "/metrics"
|
||||
Reference in new issue
Block a user