# Two gateways with disjoint --selector values to verify per-model isolation. # Both watch the smg-test namespace, both use the namespace-scoped RBAC from # rbac.yaml, but each only matches workers carrying its own `model=...` label. apiVersion: apps/v1 kind: Deployment metadata: name: smg-gateway-llama namespace: smg-test spec: replicas: 1 selector: matchLabels: app: smg-gateway-llama template: metadata: labels: app: smg-gateway-llama spec: serviceAccountName: smg-gateway containers: - name: gateway image: smg-gateway:test imagePullPolicy: Never args: - "--service-discovery" - "--selector" - "app=fake-worker" - "model=llama" - "--service-discovery-port" - "8000" - "--service-discovery-namespace" - "smg-test" - "--port" - "30003" - "--prometheus-port" - "29003" - "--disable-health-check" - "--worker-startup-timeout-secs" - "30" - "--log-level" - "debug" ports: - containerPort: 30003 name: http - containerPort: 29003 name: metrics readinessProbe: httpGet: path: /liveness port: 30003 initialDelaySeconds: 3 periodSeconds: 3 livenessProbe: httpGet: path: /liveness port: 30003 initialDelaySeconds: 5 periodSeconds: 10 --- apiVersion: v1 kind: Service metadata: name: smg-gateway-llama namespace: smg-test spec: type: NodePort selector: app: smg-gateway-llama ports: - name: http port: 30003 targetPort: 30003 - name: metrics port: 29003 targetPort: 29003 --- apiVersion: apps/v1 kind: Deployment metadata: name: smg-gateway-qwen namespace: smg-test spec: replicas: 1 selector: matchLabels: app: smg-gateway-qwen template: metadata: labels: app: smg-gateway-qwen spec: serviceAccountName: smg-gateway containers: - name: gateway image: smg-gateway:test imagePullPolicy: Never args: - "--service-discovery" - "--selector" - "app=fake-worker" - "model=qwen" - "--service-discovery-port" - "8000" - "--service-discovery-namespace" - "smg-test" - "--port" - "30004" - "--prometheus-port" - "29004" - "--disable-health-check" - "--worker-startup-timeout-secs" - "30" - "--log-level" - "debug" ports: - containerPort: 30004 name: http - containerPort: 29004 name: metrics readinessProbe: httpGet: path: /liveness port: 30004 initialDelaySeconds: 3 periodSeconds: 3 livenessProbe: httpGet: path: /liveness port: 30004 initialDelaySeconds: 5 periodSeconds: 10 --- apiVersion: v1 kind: Service metadata: name: smg-gateway-qwen namespace: smg-test spec: type: NodePort selector: app: smg-gateway-qwen ports: - name: http port: 30004 targetPort: 30004 - name: metrics port: 29004 targetPort: 29004