apiVersion: apps/v1 kind: Deployment metadata: name: model-catalog namespace: agentgateway-system labels: app.kubernetes.io/name: model-catalog app.kubernetes.io/instance: agentgateway app.kubernetes.io/part-of: agentgateway app.kubernetes.io/version: "0.1.1" spec: replicas: 2 strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 selector: matchLabels: app.kubernetes.io/name: model-catalog app.kubernetes.io/instance: agentgateway template: metadata: labels: app.kubernetes.io/name: model-catalog app.kubernetes.io/instance: agentgateway app.kubernetes.io/part-of: agentgateway app.kubernetes.io/version: "0.1.1" spec: automountServiceAccountToken: true serviceAccountName: model-catalog securityContext: runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 seccompProfile: type: RuntimeDefault topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: model-catalog app.kubernetes.io/instance: agentgateway containers: - name: catalog image: registry.quorate.internal/quorate/agentgateway-catalog:0.1.1@sha256:919e63ef02b9d6f40efa613570a5cb04af40764e9f377da4db4f58b4c3f23389 imagePullPolicy: IfNotPresent args: - run env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: ENABLED_PROVIDERS value: google-vertex,novita - name: NOVITA_API_KEY valueFrom: secretKeyRef: name: agentgateway-novita key: api_key - name: SYNC_INTERVAL value: 6h - name: SYNC_RETRY_INTERVAL value: 5m ports: - name: metrics containerPort: 8080 protocol: TCP readinessProbe: httpGet: path: /readyz port: metrics livenessProbe: httpGet: path: /healthz port: metrics resources: requests: cpu: 10m memory: 16Mi limits: memory: 64Mi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - ALL volumeMounts: - name: catalog mountPath: /catalog readOnly: true volumes: - name: catalog configMap: name: agentgateway-model-costs optional: true