From c7824bef5be5fd9972c35666973a2c226413d6a7 Mon Sep 17 00:00:00 2001 From: Bread Genie Date: Thu, 13 Feb 2025 12:03:56 +0000 Subject: [PATCH] feat: add endpoint to add domain for existing site --- agent/proxy.py | 11 +++++++++-- agent/web.py | 7 +++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/agent/proxy.py b/agent/proxy.py index 7792d098..200b5868 100644 --- a/agent/proxy.py +++ b/agent/proxy.py @@ -70,8 +70,7 @@ def add_wildcard_hosts(self, wildcards): if wildcard.get("code_server"): Path(os.path.join(host_directory, "codeserver")).touch() - @job("Add Site to Upstream") - def add_site_to_upstream_job(self, upstream, site, skip_reload=False): + def add_site_domain_to_upstream(self, upstream, site, skip_reload=False): self.remove_conflicting_site(site) self.add_site_to_upstream(upstream, site) self.generate_proxy_config() @@ -79,6 +78,14 @@ def add_site_to_upstream_job(self, upstream, site, skip_reload=False): return self.reload_nginx() + @job("Add Site to Upstream") + def add_site_to_upstream_job(self, upstream, site, skip_reload=False): + self.add_site_domain_to_upstream(upstream, site, skip_reload) + + @job("Add Domain to Upstream") + def add_domain_to_upstream_job(self, upstream, domain, skip_reload=False): + self.add_site_domain_to_upstream(upstream, domain, skip_reload) + @step("Remove Conflicting Site") def remove_conflicting_site(self, site): # Go through all upstreams and remove the site file matching the site name diff --git a/agent/web.py b/agent/web.py index 7c8334e2..5f4846bd 100644 --- a/agent/web.py +++ b/agent/web.py @@ -1018,6 +1018,13 @@ def proxy_add_upstream_site(upstream): return {"job": job} +@application.route("/proxy/upstreams//domains", methods=["POST"]) +def proxy_add_upstream_site_domain(upstream): + data = request.json + job = Proxy().add_domain_to_upstream_job(upstream, data["domain"], data.get("skip_reload", False)) + return {"job": job} + + @application.route( "/proxy/upstreams//sites/", methods=["DELETE"],