apiVersion: apps/v1
kind: Deployment
metadata:
  name: turboscale-uploader
  namespace: <HubHaNameSpace>
  labels:
    name: turboscale-uploader
  annotations:
    "helm.sh/hook": post-install
    "helm.sh/hook-delete-policy": hook-failed
    cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
spec:
  replicas: 1
  selector:
    matchLabels:
      name: turboscale-uploader
  template:
    metadata:
      labels:
        name: turboscale-uploader
    spec:
      containers:
        - name: turboscale-uploader
          image: public.ecr.aws/v4a1k5d3/browserstack/turboscale-kafka-uploader:<UploaderImageVersion>
          imagePullPolicy: Always
          securityContext:
            allowPrivilegeEscalation: false
          env:
            - name: BSTACK_USERNAME
              valueFrom:
                secretKeyRef:
                  name: browserstack-secret
                  key: bstack-username
            - name: BSTACK_ACCESSKEY
              valueFrom:
                secretKeyRef:
                  name: browserstack-secret
                  key: bstack-accesskey
            - name: BSTACK_ENV
              value: "production"
            - name: REDIS_NAMESPACE
              value: <HubHaNameSpace>
            - name: KAFKA_NAMESPACE
              value: <HubHaNameSpace>
            - name: REDIS_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: browserstack-secret
                  key: redis-password
            - name: KAFKA_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: browserstack-secret
                  key: kafka-password
          resources:
            limits:
              cpu: "0.5"
              memory: 1Gi
            requests:
              cpu: "0.5"
              memory: 1Gi
      nodeSelector:
        kubernetes.io/os: linux
