| replicaCount: | |
| api: 2 | |
| worker: 2 | |
| image: | |
| repository: ml-intern | |
| pullPolicy: IfNotPresent | |
| tag: "latest" | |
| imagePullSecrets: [] | |
| nameOverride: "" | |
| fullnameOverride: "" | |
| serviceAccount: | |
| create: true | |
| annotations: {} | |
| name: "" | |
| podAnnotations: | |
| prometheus.io/scrape: "true" | |
| prometheus.io/port: "8000" | |
| prometheus.io/path: "/metrics" | |
| podSecurityContext: | |
| fsGroup: 1000 | |
| securityContext: | |
| runAsNonRoot: true | |
| runAsUser: 1000 | |
| capabilities: | |
| drop: | |
| - ALL | |
| readOnlyRootFilesystem: true | |
| allowPrivilegeEscalation: false | |
| service: | |
| type: ClusterIP | |
| port: 8000 | |
| ingress: | |
| enabled: false | |
| className: "nginx" | |
| annotations: | |
| nginx.ingress.kubernetes.io/rate-limit: "100" | |
| nginx.ingress.kubernetes.io/rate-limit-window: "1m" | |
| hosts: | |
| - host: ml-intern.local | |
| paths: | |
| - path: / | |
| pathType: Prefix | |
| tls: [] | |
| resources: | |
| api: | |
| requests: | |
| cpu: 250m | |
| memory: 512Mi | |
| limits: | |
| cpu: 2000m | |
| memory: 2Gi | |
| worker: | |
| requests: | |
| cpu: 100m | |
| memory: 256Mi | |
| limits: | |
| cpu: 1000m | |
| memory: 1Gi | |
| autoscaling: | |
| enabled: true | |
| api: | |
| minReplicas: 2 | |
| maxReplicas: 20 | |
| targetCPUUtilizationPercentage: 70 | |
| targetMemoryUtilizationPercentage: 80 | |
| scaleUpStabilizationWindowSeconds: 60 | |
| scaleDownStabilizationWindowSeconds: 300 | |
| nodeSelector: {} | |
| tolerations: [] | |
| affinity: | |
| api: | |
| podAntiAffinity: | |
| preferredDuringSchedulingIgnoredDuringExecution: | |
| - weight: 100 | |
| podAffinityTerm: | |
| labelSelector: | |
| matchExpressions: | |
| - key: app.kubernetes.io/name | |
| operator: In | |
| values: | |
| - ml-intern | |
| topologyKey: kubernetes.io/hostname | |
| config: | |
| port: 8000 | |
| workers: 4 | |
| maxConcurrentRequests: 200 | |
| defaultRpmLimit: 40 | |
| requestTimeout: 120 | |
| cacheTtlSeconds: 300 | |
| budgetUsdPerSession: 10.0 | |
| circuitBreaker: | |
| failureThreshold: 5 | |
| recoveryTimeout: 60 | |
| logLevel: INFO | |
| secrets: | |
| hfToken: "" | |
| anthropicApiKey: "" | |
| openaiApiKey: "" | |
| groqApiKey: "" | |
| nvidiaApiKey: "" | |
| redis: | |
| enabled: true | |
| architecture: standalone | |
| auth: | |
| enabled: false | |
| master: | |
| persistence: | |
| enabled: true | |
| size: 5Gi | |
| resources: | |
| requests: | |
| memory: 256Mi | |
| cpu: 100m | |
| limits: | |
| memory: 1Gi | |
| cpu: 500m | |
| postgresql: | |
| enabled: true | |
| auth: | |
| username: ml_intern | |
| password: ml_intern | |
| database: ml_intern | |
| primary: | |
| persistence: | |
| enabled: true | |
| size: 10Gi | |
| resources: | |
| requests: | |
| memory: 256Mi | |
| cpu: 100m | |
| limits: | |
| memory: 1Gi | |
| cpu: 500m | |
| monitoring: | |
| enabled: true | |
| prometheus: | |
| enabled: true | |
| retention: "30d" | |
| grafana: | |
| enabled: true | |
| adminPassword: "admin" | |
| jaeger: | |
| enabled: true | |