From 74a30b3194763de1bea0453c65f9afa038a45980 Mon Sep 17 00:00:00 2001
From: Matthew Baggett <matthew@baggett.me>
Date: Fri, 17 Jan 2025 11:51:01 +0100
Subject: [PATCH] rework to use socket-proxy

---
 service.printers.tf | 35 ++++++++++-------------------------
 service.proxies.tf  | 17 +++++++++++++++++
 2 files changed, 27 insertions(+), 25 deletions(-)

diff --git a/service.printers.tf b/service.printers.tf
index 43dc2e9..a9993a8 100644
--- a/service.printers.tf
+++ b/service.printers.tf
@@ -1,32 +1,17 @@
 module "s1" {
-  //source       = "github.com/matthewbaggett/terraform_modules//docker/service"
-  source       = "./lib/grey.ooo/docker/service"
-  stack_name   = "printers"
-  service_name = "s1proxy"
-  image        = "alpine/socat:latest"
-  command      = ["socat", "tcp-listen:80,fork,reuseaddr", "tcp-connect:s1.prin.ti:80"]
-  traefik = merge(var.treafik_defaults, {
-    domain           = "s1.${var.base_domain}"
-    port             = 80
-    basic-auth-users = ["techinc"]
-  })
-  converge_enable       = false
+  source                = "./lib/grey.ooo/products/socket-proxy"
+  stack_name            = "printers"
+  service_name          = "s1proxy"
+  target                = { host = "s1.prin.ti", port = 80 }
+  traefik               = { domain = "s1.${var.base_domain}", basic-auth-users = ["techinc"] }
   placement_constraints = ["node.hostname == california"]
 }
-
 module "label_printer" {
-  //source       = "github.com/matthewbaggett/terraform_modules//docker/service"
-  source       = "./lib/grey.ooo/docker/service"
-  stack_name   = "printers"
-  service_name = "labelprinter"
-  image        = "alpine/socat:latest"
-  command      = ["socat", "tcp-listen:80,fork,reuseaddr", "tcp-connect:labelprinter.ti:80"]
-  traefik = merge(var.treafik_defaults, {
-    domain           = "labelprinter.${var.base_domain}"
-    port             = 80
-    basic-auth-users = ["techinc"]
-  })
-  converge_enable       = false
+  source                = "./lib/grey.ooo/products/socket-proxy"
+  stack_name            = "printers"
+  service_name          = "labelprinter"
+  target                = { host = "labelprinter.ti", port = 80 }
+  traefik               = { domain = "labelprinter.${var.base_domain}", basic-auth-users = ["techinc"] }
   placement_constraints = ["node.hostname == california"]
 }
 
diff --git a/service.proxies.tf b/service.proxies.tf
index e69de29..3328203 100644
--- a/service.proxies.tf
+++ b/service.proxies.tf
@@ -0,0 +1,17 @@
+module "unifi_proxy" {
+  source                = "./lib/grey.ooo/products/socket-proxy"
+  stack_name            = "proxy"
+  service_name          = "unifi"
+  target                = { host = "unifi.ti", port = 8080 }
+  traefik               = {
+    domain = "unifi.${var.base_domain}",
+    basic-auth-users = ["techinc"],
+    headers = {Host = "unifi.ti"}
+  }
+  placement_constraints = ["node.hostname == california"]
+}
+output "unifi_proxy" {
+  value = {
+    endpoint = module.unifi_proxy.endpoint
+  }
+}
\ No newline at end of file