From f8ed765bee5438dbca8bb029e4f4a3dc6dad3331 Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Mon, 4 May 2026 00:15:26 -0400 Subject: [PATCH 1/6] Update kustomization.yaml --- infrastructure/controllers/base/tailscale/kustomization.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/controllers/base/tailscale/kustomization.yaml b/infrastructure/controllers/base/tailscale/kustomization.yaml index af0ba12..3002a36 100644 --- a/infrastructure/controllers/base/tailscale/kustomization.yaml +++ b/infrastructure/controllers/base/tailscale/kustomization.yaml @@ -5,5 +5,5 @@ resources: - repository.yaml - release-operator.yaml # - dummy0auth.yaml - # - tsproxy-rtx6000.yaml + - tsproxy-rtx6000.yaml From ed39dcf598507d9f815d6205d6fdc4a75bea8ff9 Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Mon, 4 May 2026 04:47:34 +0000 Subject: [PATCH 2/6] fix: replace non-existent TsProxy CRD with ProxyGroup TsProxy is not a CRD shipped by the Tailscale operator (v1.96.x). The operator provides: ProxyClass, ProxyGroup, ProxyGroupPolicy, DNSConfig, Tailnet, Connector, and Recorder. Replace TsProxy with ProxyGroup (type: ingress) and annotate rtx6000-brain-service with tailscale.com/proxy-group to expose the vLLM endpoint via MagicDNS at rtx6000-brain-0..ts.net:8000. --- .../controllers/base/tailscale/tsproxy-rtx6000.yaml | 9 --------- infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml | 2 ++ infrastructure/tailnet/kustomization.yaml | 2 +- infrastructure/tailnet/proxygroup-rtx6000.yaml | 9 +++++++++ infrastructure/tailnet/tsproxy-rtx6000.yaml | 9 --------- 5 files changed, 12 insertions(+), 19 deletions(-) delete mode 100644 infrastructure/controllers/base/tailscale/tsproxy-rtx6000.yaml create mode 100644 infrastructure/tailnet/proxygroup-rtx6000.yaml delete mode 100644 infrastructure/tailnet/tsproxy-rtx6000.yaml diff --git a/infrastructure/controllers/base/tailscale/tsproxy-rtx6000.yaml b/infrastructure/controllers/base/tailscale/tsproxy-rtx6000.yaml deleted file mode 100644 index 7dac0ff..0000000 --- a/infrastructure/controllers/base/tailscale/tsproxy-rtx6000.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: tailscale.com/v1 -kind: TsProxy -metadata: - name: rtx6000-brain - namespace: customer1 -spec: - serviceName: rtx6000-brain-service - servicePort: 8000 - hostname: rtx6000-brain diff --git a/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml b/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml index 1a7e92f..0a4bfcc 100644 --- a/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml +++ b/infrastructure/gpus/base/vllm-servers/rtx6000-vllm.yaml @@ -130,6 +130,8 @@ kind: Service metadata: name: rtx6000-brain-service namespace: customer1 + annotations: + tailscale.com/proxy-group: rtx6000-brain spec: selector: app: rtx6000-brain diff --git a/infrastructure/tailnet/kustomization.yaml b/infrastructure/tailnet/kustomization.yaml index 07ef73a..dcaa56d 100644 --- a/infrastructure/tailnet/kustomization.yaml +++ b/infrastructure/tailnet/kustomization.yaml @@ -1,4 +1,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - tsproxy-rtx6000.yaml + - proxygroup-rtx6000.yaml diff --git a/infrastructure/tailnet/proxygroup-rtx6000.yaml b/infrastructure/tailnet/proxygroup-rtx6000.yaml new file mode 100644 index 0000000..1bf1b1d --- /dev/null +++ b/infrastructure/tailnet/proxygroup-rtx6000.yaml @@ -0,0 +1,9 @@ +apiVersion: tailscale.com/v1alpha1 +kind: ProxyGroup +metadata: + name: rtx6000-brain +spec: + type: ingress + hostnamePrefix: rtx6000-brain + tags: + - tag:k8s diff --git a/infrastructure/tailnet/tsproxy-rtx6000.yaml b/infrastructure/tailnet/tsproxy-rtx6000.yaml deleted file mode 100644 index 7dac0ff..0000000 --- a/infrastructure/tailnet/tsproxy-rtx6000.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: tailscale.com/v1 -kind: TsProxy -metadata: - name: rtx6000-brain - namespace: customer1 -spec: - serviceName: rtx6000-brain-service - servicePort: 8000 - hostname: rtx6000-brain From 6e58dc741b382edbc62453b8eac88fdd42a8b39e Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Mon, 4 May 2026 00:55:38 -0400 Subject: [PATCH 3/6] Update kustomization.yaml --- infrastructure/gpus/staging/kustomization.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/gpus/staging/kustomization.yaml b/infrastructure/gpus/staging/kustomization.yaml index adcabb6..3187a27 100644 --- a/infrastructure/gpus/staging/kustomization.yaml +++ b/infrastructure/gpus/staging/kustomization.yaml @@ -1,5 +1,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../base/vllm-servers/ + #- ../base/vllm-servers/ # - ../base/keda-gpu-scaling/ From 9391242ba2c818390b8d2e703e214baf8cf599ac Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Mon, 4 May 2026 05:23:56 +0000 Subject: [PATCH 4/6] fix: use correct tag:k8s-operator in rtx6000-brain ProxyGroup --- infrastructure/tailnet/proxygroup-rtx6000.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/tailnet/proxygroup-rtx6000.yaml b/infrastructure/tailnet/proxygroup-rtx6000.yaml index 1bf1b1d..da30740 100644 --- a/infrastructure/tailnet/proxygroup-rtx6000.yaml +++ b/infrastructure/tailnet/proxygroup-rtx6000.yaml @@ -6,4 +6,4 @@ spec: type: ingress hostnamePrefix: rtx6000-brain tags: - - tag:k8s + - tag:k8s-operator From 804013d60f6aaf38e4ae346cacac0bc63ded109a Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Mon, 4 May 2026 05:31:42 +0000 Subject: [PATCH 5/6] feat: expose Grafana dashboard via Tailscale ProxyGroup --- infrastructure/controllers/base/monitoring/release.yaml | 2 ++ infrastructure/tailnet/kustomization.yaml | 1 + infrastructure/tailnet/proxygroup-grafana.yaml | 9 +++++++++ 3 files changed, 12 insertions(+) create mode 100644 infrastructure/tailnet/proxygroup-grafana.yaml diff --git a/infrastructure/controllers/base/monitoring/release.yaml b/infrastructure/controllers/base/monitoring/release.yaml index ecc5513..54e7b35 100644 --- a/infrastructure/controllers/base/monitoring/release.yaml +++ b/infrastructure/controllers/base/monitoring/release.yaml @@ -67,6 +67,8 @@ spec: service: type: ClusterIP port: 3000 + annotations: + tailscale.com/proxy-group: grafana # Sidecar to auto-load dashboards from ConfigMaps sidecar: diff --git a/infrastructure/tailnet/kustomization.yaml b/infrastructure/tailnet/kustomization.yaml index dcaa56d..18e5e80 100644 --- a/infrastructure/tailnet/kustomization.yaml +++ b/infrastructure/tailnet/kustomization.yaml @@ -2,3 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - proxygroup-rtx6000.yaml + - proxygroup-grafana.yaml diff --git a/infrastructure/tailnet/proxygroup-grafana.yaml b/infrastructure/tailnet/proxygroup-grafana.yaml new file mode 100644 index 0000000..be69bb6 --- /dev/null +++ b/infrastructure/tailnet/proxygroup-grafana.yaml @@ -0,0 +1,9 @@ +apiVersion: tailscale.com/v1alpha1 +kind: ProxyGroup +metadata: + name: grafana +spec: + type: ingress + hostnamePrefix: grafana-dashboard + tags: + - tag:k8s-operator \ No newline at end of file From 89e61cf53b428494e4c0dce9fc4d4368c9bc913b Mon Sep 17 00:00:00 2001 From: sirius0xdev Date: Mon, 4 May 2026 05:59:34 +0000 Subject: [PATCH 6/6] fix: add namespace to ProxyGroups (customer1/monitoring) --- infrastructure/tailnet/proxygroup-grafana.yaml | 1 + infrastructure/tailnet/proxygroup-rtx6000.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/infrastructure/tailnet/proxygroup-grafana.yaml b/infrastructure/tailnet/proxygroup-grafana.yaml index be69bb6..6ff6ee4 100644 --- a/infrastructure/tailnet/proxygroup-grafana.yaml +++ b/infrastructure/tailnet/proxygroup-grafana.yaml @@ -2,6 +2,7 @@ apiVersion: tailscale.com/v1alpha1 kind: ProxyGroup metadata: name: grafana + namespace: monitoring spec: type: ingress hostnamePrefix: grafana-dashboard diff --git a/infrastructure/tailnet/proxygroup-rtx6000.yaml b/infrastructure/tailnet/proxygroup-rtx6000.yaml index da30740..748e1a2 100644 --- a/infrastructure/tailnet/proxygroup-rtx6000.yaml +++ b/infrastructure/tailnet/proxygroup-rtx6000.yaml @@ -2,6 +2,7 @@ apiVersion: tailscale.com/v1alpha1 kind: ProxyGroup metadata: name: rtx6000-brain + namespace: customer1 spec: type: ingress hostnamePrefix: rtx6000-brain