apiVersion: apps/v1 kind: Deployment metadata: name: orderbooks-collector namespace: orderbooks labels: app.kubernetes.io/name: orderbooks app.kubernetes.io/part-of: orderbooks app.kubernetes.io/component: collector spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/name: orderbooks app.kubernetes.io/component: collector template: metadata: labels: app.kubernetes.io/name: orderbooks app.kubernetes.io/part-of: orderbooks app.kubernetes.io/component: collector spec: terminationGracePeriodSeconds: 120 imagePullSecrets: - name: orderbooks-registry-creds securityContext: runAsNonRoot: true runAsUser: 10001 runAsGroup: 10001 fsGroup: 10001 fsGroupChangePolicy: OnRootMismatch containers: - name: collector image: registry.doran.133011.xyz/orderbooks:bootstrap imagePullPolicy: IfNotPresent command: - /bin/bash - /app/scripts/run_polymarket_collector_loop.sh env: - name: ORDERBOOKS_APP_DIR value: /app - name: ORDERBOOKS_PYTHON value: python3 - name: ORDERBOOKS_DATA_DIR value: /var/lib/orderbooks - name: ORDERBOOKS_COLLECTOR_CONFIG value: /etc/orderbooks/polymarket_collector.yaml - name: ORDERBOOKS_DISCOVERY_DIR value: /var/lib/orderbooks/discovery - name: ORDERBOOKS_OUTPUT_DIR value: /var/lib/orderbooks/raw_orderbooks - name: ORDERBOOKS_MANIFEST_DIR value: /var/lib/orderbooks/manifests - name: ORDERBOOKS_LOOP_SLEEP_SECONDS value: "15" volumeMounts: - name: orderbooks-data mountPath: /var/lib/orderbooks - name: collector-config mountPath: /etc/orderbooks/polymarket_collector.yaml subPath: polymarket_collector.yaml readOnly: true resources: requests: cpu: 50m memory: 128Mi limits: cpu: 500m memory: 512Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL volumes: - name: orderbooks-data persistentVolumeClaim: claimName: orderbooks-data - name: collector-config configMap: name: orderbooks-collector-config items: - key: polymarket_collector.yaml path: polymarket_collector.yaml