mirror of
https://github.com/FAUSheppy/athq-vm-management
synced 2025-12-06 05:41:35 +01:00
feat: nginx autoconf
This commit is contained in:
47
main.py
47
main.py
@@ -1,12 +1,51 @@
|
||||
import json
|
||||
import vm
|
||||
|
||||
ACME_CONTENT = '''
|
||||
location /.well-known/acme-challenge/ {
|
||||
auth_basic off;
|
||||
alias /var/www/.well-known/acme-challenge/;
|
||||
}
|
||||
'''
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
FILE = "vms.json"
|
||||
with open(FILE) as f:
|
||||
jsonList = json.load(f)
|
||||
vmList = [ vm.VM(obj) for obj in jsonList ]
|
||||
|
||||
for vmo in vmList:
|
||||
[ print(c) for c in vmo.dumpHAProxyComponents()]
|
||||
vmList = []
|
||||
for obj in jsonList:
|
||||
try:
|
||||
vmo = vm.VM(obj)
|
||||
vmList.append(vmo)
|
||||
except ValueError as e:
|
||||
print(e)
|
||||
|
||||
with open("./build/stream_include.conf", "w") as f:
|
||||
for vmo in vmList:
|
||||
[ print(c) for c in vmo.dumpStreamComponents()]
|
||||
[ f.write(c) for c in vmo.dumpStreamComponents()]
|
||||
|
||||
with open("./build/http_include.conf", "w") as f:
|
||||
for vmo in vmList:
|
||||
[ print(c) for c in vmo.dumpServerComponents()]
|
||||
[ f.write(c) for c in vmo.dumpServerComponents()]
|
||||
|
||||
with open("./build/acme-challenge.conf", "w") as f:
|
||||
f.write(ACME_CONTENT)
|
||||
|
||||
with open("./build/cert.sh", "w") as f:
|
||||
|
||||
f.write("certbot certonly --webroot -w /var/www \\")
|
||||
domains = []
|
||||
for vmo in vmList:
|
||||
for subdomain in vmo.subdomains:
|
||||
if type(subdomain) == dict:
|
||||
domains.append(subdomain["name"])
|
||||
else:
|
||||
domains.append(subdomain)
|
||||
|
||||
for d in set(domains):
|
||||
f.write(" -d {} \\".format(d))
|
||||
|
||||
f.write("--rsa-key-size 2048 --expand")
|
||||
|
||||
Reference in New Issue
Block a user