mirror of
https://github.com/FAUSheppy/athq-vm-management
synced 2025-12-06 13:51:35 +01:00
fix: add nsca config generation
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,5 +1,7 @@
|
||||
build/
|
||||
*.swp
|
||||
ansible/
|
||||
vms.json
|
||||
config/
|
||||
__pycache__/
|
||||
password.txt
|
||||
|
||||
11
main.py
11
main.py
@@ -13,6 +13,10 @@ location /.well-known/acme-challenge/ {
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
password = None
|
||||
with open("password.txt") as f:
|
||||
password = f.read().strip("\n")
|
||||
|
||||
FILE = "./config/vms.json"
|
||||
with open(FILE) as f:
|
||||
jsonList = json.load(f)
|
||||
@@ -88,4 +92,9 @@ if __name__ == "__main__":
|
||||
f.write(template.render(hostname=vmo.hostname, ip=vmo.ip))
|
||||
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