Consolidate chat-ui and llamactl resources into single YAML files, add openhands

This commit is contained in:
2025-08-08 21:17:24 +02:00
parent 4ef5c5ea85
commit b6eceffc17
9 changed files with 136 additions and 99 deletions

View File

@@ -1,14 +0,0 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: chat-ui-ingress
namespace: chat-ui
spec:
entryPoints:
- websecure
routes:
- match: Host(`${CHATUI_DOMAIN}`)
kind: Rule
services:
- name: chat-ui-proxy
port: ${CHATUI_INTERNAL_PORT}

View File

@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: chat-ui-proxy
namespace: chat-ui
annotations:
tailscale.com/tailnet-fqdn: ${CHATUI_TAILNET_FQDN}
spec:
type: ExternalName
externalName: placeholder
ports:
- port: ${CHATUI_INTERNAL_PORT}
name: http

View File

@@ -0,0 +1,29 @@
apiVersion: v1
kind: Service
metadata:
name: chat-ui-proxy
namespace: homelab-proxy
annotations:
tailscale.com/tailnet-fqdn: ${CHATUI_TAILNET_FQDN}
spec:
type: ExternalName
externalName: placeholder
ports:
- port: ${CHATUI_INTERNAL_PORT}
name: http
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: chat-ui-ingress
namespace: homelab-proxy
spec:
entryPoints:
- websecure
routes:
- match: Host(`${CHATUI_DOMAIN}`)
kind: Rule
services:
- name: chat-ui-proxy
port: ${CHATUI_INTERNAL_PORT}

View File

@@ -4,7 +4,6 @@ namespace: homelab-proxy
resources:
- ../../base/homelab-proxy
- chatui-ingress.yaml
- chatui-service.yaml
- llamactl-ingress.yaml
- llamactl-service.yaml
- llamactl.yaml
- chatui.yaml
- openhands.yaml

View File

@@ -1,31 +0,0 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: llamactl-ingress
namespace: llamactl
spec:
entryPoints:
- websecure
routes:
# Protected route for internal management API
- match: Host(`${LLAMACTL_DOMAIN}`) && PathPrefix(`/api/v1`)
kind: Rule
services:
- name: llamactl-proxy
port: ${LLAMACTL_INTERNAL_PORT}
middlewares:
- name: "auth-authelia@kubernetescrd"
# Unprotected route for OpenAI compatible API (uses API keys)
- match: Host(`${LLAMACTL_DOMAIN}`) && PathPrefix(`/v1`)
kind: Rule
services:
- name: llamactl-proxy
port: ${LLAMACTL_INTERNAL_PORT}
# Catch-all route
- match: Host(`${LLAMACTL_DOMAIN}`)
kind: Rule
services:
- name: llamactl-proxy
port: ${LLAMACTL_INTERNAL_PORT}
middlewares:
- name: "auth-authelia@kubernetescrd"

View File

@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: llamactl-proxy
namespace: llamactl
annotations:
tailscale.com/tailnet-fqdn: ${LLAMACTL_TAILNET_FQDN}
spec:
type: ExternalName
externalName: placeholder
ports:
- port: ${LLAMACTL_INTERNAL_PORT}
name: http

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: Service
metadata:
name: llamactl-proxy
namespace: homelab-proxy
annotations:
tailscale.com/tailnet-fqdn: ${LLAMACTL_TAILNET_FQDN}
spec:
type: ExternalName
externalName: placeholder
ports:
- port: ${LLAMACTL_INTERNAL_PORT}
name: http
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: llamactl-ingress
namespace: homelab-proxy
spec:
entryPoints:
- websecure
routes:
# Protected route for internal management API
- match: Host(`${LLAMACTL_DOMAIN}`) && PathPrefix(`/api/v1`)
kind: Rule
services:
- name: llamactl-proxy
port: ${LLAMACTL_INTERNAL_PORT}
middlewares:
- name: "auth-authelia@kubernetescrd"
# Unprotected route for OpenAI compatible API (uses API keys)
- match: Host(`${LLAMACTL_DOMAIN}`) && PathPrefix(`/v1`)
kind: Rule
services:
- name: llamactl-proxy
port: ${LLAMACTL_INTERNAL_PORT}
# Catch-all route
- match: Host(`${LLAMACTL_DOMAIN}`)
kind: Rule
services:
- name: llamactl-proxy
port: ${LLAMACTL_INTERNAL_PORT}
middlewares:
- name: "auth-authelia@kubernetescrd"

View File

@@ -0,0 +1,31 @@
apiVersion: v1
kind: Service
metadata:
name: openhands-proxy
namespace: homelab-proxy
annotations:
tailscale.com/tailnet-fqdn: ${OPENHANDS_TAILNET_FQDN}
spec:
type: ExternalName
externalName: placeholder
ports:
- port: ${OPENHANDS_INTERNAL_PORT}
name: http
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: openhands-ingress
namespace: homelab-proxy
spec:
entryPoints:
- websecure
routes:
- match: Host(`${OPENHANDS_DOMAIN}`)
kind: Rule
services:
- name: openhands-proxy
port: ${OPENHANDS_INTERNAL_PORT}
middlewares:
- name: "auth-authelia@kubernetescrd"