apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: twentycrm-worker
  name: twentycrm-worker
  namespace: twentycrm
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  selector:
    matchLabels:
      app: twentycrm-worker
  template:
    metadata:
      labels:
        app: twentycrm-worker
    spec:
      containers:
        - name: twentycrm
          image: twentycrm/twenty:latest
          imagePullPolicy: Always
          env:
            - name: SERVER_URL
              value: "https://crm.example.com:443"
            - name: FRONT_BASE_URL
              value: "https://crm.example.com:443"
            - name: PG_DATABASE_URL
              value: "postgres://twenty:twenty@twenty-db.twentycrm.svc.cluster.local/default"
            - name: ENABLE_DB_MIGRATIONS
              value: "false" # it already runs on the server
            - name: STORAGE_TYPE
              value: "local"
            - name: "MESSAGE_QUEUE_TYPE"
              value: "bull-mq"
            - name: "CACHE_STORAGE_TYPE"
              value: "redis"
            - name: "REDIS_URL"
              value: "redis://twentycrm-redis.twentycrm.svc.cluster.local:6379"
            - name: ACCESS_TOKEN_SECRET
              valueFrom:
                secretKeyRef:
                  name: tokens
                  key: accessToken
            - name: LOGIN_TOKEN_SECRET
              valueFrom:
                secretKeyRef:
                  name: tokens
                  key: loginToken
            - name: REFRESH_TOKEN_SECRET
              valueFrom:
                secretKeyRef:
                  name: tokens
                  key: refreshToken
            - name: FILE_TOKEN_SECRET
              valueFrom:
                secretKeyRef:
                  name: tokens
                  key: fileToken
          command:
            - yarn
            - worker:prod
          resources:
            requests:
              memory: "1024Mi"
              cpu: "250m"
            limits:
              memory: "2048Mi"
              cpu: "1000m"
          stdin: true
          tty: true
      dnsPolicy: ClusterFirst
      restartPolicy: Always
