mirror of
https://github.com/FAUSheppy/athq-vm-management
synced 2025-12-06 22:01:35 +01:00
fix: add nsca config generation
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,5 +1,7 @@
|
|||||||
build/
|
build/
|
||||||
|
*.swp
|
||||||
ansible/
|
ansible/
|
||||||
vms.json
|
vms.json
|
||||||
config/
|
config/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
|
password.txt
|
||||||
|
|||||||
11
main.py
11
main.py
@@ -13,6 +13,10 @@ location /.well-known/acme-challenge/ {
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
password = None
|
||||||
|
with open("password.txt") as f:
|
||||||
|
password = f.read().strip("\n")
|
||||||
|
|
||||||
FILE = "./config/vms.json"
|
FILE = "./config/vms.json"
|
||||||
with open(FILE) as f:
|
with open(FILE) as f:
|
||||||
jsonList = json.load(f)
|
jsonList = json.load(f)
|
||||||
@@ -88,4 +92,9 @@ if __name__ == "__main__":
|
|||||||
f.write(template.render(hostname=vmo.hostname, ip=vmo.ip))
|
f.write(template.render(hostname=vmo.hostname, ip=vmo.ip))
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|
||||||
|
# dump ansible
|
||||||
|
with open("./ansible/files/nsca_server.conf", "w") as f:
|
||||||
|
env = jinja2.Environment(loader=jinja2.FileSystemLoader(searchpath="./templates"))
|
||||||
|
template = env.get_template("nsca_server.conf.j2")
|
||||||
|
f.write(template.render(vmList=set(filter(lambda x: x.ansible, vmList)),
|
||||||
|
password=password))
|
||||||
|
|||||||
13
templates/nsca_server.conf.j2
Normal file
13
templates/nsca_server.conf.j2
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
command_file = "/run/icinga2/cmd/icinga2.cmd"
|
||||||
|
user = "nagios"
|
||||||
|
log_level = 4
|
||||||
|
|
||||||
|
{% for vmo in vmList %}
|
||||||
|
authorize "{{ vmo.hostname }}" {
|
||||||
|
password = "{{ password }}"
|
||||||
|
hosts = "{{ vmo.hostname }}"
|
||||||
|
services = {
|
||||||
|
"*",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{% endfor %}
|
||||||
Reference in New Issue
Block a user