comparison create_k8s.py @ 78:a4767069d8b0

alertmanager-conf is now a cmap
author drewp@bigasterisk.com
date Wed, 26 Jun 2024 22:29:10 -0700
parents 489c5d9a7dbc
children 4809a249d43f
comparison
equal deleted inserted replaced
77:489c5d9a7dbc 78:a4767069d8b0
252 "bigasterisk.com", 252 "bigasterisk.com",
253 ) # yapf: disable 253 ) # yapf: disable
254 254
255 255
256 def createAlertmanagerObjs(tzArg, objPrefix, webRoot, policy): 256 def createAlertmanagerObjs(tzArg, objPrefix, webRoot, policy):
257 confFilename = "alertmanager.yml"
258
259 (build / f'{objPrefix}-5alertmanager_conf_cmap.yaml').write_text(toJson({
260 "apiVersion": "v1", "kind": "ConfigMap", "metadata": { "name": "alertmanager-conf" },
261 "data": {
262 confFilename: Path("./alertmanager.yaml").read_text(),
263 }
264 })) # yapf: disable
257 createPv(f'{objPrefix}-5alertmanager', "opt-alertmanager", '50Gi') 265 createPv(f'{objPrefix}-5alertmanager', "opt-alertmanager", '50Gi')
258 createPvc(f'{objPrefix}-5alertmanager', "opt-alertmanager", '50Gi') 266 createPvc(f'{objPrefix}-5alertmanager', "opt-alertmanager", '50Gi')
259 267
260 amName = f'{objPrefix}-alertmanager' 268 amName = f'{objPrefix}-alertmanager'
261 (build / f'{objPrefix}-5alertmanager_deploy.yaml').write_text( 269 (build / f'{objPrefix}-5alertmanager_deploy.yaml').write_text(
265 "replicas": 1, 273 "replicas": 1,
266 "selector": { "matchLabels": { "app": amName } }, 274 "selector": { "matchLabels": { "app": amName } },
267 "template": { 275 "template": {
268 "metadata": { "labels": { "app": amName } }, 276 "metadata": { "labels": { "app": amName } },
269 "spec": { 277 "spec": {
270 "volumes": [{ "name": "opt-alertmanager", "persistentVolumeClaim": { "claimName": "opt-alertmanager" } }], 278 "volumes": [
279 { "name": "opt-alertmanager", "persistentVolumeClaim": { "claimName": "opt-alertmanager" } },
280 { "name": "alertmanager-conf", "configMap": { "name": "alertmanager-conf" } }
281 ],
271 "serviceAccountName": "victoriametrics", 282 "serviceAccountName": "victoriametrics",
272 "containers": [{ 283 "containers": [{
273 "name": "alertmanager", "image": "docker.io/prom/alertmanager:v0.27.0", "imagePullPolicy": "IfNotPresent", 284 "name": "alertmanager", "image": "docker.io/prom/alertmanager:v0.27.0", "imagePullPolicy": "IfNotPresent",
274 "args": [ 285 "args": [
275 "--log.level=info", 286 "--log.level=info",
276 "--config.file=/alertmanager/alertmanager.yml", 287 f"--config.file=/conf/{confFilename}",
277 f"--web.external-url=https://bigasterisk.com{webRoot}/alertmanager/", 288 f"--web.external-url=https://bigasterisk.com{webRoot}/alertmanager/",
278 f"--web.route-prefix={webRoot}/alertmanager", 289 f"--web.route-prefix={webRoot}/alertmanager",
279 ], 290 ],
280 "ports": [{ "containerPort": 9093 }], 291 "ports": [{ "containerPort": 9093 }],
281 "volumeMounts": [{ "name": "opt-alertmanager", "mountPath": "/alertmanager" }] 292 "volumeMounts": [
293 { "name": "opt-alertmanager", "mountPath": "/alertmanager" },
294 { "name": "alertmanager-conf", "mountPath": "/conf" }
295 ]
282 }], 296 }],
283 "affinity": affinityToNode("ditto"), 297 "affinity": affinityToNode("ditto"),
284 } 298 }
285 } 299 }
286 } 300 }