apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    name: query
  name: query
spec:
  progressDeadlineSeconds: 2147483647
  revisionHistoryLimit: 0
  selector:
    matchLabels:
      name: query
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        name: query
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: type
                operator: In
                values:
                - apps
      containers:
      - args:
        - start
        env:
        - name: PORT
          value: "5000"
        - name: NODE_ENV
          value: staging
        - name: NODE_PATH
          value: app/src
        - name: LOCAL_URL
          value: http://query.default.svc.cluster.local:5000
        - name: GOOGLE_APPLICATION_CREDENTIALS
          value: /opt/query/storage.json
        - name: BUCKET_FREEZE
          value: query-freeze
        - name: CT_URL
          valueFrom:
            secretKeyRef:
              key: CT_URL
              name: mssecrets
        - name: CT_TOKEN
          valueFrom:
            secretKeyRef:
              key: CT_TOKEN
              name: mssecrets
        - name: CT_REGISTER_MODE
          valueFrom:
            secretKeyRef:
              key: CT_REGISTER_MODE
              name: mssecrets
        - name: API_VERSION
          valueFrom:
            secretKeyRef:
              key: API_VERSION
              name: mssecrets
        - name: GCLOUD_STORAGE
          valueFrom:
            secretKeyRef:
              key: GCLOUD_BACKUPS_CREDENTIALS
              name: mssecrets
        - name: FASTLY_ENABLED
          valueFrom:
            secretKeyRef:
              key: FASTLY_ENABLED
              name: mssecrets
        - name: FASTLY_APIKEY
          valueFrom:
            secretKeyRef:
              key: FASTLY_APIKEY
              name: mssecrets
              optional: true
        - name: FASTLY_SERVICEID
          valueFrom:
            secretKeyRef:
              key: FASTLY_SERVICEID
              name: mssecrets
              optional: true
        image: vizzuality/query
        imagePullPolicy: Always
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthcheck
            port: 5000
            scheme: HTTP
          initialDelaySeconds: 30
          periodSeconds: 15
          successThreshold: 1
          timeoutSeconds: 5
        name: query
        ports:
        - containerPort: 5000
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthcheck
            port: 5000
            scheme: HTTP
          initialDelaySeconds: 30
          periodSeconds: 15
          successThreshold: 1
          timeoutSeconds: 5
        resources:
          limits:
            cpu: "1"
            memory: 512M
          requests:
            cpu: 250m
            memory: 256M
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      imagePullSecrets:
        - name: regcred
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
