--- apiVersion: apps/v1 kind: Deployment metadata: name: llm-ui namespace: ai-ml labels: app: llm component: demo-ui spec: replicas: 1 selector: matchLabels: app: llm template: metadata: labels: app: llm component: demo-ui spec: containers: - name: gradio image: ghcr.io/billy-davies-2/llm-apps:v2-202602120535 imagePullPolicy: Always command: ["python", "llm.py"] ports: - containerPort: 7860 name: http protocol: TCP env: - name: LLM_URL # Ray Serve endpoint - routes to /llm prefix value: "http://ai-inference-serve-svc.ai-ml.svc.cluster.local:8000/llm" - name: MLFLOW_TRACKING_URI value: "http://mlflow.mlflow.svc.cluster.local:80" resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "512Mi" livenessProbe: httpGet: path: / port: 7860 initialDelaySeconds: 10 periodSeconds: 30 readinessProbe: httpGet: path: / port: 7860 initialDelaySeconds: 5 periodSeconds: 10 imagePullSecrets: - name: ghcr-registry --- apiVersion: v1 kind: Service metadata: name: llm-ui namespace: ai-ml labels: app: llm spec: type: ClusterIP ports: - port: 80 targetPort: 7860 protocol: TCP name: http selector: app: llm --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: llm-ui namespace: ai-ml annotations: external-dns.alpha.kubernetes.io/hostname: llm-ui.lab.daviestechlabs.io spec: parentRefs: - name: envoy-internal namespace: network sectionName: https-lab hostnames: - llm-ui.lab.daviestechlabs.io rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: llm-ui port: 80