feat: nginx main conf

This commit is contained in:
2022-12-21 14:33:00 +01:00
parent 70b4899efc
commit feb1d8c42d

22
main.py
View File

@@ -1,5 +1,7 @@
import json import json
import vm import vm
import sys
import jinja2
ACME_CONTENT = ''' ACME_CONTENT = '''
location /.well-known/acme-challenge/ { location /.well-known/acme-challenge/ {
@@ -10,7 +12,7 @@ location /.well-known/acme-challenge/ {
if __name__ == "__main__": if __name__ == "__main__":
FILE = "vms.json" FILE = "./config/vms.json"
with open(FILE) as f: with open(FILE) as f:
jsonList = json.load(f) jsonList = json.load(f)
vmList = [] vmList = []
@@ -21,18 +23,18 @@ if __name__ == "__main__":
except ValueError as e: except ValueError as e:
print(e, file=sys.stderr) print(e, file=sys.stderr)
with open("./build/stream_include.conf", "w") as f: with open("/etc/nginx/stream_include.conf", "w") as f:
for vmo in vmList: for vmo in vmList:
[ f.write(c) for c in vmo.dumpStreamComponents()] [ f.write(c) for c in vmo.dumpStreamComponents()]
with open("./build/http_include.conf", "w") as f: with open("/etc/nginx/http_include.conf", "w") as f:
for vmo in vmList: for vmo in vmList:
[ f.write(c) for c in vmo.dumpServerComponents()] [ f.write(c) for c in vmo.dumpServerComponents()]
with open("./build/acme-challenge.conf", "w") as f: with open("/etc/nginx/acme-challenge.conf", "w") as f:
f.write(ACME_CONTENT) f.write(ACME_CONTENT)
with open("./build/cert.sh", "w") as f: with open("/etc/nginx/cert.sh", "w") as f:
f.write("certbot certonly --webroot -w /var/www \\") f.write("certbot certonly --webroot -w /var/www \\")
domains = [] domains = []
@@ -47,3 +49,13 @@ if __name__ == "__main__":
f.write(" -d {} \\".format(d)) f.write(" -d {} \\".format(d))
f.write("--rsa-key-size 2048 --expand") f.write("--rsa-key-size 2048 --expand")
with open("/etc/nginx/nginx.conf", "w") as f:
with open("./config/nginx.json") as j:
nginxJson = json.load(j)
env = jinja2.Environment(loader=jinja2.FileSystemLoader(searchpath="./templates"))
template = env.get_template("nginx.conf.j2")
content = template.render(nginxJson)
f.write(content)