Mercurial > code > home > repos > victoriametrics
diff tasks.py @ 4:1eb6e6a2b9b6
version control configs finally; use configmaps to present them to VM
author | drewp@bigasterisk.com |
---|---|
date | Sun, 12 Jun 2022 17:08:31 -0700 |
parents | |
children | 2023a6ce7bc0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tasks.py Sun Jun 12 17:08:31 2022 -0700 @@ -0,0 +1,26 @@ +import urllib.request +from invoke import task + + +def updateConfigmapCmd(path): + return f'kubectl create configmap victoriametrics-config --from-file {path}=config/{path} -o yaml --dry-run=client | kubectl apply -f -' + + +def reload(ctx, svc): + host = ctx.run(f'khost {svc}').stdout + path = {'victoriametrics': '/m', 'vmalert': '/vmalert'}[svc] + print(' -> status', + urllib.request.urlopen(f'http://{host}{path}/-/reload').status) + + +@task +def sync_config(ctx): + ctx.run(updateConfigmapCmd("scrape_config.yaml")) + ctx.run(updateConfigmapCmd("scrape_ssl.yaml")) + reload(ctx, 'victoriametrics') + + ctx.run(updateConfigmapCmd("rules_expected_hosts.yaml")) + ctx.run(updateConfigmapCmd("rules_expected_nodes.yaml")) + ctx.run(updateConfigmapCmd("rules_k8s.yaml")) + ctx.run(updateConfigmapCmd("rules_main.yaml")) + reload(ctx, 'vmalert')