mirror of
https://github.com/FAUSheppy/athq-vm-management
synced 2025-12-06 05:41:35 +01:00
feat: proxy pass options
This commit is contained in:
@@ -27,6 +27,12 @@ http {
|
|||||||
include /etc/nginx/mime.types;
|
include /etc/nginx/mime.types;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
# needed for weechat #
|
||||||
|
map $http_upgrade $connection_upgrade {
|
||||||
|
default upgrade;
|
||||||
|
'' close;
|
||||||
|
}
|
||||||
|
|
||||||
ssl_certificate {{ ssl_path }}/fullchain.pem;
|
ssl_certificate {{ ssl_path }}/fullchain.pem;
|
||||||
ssl_certificate_key {{ ssl_path }}/privkey.pem;
|
ssl_certificate_key {{ ssl_path }}/privkey.pem;
|
||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ server{
|
|||||||
location / {
|
location / {
|
||||||
proxy_pass http://{{ targetip }}:{{ targetport }};
|
proxy_pass http://{{ targetip }}:{{ targetport }};
|
||||||
proxy_set_header Host $http_host;
|
proxy_set_header Host $http_host;
|
||||||
|
{{ proxy_pass_blob }}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
10
vm.py
10
vm.py
@@ -14,6 +14,10 @@ class VM:
|
|||||||
self.network = args.get("network") or "default"
|
self.network = args.get("network") or "default"
|
||||||
self.lease = self._get_lease_for_hostname()
|
self.lease = self._get_lease_for_hostname()
|
||||||
self.ip = self.lease.get("ipaddr")
|
self.ip = self.lease.get("ipaddr")
|
||||||
|
self.proxy_pass_options = args.get("proxy_pass_options")
|
||||||
|
self.proxy_pass_blob = ""
|
||||||
|
if self.proxy_pass_options:
|
||||||
|
self.proxy_pass_blob = "\n".join(self.proxy_pass_options)
|
||||||
|
|
||||||
def _get_lease_for_hostname(self):
|
def _get_lease_for_hostname(self):
|
||||||
|
|
||||||
@@ -86,7 +90,8 @@ class VM:
|
|||||||
compositeName = "-".join((self.hostname, subdomain["name"].replace(".","-")))
|
compositeName = "-".join((self.hostname, subdomain["name"].replace(".","-")))
|
||||||
targetport = subdomain["port"]
|
targetport = subdomain["port"]
|
||||||
component = template.render(targetip=self.ip, targetport=targetport,
|
component = template.render(targetip=self.ip, targetport=targetport,
|
||||||
servernames=[subdomain["name"]], comment=compositeName)
|
servernames=[subdomain["name"]], comment=compositeName,
|
||||||
|
proxy_pass_blob=self.proxy_pass_blob)
|
||||||
components.append(component)
|
components.append(component)
|
||||||
|
|
||||||
elif any([type(e) == dict for e in self.subdomains]):
|
elif any([type(e) == dict for e in self.subdomains]):
|
||||||
@@ -94,7 +99,8 @@ class VM:
|
|||||||
else:
|
else:
|
||||||
compositeName = "-".join((self.hostname, self.subdomains[0].replace(".","-")))
|
compositeName = "-".join((self.hostname, self.subdomains[0].replace(".","-")))
|
||||||
component = template.render(targetip=self.ip, targetport=targetport,
|
component = template.render(targetip=self.ip, targetport=targetport,
|
||||||
servernames=self.subdomains, comment=compositeName)
|
servernames=self.subdomains, comment=compositeName,
|
||||||
|
proxy_pass_blob=self.proxy_pass_blob)
|
||||||
components.append(component)
|
components.append(component)
|
||||||
|
|
||||||
return components
|
return components
|
||||||
|
|||||||
Reference in New Issue
Block a user