--- apiVersion: apps/v1 kind: Deployment metadata: name: embeddings-ui namespace: ai-ml labels: app: embeddings component: demo-ui spec: replicas: 1 selector: matchLabels: app: embeddings template: metadata: labels: app: embeddings component: demo-ui spec: containers: - name: gradio image: ghcr.io/billy-davies-2/llm-apps:v2-202601271655 imagePullPolicy: Always command: ["python", "embeddings.py"] ports: - containerPort: 7860 name: http protocol: TCP env: - name: EMBEDDINGS_URL # Ray Serve endpoint - routes to /embeddings prefix value: "http://ai-inference-serve-svc.ai-ml.svc.cluster.local:8000/embeddings" - 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: embeddings-ui namespace: ai-ml labels: app: embeddings spec: type: ClusterIP ports: - port: 80 targetPort: 7860 protocol: TCP name: http selector: app: embeddings --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: embeddings-ui namespace: ai-ml annotations: external-dns.alpha.kubernetes.io/hostname: embeddings-ui.lab.daviestechlabs.io spec: parentRefs: - name: envoy-internal namespace: network sectionName: https-lab hostnames: - embeddings-ui.lab.daviestechlabs.io rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: embeddings-ui port: 80