mirror of
https://github.com/FAUSheppy/athq-vm-management
synced 2025-12-06 05:41:35 +01:00
wip: misc fixes
This commit is contained in:
7
main.py
7
main.py
@@ -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
12
vm.py
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user