apiVersion: apps/v1
kind: Deployment
metadata:
  name: walter-dev
spec:
  replicas: 1
  selector:
    matchLabels:
      app: walter-dev
  template:
    metadata:
      labels:
        app: walter-dev
    spec:
      containers:
        - name: api
          image: gcr.io/staging-288420/walter-backend:__IMAGE_TAG__
          ports:
            - containerPort: 4000
          volumeMounts:
            - name: storage-service-account
              mountPath: /usr/src/app/mount-storage-sa
              readOnly: true
          resources:
            limits:
              cpu: '0.5'
              memory: 700Mi
            requests:
              cpu: '0.2'
              memory: 500Mi
          env:
            - name: DATABASE_URL
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: DATABASE_URL
            - name: NODE_ENV
              value: development
            - name: ENABLE_PLAYGROUND
              value: 'true'
            - name: PROJECT_ID
              value: staging-288420
            - name: KEY_FILENAME
              value: mount-storage-sa/staging-walter-backend-storage.json
            - name: FILES_BUCKET_NAME
              value: walter-staging
            - name: SEND_SMS
              value: 'true'
            - name: SEND_EMAIL
              value: 'true'
            - name: SEND_NOTIFICATION
              value: 'true'
            - name: SEND_SLACK
              value: 'true'
            - name: TWILIO_PHONE_NUMBER_SUPPORT
              value: '+14387001558'
            - name: TWILIO_PHONE_NUMBER_NOTIFICATION
              value: '+14388004584'
            - name: REDIS_HOST
              value: walter-redis
            - name: APP_SECRET
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: APP_SECRET
            - name: TWILIO_SID
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: TWILIO_SID
            - name: TWILIO_AUTH_TOKEN
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: TWILIO_AUTH_TOKEN
            - name: CLOUDINARY_API_SECRET
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: CLOUDINARY_API_SECRET
            - name: CLOUDINARY_API_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: CLOUDINARY_API_KEY
            - name: CLOUDINARY_CLOUD_NAME
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: CLOUDINARY_CLOUD_NAME
            - name: STRIPE_API_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: STRIPE_API_KEY
            - name: STRIPE_SECRET_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: STRIPE_SECRET_KEY
            - name: PUSHER_APP_ID
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: PUSHER_APP_ID
            - name: PUSHER_APP_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: PUSHER_APP_KEY
            - name: PUSHER_APP_SECRET
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: PUSHER_APP_SECRET
            - name: PUSHER_APP_CLUSTER
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: PUSHER_APP_CLUSTER
            - name: SENDGRID_API_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: SENDGRID_API_KEY
            - name: SENDBIRD_APP_ID
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: SENDBIRD_APP_ID
            - name: SENDBIRD_API_TOKEN
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: SENDBIRD_API_TOKEN
            - name: ONE_SIGNAL_APP_ID
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ONE_SIGNAL_APP_ID
            - name: ONE_SIGNAL_REST_API_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ONE_SIGNAL_REST_API_KEY
            - name: ONE_SIGNAL_USER_AUTH_KEY
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ONE_SIGNAL_USER_AUTH_KEY
            - name: ADMIN_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ADMIN_PASSWORD
            - name: ADMIN_SECRET
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ADMIN_SECRET
            - name: MANAGER_ADMIN_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: MANAGER_ADMIN_PASSWORD
            - name: ZOOM_TMP_JWT
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ZOOM_TMP_JWT
            - name: ZOOM_TMP_JWT_SENTINEL
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: ZOOM_TMP_JWT_SENTINEL
            - name: DEFAULT_MANAGER_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: api-secrets
                  key: DEFAULT_MANAGER_PASSWORD
      imagePullSecrets:
        - name: api-secrets
      volumes:
        - name: storage-service-account
          secret:
            secretName: walter-backend-storage
---
apiVersion: v1
kind: Service
metadata:
  name: walter-dev
spec:
  type: NodePort
  ports:
    - protocol: TCP
      port: 80
      targetPort: 4000
  selector:
    app: walter-dev
