wip: misc fixes

This commit is contained in:
2022-12-09 21:48:43 +01:00
parent 5d36c3da73
commit 55b5768acb
2 changed files with 10 additions and 9 deletions

View File

@@ -1,11 +1,12 @@
import json import json
import vm
if __name__ == "__main__": if __name__ == "__main__":
FILE = "vms.json" FILE = "vms.json"
with open(FILE) as f: with open(FILE) as f:
jsonList = json.load(f) jsonList = json.load(f)
vmList = [ VM(obj) for obj in jsonList ] vmList = [ vm.VM(obj) for obj in jsonList ]
for vm in vmList: for vmo in vmList:
print(vmList.dumpHAProxyComponents()) [ print(c) for c in vmo.dumpHAProxyComponents()]

12
vm.py
View File

@@ -17,11 +17,11 @@ HA_PROXY_TEMPLATE_SNI = '''
frontend {subdomain}.{basedomain} frontend {subdomain}.{basedomain}
bind 0.0.0.0:80 bind 0.0.0.0:80
bind 0.0.0.0:443 ssl bind 0.0.0.0:443 ssl
http-request redirect scheme https unless { ssl_fc } http-request redirect scheme https unless {{ ssl_fc }}
default_backend {name} default_backend {name}
backend {name} backend {name}
server srv1 {ip} check maxconn 20 ssl server srv1 {ip} check maxconn 20
''' '''
@@ -33,8 +33,8 @@ class VM:
self.subdomains = args.get("subdomains") self.subdomains = args.get("subdomains")
self.ports = args.get("ports") self.ports = args.get("ports")
self.network = args.get("network") or "default" self.network = args.get("network") or "default"
self.lease = _get_lease_for_hostname() self.lease = self._get_lease_for_hostname()
self.ip = lease.get("ipaddr") self.ip = self.lease.get("ipaddr")
def _get_lease_for_hostname(self): def _get_lease_for_hostname(self):
@@ -54,11 +54,11 @@ class VM:
# port forwarding components # # port forwarding components #
for pObj in self.ports: for pObj in self.ports:
name = str(pObj.get("name")).replace(" ", "") name = str(pObj.get("name")).replace(" ", "")
portOrRange = pObj.get("port").replace(" ", "") portOrRange = str(pObj.get("port")).replace(" ", "")
proto = pObj.get("proto") or "tcp" proto = pObj.get("proto") or "tcp"
compositeName = "-".join((self.hostname, name, portOrRange, proto)) compositeName = "-".join((self.hostname, name, portOrRange, proto))
component = HA_PROXY_TEMPLATE_PORT.format(name=compositeName, port=port, component = HA_PROXY_TEMPLATE_PORT.format(name=compositeName, port=portOrRange,
proto=proto, ip=self.ip) proto=proto, ip=self.ip)
components.append(component) components.append(component)